@alphauspkgs/blue-sdk-ts 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,14 +3,15 @@
3
3
  // @generated from file cover/v1/cover.proto (package blueapi.cover.v1, syntax proto3)
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ActivateUserRequestSchema = exports.InviteMemberResponseSchema = exports.InviteMemberRequestSchema = exports.OnboardOrgResponseSchema = exports.OnboardOrgRequestSchema = exports.GetRecommendationV2ResponseSchema = exports.GetRecommendationV2RequestSchema = exports.VerifyAPIAccessResponseSchema = exports.VerifyAPIAccessRequestSchema = exports.GetExecutionStatusResponseSchema = exports.GetExecutionStatusRequestSchema = exports.GetAICostAndUsageResponse_ResultSchema = exports.GetAICostAndUsageResponse_MetricSchema = exports.GetAICostAndUsageResponse_UsageSchema = exports.GetAICostAndUsageResponse_CostSchema = exports.GetAICostAndUsageResponseSchema = exports.GetAICostAndUsageRequest_GranularitySchema = exports.GetAICostAndUsageRequest_Granularity = exports.GetAICostAndUsageRequest_Filter_OperatorSchema = exports.GetAICostAndUsageRequest_Filter_Operator = exports.GetAICostAndUsageRequest_FilterSchema = exports.GetAICostAndUsageRequestSchema = exports.ContainerCostUsageResponse_GroupedResultSchema = exports.ContainerCostUsageResponse_ResourceHighlightsSchema = exports.ContainerCostUsageResponse_ResourceHighlightSchema = exports.ContainerCostUsageResponse_MetricDataPointSchema = exports.ContainerCostUsageResponse_UsageMetricSchema = exports.ContainerCostUsageResponse_CostMetricSchema = exports.ContainerCostUsageResponseSchema = exports.ContainerCostUsageRequest_ServiceTypeSchema = exports.ContainerCostUsageRequest_ServiceType = exports.ContainerCostUsageRequest_MetricTypeSchema = exports.ContainerCostUsageRequest_MetricType = exports.ContainerCostUsageRequest_TimeGranularitySchema = exports.ContainerCostUsageRequest_TimeGranularity = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperator = exports.ContainerCostUsageRequest_FilterCriteriaSchema = exports.ContainerCostUsageRequestSchema = exports.ResetDemoDataResponseSchema = exports.ResetDemoDataRequestSchema = exports.PopulateDemoDataResponseSchema = exports.PopulateDemoDataRequestSchema = exports.GetCostUsageV2Request_CategorySchema = exports.GetCostUsageV2Request_Category = exports.GetCostUsageV2Request_GranularitySchema = exports.GetCostUsageV2Request_Granularity = exports.GetCostUsageV2RequestSchema = exports.GetCostUsageV2ResponseSchema = exports.file_cover_v1_cover = void 0;
7
- exports.AddFavoriteRequestSchema = exports.PublishViewResponseSchema = exports.PublishViewRequestSchema = exports.GetFavoriteViewsResponseSchema = exports.GetFavoriteViewsRequestSchema = exports.GetCurrentViewResponseSchema = exports.GetCurrentViewRequestSchema = exports.GetViewsResponseSchema = exports.GetViewsRequestSchema = exports.CreateViewResponseSchema = exports.CreateViewRequestSchema = exports.ResetPasswordResponseSchema = exports.ResetPasswordRequestSchema = exports.DeleteMemberResponseSchema = exports.DeleteMemberRequestSchema = exports.UpdateUserAttributesResponseSchema = exports.UpdateUserAttributesRequestSchema = exports.UpdateUserTimezoneResponseSchema = exports.UpdateUserTimezoneRequestSchema = exports.UpdateUserAppThemeResponseSchema = exports.UpdateUserAppThemeRequestSchema = exports.UpdateUserLocaleResponseSchema = exports.UpdateUserLocaleRequestSchema = exports.ResetUserPasswordResponseSchema = exports.ResetUserPasswordRequestSchema = exports.UpdateUserMainViewResponseSchema = exports.UpdateUserMainViewRequestSchema = exports.UpdateUserEmailResponseSchema = exports.UpdateUserEmailRequestSchema = exports.UpdateUserNameResponseSchema = exports.UpdateUserNameRequestSchema = exports.UpdateUserColorThemeResponseSchema = exports.UpdateUserColorThemeRequestSchema = exports.UpdateUserIconResponseSchema = exports.UpdateUserIconRequestSchema = exports.UpdateUserAvatarResponseSchema = exports.UpdateUserAvatarRequestSchema = exports.GetUserDetailsResponseSchema = exports.GetUserDetailsRequestSchema = exports.UpdateMemberPermissionResponseSchema = exports.UpdateMemberPermissionRequestSchema = exports.GetMemberCostGroupResponseSchema = exports.GetMemberCostGroupRequestSchema = exports.GetMemberDetailsResponseSchema = exports.GetMemberDetailsRequestSchema = exports.GetMembersResponseSchema = exports.GetMembersRequestSchema = exports.CreateMemberResponseSchema = exports.CreateMemberRequestSchema = exports.ActivateUserResponseSchema = void 0;
8
- exports.RemoveCostGroupMemberResponseSchema = exports.RemoveCostGroupMemberRequestSchema = exports.AssignCostGroupMemberResponseSchema = exports.AssignCostGroupMemberRequestSchema = exports.UpdateCostGroupCombinationsResponseSchema = exports.UpdateCostGroupCombinationsRequestSchema = exports.UpdateCostGroupColorThemeResponseSchema = exports.UpdateCostGroupColorThemeRequestSchema = exports.UpdateCostGroupIconResponseSchema = exports.UpdateCostGroupIconRequestSchema = exports.UpdateCostGroupImageResponseSchema = exports.UpdateCostGroupImageRequestSchema = exports.UpdateCostGroupDescriptionResponseSchema = exports.UpdateCostGroupDescriptionRequestSchema = exports.UpdateCostGroupNameResponseSchema = exports.UpdateCostGroupNameRequestSchema = exports.GetCostGroupDetailsResponseSchema = exports.GetCostGroupDetailsRequestSchema = exports.GetCostGroupsResponseSchema = exports.GetCostGroupsRequestSchema = exports.CreateCostGroupResponseSchema = exports.CreateCostGroupRequestSchema = exports.RemoveSideMenuFavoriteResponseSchema = exports.RemoveSideMenuFavoriteRequestSchema = exports.AddSideMenuFavoriteResponseSchema = exports.AddSideMenuFavoriteRequestSchema = exports.UpdateSideMenuStateResponseSchema = exports.UpdateSideMenuStateRequestSchema = exports.DeleteViewResponseSchema = exports.DeleteViewRequestSchema = exports.ExchangeRatesSchema = exports.ListExchangeRatesResponseSchema = exports.ListExchangeRatesRequestSchema = exports.GetOrgUpdateCurrencyResponseSchema = exports.GetOrgUpdateCurrencyRequestSchema = exports.SetOrgUpdateCurrencyResponseSchema = exports.SetOrgUpdateCurrencyRequestSchema = exports.UpdateViewCurrencyResponseSchema = exports.UpdateViewCurrencyRequestSchema = exports.UpdateViewColorThemeResponseSchema = exports.UpdateViewColorThemeRequestSchema = exports.UpdateViewWidgetResponseSchema = exports.UpdateViewWidgetRequestSchema = exports.UpdateViewLayoutResponseSchema = exports.UpdateViewLayoutRequestSchema = exports.UpdateViewResponseSchema = exports.UpdateViewRequestSchema = exports.RemoveFavoriteResponseSchema = exports.RemoveFavoriteRequestSchema = exports.AddFavoriteResponseSchema = void 0;
9
- exports.ListFeesRequestSchema = exports.GetTagsResponseSchema = exports.GetTagsRequestSchema = exports.GetRegionsResponseSchema = exports.GetRegionsRequestSchema = exports.GetServicesResponseSchema = exports.GetServicesRequestSchema = exports.GetAccountsResponseSchema = exports.GetAccountsRequestSchema = exports.GetPayersResponseSchema = exports.GetPayersRequestSchema = exports.AssignPayerResponseSchema = exports.AssignPayerRequestSchema = exports.UploadChargeCodeResponseSchema = exports.UploadChargeCodeRequestSchema = exports.TerminateResourceResponseSchema = exports.TerminateResourceRequestSchema = exports.ModifyResourceTypeResponseSchema = exports.ModifyResourceTypeRequestSchema = exports.GetRightSizingRecommendationResponseSchema = exports.GetRightSizingRecommendationRequestSchema = exports.CostItemSchema = exports.ReadCostsRequestOptionsFiltersSchema = exports.GetCostUsageRequestCustomOptionsSchema = exports.GetCostUsageRequestAzureCspOptionsSchema = exports.GetCostUsageRequestGcpOptionsSchema = exports.GetCostUsageRequestAzureOptionsSchema = exports.GetCostUsageRequestAwsOptionsSchema = exports.GetCostUsageRequestSchema = exports.ResolveCostGroupCombinationsResponseSchema = exports.ResolveCostGroupCombinationsRequestSchema = exports.AssetsSummarySchema = exports.GetAssetsSummaryResponseSchema = exports.GetAssetsSummaryRequestSchema = exports.ResourceSchema = exports.ListAssetsFiltersSchema = exports.ListAssetsRequestSchema = exports.RegisterAccountRequestSchema = exports.DeleteAccountAccessResponseSchema = exports.DeleteAccountAccessRequestSchema = exports.UpdateAccountAccessRequestSchema = exports.CreateAccountAccessStacksetRequestSchema = exports.CreateAccountAccessRequestSchema = exports.AccountAccessSchema = exports.GetAccountAccessRequestSchema = exports.ListAccountAccessRequestSchema = exports.GetAccountAccessTemplateUrlResponseSchema = exports.GetAccountAccessTemplateUrlRequestSchema = exports.DeleteCostGroupResponseSchema = exports.DeleteCostGroupRequestSchema = void 0;
10
- exports.DeleteAlertRequestSchema = exports.GetAlertDetailsResponseSchema = exports.GetAlertDetailsRequestSchema = exports.CreateAlertResponseSchema = exports.CreateAlertRequestSchema = exports.GetAlertsResponseSchema = exports.GetAlertsRequestSchema = exports.GetCategoriesResponseSchema = exports.GetCategoriesRequestSchema = exports.GetCostGroupAttributeResponseSchema = exports.GetCostGroupAttributeRequestSchema = exports.AddMpnSettingRequestSchema = exports.AddPartnerCenterCredentialsRequestSchema = exports.GetAndDeleteDataAccessRequestSchema = exports.BillingAccountRequestSchema = exports.UnregisteredAcctsSchema = exports.ListUnregisteredAccountsResponseSchema = exports.ListUnregisteredAccountsRequestSchema = exports.ListDataAccessRequestSchema = exports.UpdateDataAccessRequestSchema = exports.RegisterDataAccessRequestSchema = exports.DataAccessSchema = exports.ProcessAuth0UserResponseSchema = exports.ProcessAuth0UserRequestSchema = exports.AllocationItemSchema = exports.GetCostGroupAllocationRequestSchema = exports.SavingsDetailsSchema = exports.RestoreSavingsRequestSchema = exports.RestoreAccountUsageRequestSchema = exports.ListAccountUsageRequestSchema = exports.AccountUsageDetailsSchema = exports.ProxyCreateCompletionResponseSchema = exports.ProxyCreateCompletionRequestSchema = exports.DeleteAllocatorRequestSchema = exports.GetAllocationSourcesResponse_AllocationSourcesSchema = exports.GetAllocationSourcesResponseSchema = exports.GetAllocationSourcesRequestSchema = exports.GetAllocationAttributesResponse_AllocationAttributeSchema = exports.GetAllocationAttributesResponseSchema = exports.GetAllocationAttributesRequestSchema = exports.CreateAllocatorRequestSchema = exports.ListAllocatorsRequestSchema = exports.CostAllocatorRequestSchema = exports.CostAllocatorDetailsSchema = exports.CriteriaSchema = exports.AllocatorSchema = exports.FeeItemSchema = exports.GetCostGroupFeeRequestSchema = exports.RestoreFeeRequestSchema = exports.FeeDetailsSchema = void 0;
11
- exports.AddInfotoMarketplaceRequestSchema = exports.CreateProfilingResponseSchema = exports.CreateProfilingRequestSchema = exports.GetCustomerSubscriptionStatusResponseSchema = exports.GetCustomerSubscriptionStatusRequestSchema = exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = exports.UpdateBudgetResponseSchema = exports.UpdateBudgetRequestSchema = exports.DeleteBudgetResponseSchema = exports.DeleteBudgetRequestSchema = exports.CreateBudgetResponseSchema = exports.CreateBudgetRequestSchema = exports.GetBudgetResponseSchema = exports.GetBudgetRequestSchema = exports.ListBudgetsResponseSchema = exports.ListBudgetsRequestSchema = exports.UpdateUserProfileResponseSchema = exports.UpdateUserProfileRequestSchema = exports.GetUserProfileResponseSchema = exports.GetUserProfileRequestSchema = exports.RegisterNewUserResponseSchema = exports.RegisterNewUserRequestSchema = exports.UpdateAnomalyAlertRequestSchema = exports.ListAnomalyAlertRequestSchema = exports.AnomalyAlertDataSchema = exports.ManipulateAnomalyAlertRequestSchema = exports.CreateAnomalyAlertRequestSchema = exports.ListDiscountExpirationAlertRequestSchema = exports.DiscountExpiryAlertDataSchema = exports.UpdateDiscountExpirationAlertRequestSchema = exports.ManipulateDiscountExpirationAlertRequestSchema = exports.CreateDiscountExpirationAlertRequestSchema = exports.AnomalyDataSchema = exports.GetAnomalyinCostGroupRequestSchema = exports.GetDiscountRecommendationsResponseSchema = exports.GetDiscountRecommendationsRequestSchema = exports.UpdateChannelDetailsResponseSchema = exports.UpdateChannelDetailsRequestSchema = exports.DeleteChannelResponseSchema = exports.DeleteChannelRequestSchema = exports.GetChannelDetailsResponseSchema = exports.GetChannelDetailsRequestSchema = exports.CreateChannelResponseSchema = exports.CreateChannelRequestSchema = exports.GetChannelsResponseSchema = exports.GetChannelsRequestSchema = exports.UpdateAlertDetailsResponseSchema = exports.UpdateAlertDetailsRequestSchema = exports.DeleteAlertResponseSchema = void 0;
12
- exports.CreateUnitFromSuggestedRequestSchema = exports.MergeSuggestedUnitsResponseSchema = exports.MergeSuggestedUnitsRequestSchema = exports.ListSuggestedUnitsResponseSchema = exports.ListSuggestedUnitsRequestSchema = exports.MergeUnitsResponseSchema = exports.MergeUnitsRequestSchema = exports.DeleteUnitTypeResponseSchema = exports.DeleteUnitTypeRequestSchema = exports.UpdateUnitTypeResponseSchema = exports.UpdateUnitTypeRequestSchema = exports.GetUnitTypeResponseSchema = exports.GetUnitTypeRequestSchema = exports.CreateUnitTypeResponseSchema = exports.CreateUnitTypeRequestSchema = exports.ListUnitTypesResponseSchema = exports.ListUnitTypesRequestSchema = exports.UpdateCostGroupCreationUIResponseSchema = exports.UpdateCostGroupCreationUIRequestSchema = exports.TransferOrganizationResponseSchema = exports.TransferOrganizationRequestSchema = exports.GetOrgFiscalMonthResponseSchema = exports.GetOrgFiscalMonthRequestSchema = exports.SetOrgFiscalMonthResponseSchema = exports.SetOrgFiscalMonthRequestSchema = exports.SetCostGroupAnomalyOptionsResponseSchema = exports.SetCostGroupAnomalyOptionsRequestSchema = exports.SetCostGroupEventIndicatorResponseSchema = exports.SetCostGroupEventIndicatorRequestSchema = exports.OptimizationHistoryResponseSchema = exports.OptimizationHistoryRequestSchema = exports.UndoExecutedRecommendationResponseSchema = exports.UndoExecutedRecommendationRequestSchema = exports.MarkAsExecutedResponseSchema = exports.MarkAsExecutedRequestSchema = exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = exports.ExecuteOptimizationResponse_GCPOptionSchema = exports.ExecuteOptimizationResponse_AWSOptionSchema = exports.ExecuteOptimizationResponseSchema = exports.ExecuteOptimizationRequestSchema = exports.GetRecommendationResponseSchema = exports.GetRecommendationRequestSchema = exports.ListRecommendationResponse_PurchaseOptionSchema = exports.ListRecommendationResponseSchema = exports.ListRecommendationV2Request_RateSettingsSchema = exports.ListRecommendationV2RequestSchema = exports.ListRecommendationRequestSchema = exports.GetReportSummaryResponseSchema = exports.GetReportSummaryRequestSchema = exports.AddInfotoMarketplaceResponseSchema = void 0;
13
- exports.Cover = exports.StatusSchema = exports.Status = exports.ListNonperformingRateResponse_NonperformingSchema = exports.ListNonperformingRateResponseSchema = exports.ListNonperformingRateRequestSchema = exports.GetDiscountPlanResponseSchema = exports.GetDiscountPlanRequestSchema = exports.GetCloudwatchMetadataResponse_DimensionSchema = exports.GetCloudwatchMetadataResponseSchema = exports.GetCloudwatchMetadataRequestSchema = exports.ConfirmGoogleSheetAccessResponseSchema = exports.ConfirmGoogleSheetAccessRequestSchema = exports.PreviewGoogleSheetResponseSchema = exports.PreviewGoogleSheetRequestSchema = exports.DeleteUnitMetricResponseSchema = exports.DeleteUnitMetricRequestSchema = exports.UpdateUnitMetricResponseSchema = exports.UpdateUnitMetricRequestSchema = exports.GetUnitMetricResponseSchema = exports.GetUnitMetricRequestSchema = exports.CreateUnitMetricResponseSchema = exports.CreateUnitMetricRequestSchema = exports.ListUnitMetricsResponseSchema = exports.ListUnitMetricsRequestSchema = exports.DeleteSharedResourcesResponseSchema = exports.DeleteSharedResourcesRequestSchema = exports.UpdateSharedResourcesResponseSchema = exports.UpdateSharedResourcesRequestSchema = exports.GetSharedResourcesResponseSchema = exports.GetSharedResourcesRequestSchema = exports.CreateSharedResourcesResponseSchema = exports.CreateSharedResourcesRequestSchema = exports.ListSharedResourcesResponseSchema = exports.ListSharedResourcesRequestSchema = exports.CreateUnitFromSuggestedResponseSchema = void 0;
6
+ exports.GetAICostAndUsageResponse_CostSchema = exports.GetAICostAndUsageResponseSchema = exports.GetAICostAndUsageRequest_GranularitySchema = exports.GetAICostAndUsageRequest_Granularity = exports.GetAICostAndUsageRequest_Filter_OperatorSchema = exports.GetAICostAndUsageRequest_Filter_Operator = exports.GetAICostAndUsageRequest_FilterSchema = exports.GetAICostAndUsageRequestSchema = exports.ContainerCostUsageResponse_GroupedResultSchema = exports.ContainerCostUsageResponse_ResourceHighlightsSchema = exports.ContainerCostUsageResponse_ResourceHighlightSchema = exports.ContainerCostUsageResponse_MetricDataPointSchema = exports.ContainerCostUsageResponse_UsageMetricSchema = exports.ContainerCostUsageResponse_CostMetricSchema = exports.ContainerCostUsageResponseSchema = exports.ContainerCostUsageRequest_ServiceTypeSchema = exports.ContainerCostUsageRequest_ServiceType = exports.ContainerCostUsageRequest_MetricTypeSchema = exports.ContainerCostUsageRequest_MetricType = exports.ContainerCostUsageRequest_TimeGranularitySchema = exports.ContainerCostUsageRequest_TimeGranularity = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperator = exports.ContainerCostUsageRequest_FilterCriteriaSchema = exports.ContainerCostUsageRequestSchema = exports.ResetDemoDataResponseSchema = exports.ResetDemoDataRequestSchema = exports.PopulateDemoDataResponseSchema = exports.PopulateDemoDataRequestSchema = exports.GetCostUsageV2Request_CategorySchema = exports.GetCostUsageV2Request_Category = exports.GetCostUsageV2Request_GranularitySchema = exports.GetCostUsageV2Request_Granularity = exports.GetCostUsageV2RequestSchema = exports.GetCostUsageV2ResponseSchema = exports.DeleteCostForecastResponseSchema = exports.DeleteCostForecastRequestSchema = exports.UpdateCostForecastResponseSchema = exports.UpdateCostForecastRequestSchema = exports.GetCostForecastResponseSchema = exports.GetCostForecastRequestSchema = exports.CreateCostForecastResponseSchema = exports.CreateCostForecastRequestSchema = exports.ListForecastsResponseSchema = exports.ListForecastsRequestSchema = exports.GetCostForecastsDataResponseSchema = exports.GetCostForecastsDataRequest_GranularitySchema = exports.GetCostForecastsDataRequest_Granularity = exports.GetCostForecastsDataRequestSchema = exports.file_cover_v1_cover = void 0;
7
+ exports.DeleteMemberRequestSchema = exports.UpdateUserAttributesResponseSchema = exports.UpdateUserAttributesRequestSchema = exports.UpdateUserTimezoneResponseSchema = exports.UpdateUserTimezoneRequestSchema = exports.UpdateUserAppThemeResponseSchema = exports.UpdateUserAppThemeRequestSchema = exports.UpdateUserLocaleResponseSchema = exports.UpdateUserLocaleRequestSchema = exports.ResetUserPasswordResponseSchema = exports.ResetUserPasswordRequestSchema = exports.UpdateUserMainViewResponseSchema = exports.UpdateUserMainViewRequestSchema = exports.UpdateUserEmailResponseSchema = exports.UpdateUserEmailRequestSchema = exports.UpdateUserNameResponseSchema = exports.UpdateUserNameRequestSchema = exports.UpdateUserColorThemeResponseSchema = exports.UpdateUserColorThemeRequestSchema = exports.UpdateUserIconResponseSchema = exports.UpdateUserIconRequestSchema = exports.UpdateUserAvatarResponseSchema = exports.UpdateUserAvatarRequestSchema = exports.GetUserDetailsResponseSchema = exports.GetUserDetailsRequestSchema = exports.UpdateMemberPermissionResponseSchema = exports.UpdateMemberPermissionRequestSchema = exports.GetMemberCostGroupResponseSchema = exports.GetMemberCostGroupRequestSchema = exports.GetMemberDetailsResponseSchema = exports.GetMemberDetailsRequestSchema = exports.GetMembersResponseSchema = exports.GetMembersRequestSchema = exports.CreateMemberResponseSchema = exports.CreateMemberRequestSchema = exports.ActivateUserResponseSchema = exports.ActivateUserRequestSchema = exports.InviteMemberResponseSchema = exports.InviteMemberRequestSchema = exports.OnboardOrgResponseSchema = exports.OnboardOrgRequestSchema = exports.GetRecommendationV2ResponseSchema = exports.GetRecommendationV2RequestSchema = exports.VerifyAPIAccessResponseSchema = exports.VerifyAPIAccessRequestSchema = exports.GetExecutionStatusResponseSchema = exports.GetExecutionStatusRequestSchema = exports.GetAICostAndUsageResponse_ResultSchema = exports.GetAICostAndUsageResponse_MetricSchema = exports.GetAICostAndUsageResponse_UsageSchema = void 0;
8
+ exports.UpdateCostGroupNameResponseSchema = exports.UpdateCostGroupNameRequestSchema = exports.GetCostGroupDetailsResponseSchema = exports.GetCostGroupDetailsRequestSchema = exports.GetCostGroupsResponseSchema = exports.GetCostGroupsRequestSchema = exports.CreateCostGroupResponseSchema = exports.CreateCostGroupRequestSchema = exports.RemoveSideMenuFavoriteResponseSchema = exports.RemoveSideMenuFavoriteRequestSchema = exports.AddSideMenuFavoriteResponseSchema = exports.AddSideMenuFavoriteRequestSchema = exports.UpdateSideMenuStateResponseSchema = exports.UpdateSideMenuStateRequestSchema = exports.DeleteViewResponseSchema = exports.DeleteViewRequestSchema = exports.ExchangeRatesSchema = exports.ListExchangeRatesResponseSchema = exports.ListExchangeRatesRequestSchema = exports.GetOrgUpdateCurrencyResponseSchema = exports.GetOrgUpdateCurrencyRequestSchema = exports.SetOrgUpdateCurrencyResponseSchema = exports.SetOrgUpdateCurrencyRequestSchema = exports.UpdateViewCurrencyResponseSchema = exports.UpdateViewCurrencyRequestSchema = exports.UpdateViewColorThemeResponseSchema = exports.UpdateViewColorThemeRequestSchema = exports.UpdateViewWidgetResponseSchema = exports.UpdateViewWidgetRequestSchema = exports.UpdateViewLayoutResponseSchema = exports.UpdateViewLayoutRequestSchema = exports.UpdateViewResponseSchema = exports.UpdateViewRequestSchema = exports.RemoveFavoriteResponseSchema = exports.RemoveFavoriteRequestSchema = exports.AddFavoriteResponseSchema = exports.AddFavoriteRequestSchema = exports.PublishViewResponseSchema = exports.PublishViewRequestSchema = exports.GetFavoriteViewsResponseSchema = exports.GetFavoriteViewsRequestSchema = exports.GetCurrentViewResponseSchema = exports.GetCurrentViewRequestSchema = exports.GetViewsResponseSchema = exports.GetViewsRequestSchema = exports.CreateViewResponseSchema = exports.CreateViewRequestSchema = exports.ResetPasswordResponseSchema = exports.ResetPasswordRequestSchema = exports.DeleteMemberResponseSchema = void 0;
9
+ exports.UploadChargeCodeRequestSchema = exports.TerminateResourceResponseSchema = exports.TerminateResourceRequestSchema = exports.ModifyResourceTypeResponseSchema = exports.ModifyResourceTypeRequestSchema = exports.GetRightSizingRecommendationResponseSchema = exports.GetRightSizingRecommendationRequestSchema = exports.CostItemSchema = exports.ReadCostsRequestOptionsFiltersSchema = exports.GetCostUsageRequestCustomOptionsSchema = exports.GetCostUsageRequestAzureCspOptionsSchema = exports.GetCostUsageRequestGcpOptionsSchema = exports.GetCostUsageRequestAzureOptionsSchema = exports.GetCostUsageRequestAwsOptionsSchema = exports.GetCostUsageRequestSchema = exports.ResolveCostGroupCombinationsResponseSchema = exports.ResolveCostGroupCombinationsRequestSchema = exports.AssetsSummarySchema = exports.GetAssetsSummaryResponseSchema = exports.GetAssetsSummaryRequestSchema = exports.ResourceSchema = exports.ListAssetsFiltersSchema = exports.ListAssetsRequestSchema = exports.RegisterAccountRequestSchema = exports.DeleteAccountAccessResponseSchema = exports.DeleteAccountAccessRequestSchema = exports.UpdateAccountAccessRequestSchema = exports.CreateAccountAccessStacksetRequestSchema = exports.CreateAccountAccessRequestSchema = exports.AccountAccessSchema = exports.GetAccountAccessRequestSchema = exports.ListAccountAccessRequestSchema = exports.GetAccountAccessTemplateUrlResponseSchema = exports.GetAccountAccessTemplateUrlRequestSchema = exports.DeleteCostGroupResponseSchema = exports.DeleteCostGroupRequestSchema = exports.RemoveCostGroupMemberResponseSchema = exports.RemoveCostGroupMemberRequestSchema = exports.AssignCostGroupMemberResponseSchema = exports.AssignCostGroupMemberRequestSchema = exports.UpdateCostGroupCombinationsResponseSchema = exports.UpdateCostGroupCombinationsRequestSchema = exports.UpdateCostGroupColorThemeResponseSchema = exports.UpdateCostGroupColorThemeRequestSchema = exports.UpdateCostGroupIconResponseSchema = exports.UpdateCostGroupIconRequestSchema = exports.UpdateCostGroupImageResponseSchema = exports.UpdateCostGroupImageRequestSchema = exports.UpdateCostGroupDescriptionResponseSchema = exports.UpdateCostGroupDescriptionRequestSchema = void 0;
10
+ exports.BillingAccountRequestSchema = exports.UnregisteredAcctsSchema = exports.ListUnregisteredAccountsResponseSchema = exports.ListUnregisteredAccountsRequestSchema = exports.ListDataAccessRequestSchema = exports.UpdateDataAccessRequestSchema = exports.RegisterDataAccessRequestSchema = exports.DataAccessSchema = exports.ProcessAuth0UserResponseSchema = exports.ProcessAuth0UserRequestSchema = exports.AllocationItemSchema = exports.GetCostGroupAllocationRequestSchema = exports.SavingsDetailsSchema = exports.RestoreSavingsRequestSchema = exports.RestoreAccountUsageRequestSchema = exports.ListAccountUsageRequestSchema = exports.AccountUsageDetailsSchema = exports.ProxyCreateCompletionResponseSchema = exports.ProxyCreateCompletionRequestSchema = exports.DeleteAllocatorRequestSchema = exports.GetAllocationSourcesResponse_AllocationSourcesSchema = exports.GetAllocationSourcesResponseSchema = exports.GetAllocationSourcesRequestSchema = exports.GetAllocationAttributesResponse_AllocationAttributeSchema = exports.GetAllocationAttributesResponseSchema = exports.GetAllocationAttributesRequestSchema = exports.CreateAllocatorRequestSchema = exports.ListAllocatorsRequestSchema = exports.CostAllocatorRequestSchema = exports.CostAllocatorDetailsSchema = exports.CriteriaSchema = exports.AllocatorSchema = exports.FeeItemSchema = exports.GetCostGroupFeeRequestSchema = exports.RestoreFeeRequestSchema = exports.FeeDetailsSchema = exports.ListFeesRequestSchema = exports.GetTagsResponseSchema = exports.GetTagsRequestSchema = exports.GetRegionsResponseSchema = exports.GetRegionsRequestSchema = exports.GetServicesResponseSchema = exports.GetServicesRequestSchema = exports.GetAccountsResponseSchema = exports.GetAccountsRequestSchema = exports.GetPayersResponseSchema = exports.GetPayersRequestSchema = exports.AssignPayerResponseSchema = exports.AssignPayerRequestSchema = exports.UploadChargeCodeResponseSchema = void 0;
11
+ exports.GetBudgetRequestSchema = exports.ListBudgetsResponseSchema = exports.ListBudgetsRequestSchema = exports.UpdateUserProfileResponseSchema = exports.UpdateUserProfileRequestSchema = exports.GetUserProfileResponseSchema = exports.GetUserProfileRequestSchema = exports.RegisterNewUserResponseSchema = exports.RegisterNewUserRequestSchema = exports.UpdateAnomalyAlertRequestSchema = exports.ListAnomalyAlertRequestSchema = exports.AnomalyAlertDataSchema = exports.ManipulateAnomalyAlertRequestSchema = exports.CreateAnomalyAlertRequestSchema = exports.ListDiscountExpirationAlertRequestSchema = exports.DiscountExpiryAlertDataSchema = exports.UpdateDiscountExpirationAlertRequestSchema = exports.ManipulateDiscountExpirationAlertRequestSchema = exports.CreateDiscountExpirationAlertRequestSchema = exports.AnomalyDataSchema = exports.GetAnomalyinCostGroupRequestSchema = exports.GetDiscountRecommendationsResponseSchema = exports.GetDiscountRecommendationsRequestSchema = exports.UpdateChannelDetailsResponseSchema = exports.UpdateChannelDetailsRequestSchema = exports.DeleteChannelResponseSchema = exports.DeleteChannelRequestSchema = exports.GetChannelDetailsResponseSchema = exports.GetChannelDetailsRequestSchema = exports.CreateChannelResponseSchema = exports.CreateChannelRequestSchema = exports.GetChannelsResponseSchema = exports.GetChannelsRequestSchema = exports.UpdateAlertDetailsResponseSchema = exports.UpdateAlertDetailsRequestSchema = exports.DeleteAlertResponseSchema = exports.DeleteAlertRequestSchema = exports.GetAlertDetailsResponseSchema = exports.GetAlertDetailsRequestSchema = exports.CreateAlertResponseSchema = exports.CreateAlertRequestSchema = exports.GetAlertsResponseSchema = exports.GetAlertsRequestSchema = exports.GetCategoriesResponseSchema = exports.GetCategoriesRequestSchema = exports.GetCostGroupAttributeResponseSchema = exports.GetCostGroupAttributeRequestSchema = exports.AddMpnSettingRequestSchema = exports.AddPartnerCenterCredentialsRequestSchema = exports.GetAndDeleteDataAccessRequestSchema = void 0;
12
+ exports.CreateUnitTypeRequestSchema = exports.ListUnitTypesResponseSchema = exports.ListUnitTypesRequestSchema = exports.UpdateCostGroupCreationUIResponseSchema = exports.UpdateCostGroupCreationUIRequestSchema = exports.TransferOrganizationResponseSchema = exports.TransferOrganizationRequestSchema = exports.GetOrgFiscalMonthResponseSchema = exports.GetOrgFiscalMonthRequestSchema = exports.SetOrgFiscalMonthResponseSchema = exports.SetOrgFiscalMonthRequestSchema = exports.SetCostGroupAnomalyOptionsResponseSchema = exports.SetCostGroupAnomalyOptionsRequestSchema = exports.SetCostGroupEventIndicatorResponseSchema = exports.SetCostGroupEventIndicatorRequestSchema = exports.OptimizationHistoryResponseSchema = exports.OptimizationHistoryRequestSchema = exports.UndoExecutedRecommendationResponseSchema = exports.UndoExecutedRecommendationRequestSchema = exports.MarkAsExecutedResponseSchema = exports.MarkAsExecutedRequestSchema = exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = exports.ExecuteOptimizationResponse_GCPOptionSchema = exports.ExecuteOptimizationResponse_AWSOptionSchema = exports.ExecuteOptimizationResponseSchema = exports.ExecuteOptimizationRequestSchema = exports.GetRecommendationResponseSchema = exports.GetRecommendationRequestSchema = exports.ListRecommendationResponse_PurchaseOptionSchema = exports.ListRecommendationResponseSchema = exports.ListRecommendationV2Request_RateSettingsSchema = exports.ListRecommendationV2RequestSchema = exports.ListRecommendationRequestSchema = exports.GetReportSummaryResponseSchema = exports.GetReportSummaryRequestSchema = exports.AddInfotoMarketplaceResponseSchema = exports.AddInfotoMarketplaceRequestSchema = exports.CreateProfilingResponseSchema = exports.CreateProfilingRequestSchema = exports.GetCustomerSubscriptionStatusResponseSchema = exports.GetCustomerSubscriptionStatusRequestSchema = exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = exports.UpdateBudgetResponseSchema = exports.UpdateBudgetRequestSchema = exports.DeleteBudgetResponseSchema = exports.DeleteBudgetRequestSchema = exports.CreateBudgetResponseSchema = exports.CreateBudgetRequestSchema = exports.GetBudgetResponseSchema = void 0;
13
+ exports.ListUntaggedResourcesResponse_UntaggedResourcesSchema = exports.ListUntaggedResourcesResponseSchema = exports.ListUntaggedResourcesRequestSchema = exports.ListNonperformingRateResponse_NonperformingSchema = exports.ListNonperformingRateResponseSchema = exports.ListNonperformingRateRequestSchema = exports.GetDiscountPlanResponseSchema = exports.GetDiscountPlanRequestSchema = exports.GetCloudwatchMetadataResponse_DimensionSchema = exports.GetCloudwatchMetadataResponseSchema = exports.GetCloudwatchMetadataRequestSchema = exports.ConfirmGoogleSheetAccessResponseSchema = exports.ConfirmGoogleSheetAccessRequestSchema = exports.PreviewGoogleSheetResponseSchema = exports.PreviewGoogleSheetRequestSchema = exports.DeleteUnitMetricResponseSchema = exports.DeleteUnitMetricRequestSchema = exports.UpdateUnitMetricResponseSchema = exports.UpdateUnitMetricRequestSchema = exports.GetUnitMetricResponseSchema = exports.GetUnitMetricRequestSchema = exports.CreateUnitMetricResponseSchema = exports.CreateUnitMetricRequestSchema = exports.ListUnitMetricsResponseSchema = exports.ListUnitMetricsRequestSchema = exports.DeleteSharedResourcesResponseSchema = exports.DeleteSharedResourcesRequestSchema = exports.UpdateSharedResourcesResponseSchema = exports.UpdateSharedResourcesRequestSchema = exports.GetSharedResourcesResponseSchema = exports.GetSharedResourcesRequestSchema = exports.CreateSharedResourcesResponseSchema = exports.CreateSharedResourcesRequestSchema = exports.ListSharedResourcesResponseSchema = exports.ListSharedResourcesRequestSchema = exports.CreateUnitFromSuggestedResponseSchema = exports.CreateUnitFromSuggestedRequestSchema = exports.MergeSuggestedUnitsResponseSchema = exports.MergeSuggestedUnitsRequestSchema = exports.ListSuggestedUnitsResponseSchema = exports.ListSuggestedUnitsRequestSchema = exports.MergeUnitsResponseSchema = exports.MergeUnitsRequestSchema = exports.DeleteUnitTypeResponseSchema = exports.DeleteUnitTypeRequestSchema = exports.UpdateUnitTypeResponseSchema = exports.UpdateUnitTypeRequestSchema = exports.GetUnitTypeResponseSchema = exports.GetUnitTypeRequestSchema = exports.CreateUnitTypeResponseSchema = void 0;
14
+ exports.Cover = exports.StatusSchema = exports.Status = void 0;
14
15
  const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
15
16
  const optimizationrecommendation_pb_1 = require("../../api/cover/optimizationrecommendation_pb");
16
17
  const recommendation_pb_1 = require("../../api/cover/recommendation/recommendation_pb");
@@ -34,17 +35,99 @@ const annotations_pb_2 = require("../../protoc-gen-openapiv2/options/annotations
34
35
  /**
35
36
  * Describes the file cover/v1/cover.proto.
36
37
  */
37
- exports.file_cover_v1_cover = (0, codegenv2_1.fileDesc)("ChRjb3Zlci92MS9jb3Zlci5wcm90bxIQYmx1ZWFwaS5jb3Zlci52MSJvChZHZXRDb3N0VXNhZ2VWMlJlc3BvbnNlEg0KBXZhbHVlGAEgASgBEgwKBGRhdGUYAiABKAkSDgoGdmVuZG9yGAMgASgJEigKB2RldGFpbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ir8EChVHZXRDb3N0VXNhZ2VWMlJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnRUaW1lGAIgASgJEg8KB2VuZFRpbWUYAyABKAkSSAoLZ3JhbnVsYXJpdHkYBCABKA4yMy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgFIAMoCRJCCghjYXRlZ29yeRgGIAEoDjIwLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXF1ZXN0LkNhdGVnb3J5EhAKCGN1cnJlbmN5GAcgASgJEjoKCmF3c09wdGlvbnMYCCABKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBBd3NPcHRpb25zEkQKD2F6dXJlY3NwT3B0aW9ucxgJIAEoCzIrLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cEF6dXJlQ3NwT3B0aW9ucxI6CgpnY3BPcHRpb25zGAogASgLMiYuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwR2NwT3B0aW9ucyJCCgtHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIjkKCENhdGVnb3J5EhgKFENhdGVnb3J5X1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAIiGQoXUG9wdWxhdGVEZW1vRGF0YVJlcXVlc3QiGgoYUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhYKFFJlc2V0RGVtb0RhdGFSZXF1ZXN0IhcKFVJlc2V0RGVtb0RhdGFSZXNwb25zZSLfBgoZQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSSgoKbWV0cmljVHlwZRgDIAEoDjI2LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdC5NZXRyaWNUeXBlEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJElAKC2dyYW51bGFyaXR5GAYgASgOMjsuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlRpbWVHcmFudWxhcml0eRIQCghncm91cEJ5cxgHIAMoCRJLCgdmaWx0ZXJzGAggAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LkZpbHRlckNyaXRlcmlhEkwKC3NlcnZpY2VUeXBlGAkgASgOMjcuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlNlcnZpY2VUeXBlGs8BCg5GaWx0ZXJDcml0ZXJpYRILCgNrZXkYASABKAkSWwoIb3BlcmF0b3IYAiABKA4ySS5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuRmlsdGVyQ3JpdGVyaWEuRmlsdGVyT3BlcmF0b3ISDQoFdmFsdWUYAyABKAkiRAoORmlsdGVyT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIJCgVFUVVBTBABEg0KCU5PVF9FUVVBTBACIkYKD1RpbWVHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIloKCk1ldHJpY1R5cGUSFgoSTUVUUklDX1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAISDgoKRUZGSUNJRU5DWRADEg8KC1VOVVNFRF9DT1NUEAQiOAoLU2VydmljZVR5cGUSFwoTU0VSVklDRV9VTlNQRUNJRklFRBAAEgcKA0VDUxABEgcKA0VLUxACItcKChpDb250YWluZXJDb3N0VXNhZ2VSZXNwb25zZRJLCgdyZXN1bHRzGAEgAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0ElMKCmhpZ2hsaWdodHMYAiABKAsyPy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLlJlc291cmNlSGlnaGxpZ2h0cxIRCgl0b3RhbENvc3QYAyABKAESFQoNYXZnRWZmaWNpZW5jeRgEIAEoARpECgpDb3N0TWV0cmljEg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRIUCgx1bnVzZWRBbW91bnQYAyABKAEakAEKC1VzYWdlTWV0cmljEgwKBHVuaXQYASABKAkSFgoOcmVzZXJ2ZWRBbW91bnQYAiABKAESFAoMYWN0dWFsQW1vdW50GAMgASgBEhIKCmVmZmljaWVuY3kYBCABKAESFgoOY3B1VXRpbGl6YXRpb24YBSABKAESGQoRbWVtb3J5VXRpbGl6YXRpb24YBiABKAEawQEKD01ldHJpY0RhdGFQb2ludBIMCgRkYXRlGAEgASgJEkcKBGNvc3QYAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLkNvc3RNZXRyaWNIABJJCgV1c2FnZRgDIAEoCzI4LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuVXNhZ2VNZXRyaWNIAEIMCgptZXRyaWNEYXRhGkwKEVJlc291cmNlSGlnaGxpZ2h0EhIKCnJlc291cmNlSWQYASABKAkSFAoMcmVzb3VyY2VOYW1lGAIgASgJEg0KBXZhbHVlGAMgASgBGoQDChJSZXNvdXJjZUhpZ2hsaWdodHMSWgoSaGlnaGVzdENsdXN0ZXJDb3N0GAEgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBJZChFoaWdoZXN0VW51c2VkQ29zdBgCIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWwoTaGlnaGVzdFdvcmtsb2FkQ29zdBgDIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWgoSaGlnaGVzdENvbXB1dGVDb3N0GAQgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBr6AQoNR3JvdXBlZFJlc3VsdBJeCgphdHRyaWJ1dGVzGAEgAygLMkouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0LkF0dHJpYnV0ZXNFbnRyeRJWChBtZXRyaWNEYXRhUG9pbnRzGAIgAygLMjwuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5NZXRyaWNEYXRhUG9pbnQaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwQKGEdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSSwoLZ3JhbnVsYXJpdHkYBSABKA4yNi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgGIAMoCRJCCgdmaWx0ZXJzGAcgAygLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyGsIBCgZGaWx0ZXISCwoDa2V5GAEgASgJEkwKCG9wZXJhdG9yGAIgASgOMjouYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyLk9wZXJhdG9yEg4KBnZhbHVlcxgDIAMoCRINCgV2YWx1ZRgEIAEoCSI+CghPcGVyYXRvchIYChRPUEVSQVRPUl9VTlNQRUNJRklFRBAAEgkKBUVRVUFMEAESDQoJTk9UX0VRVUFMEAIiQgoLR3JhbnVsYXJpdHkSGwoXR1JBTlVMQVJJVFlfVU5TUEVDSUZJRUQQABIJCgVEQUlMWRABEgsKB01PTlRITFkQAiKnBAoZR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZRJDCgdyZXN1bHRzGAEgAygLMjIuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlJlc3VsdBooCgRDb3N0Eg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRolCgVVc2FnZRIMCgR1bml0GAEgASgJEg4KBmFtb3VudBgCIAEoARqYAQoGTWV0cmljEgwKBGRhdGUYASABKAkSPgoEY29zdBgCIAEoCzIwLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5Db3N0EkAKBXVzYWdlGAMgASgLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlVzYWdlGtgBCgZSZXN1bHQSVgoKYXR0cmlidXRlcxgBIAMoCzJCLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5SZXN1bHQuQXR0cmlidXRlc0VudHJ5EkMKB21ldHJpY3MYAiADKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UuTWV0cmljGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIhsKGUdldEV4ZWN1dGlvblN0YXR1c1JlcXVlc3QiVwoaR2V0RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USGAoQcmVjb21tZW5kYXRpb25JZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSI4ChZWZXJpZnlBUElBY2Nlc3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIOCgZ0YXJnZXQYAiABKAkiKQoXVmVyaWZ5QVBJQWNjZXNzUmVzcG9uc2USDgoGcmVzdWx0GAEgASgIImUKGkdldFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCSJhChtHZXRSZWNvbW1lbmRhdGlvblYyUmVzcG9uc2USQgoEZGF0YRgBIAEoCzI0LmJsdWVhcGkuYXBpLmNvdmVyLnJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uRGF0YSJRChFPbmJvYXJkT3JnUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBW9yZ0lkGAQgASgJIkMKEk9uYm9hcmRPcmdSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIk0KE0ludml0ZU1lbWJlclJlcXVlc3QSDQoFZW1haWwYASADKAkSEAoIaXNSZXNlbmQYAiABKAgSFQoNaW52aXRlQXNBZG1pbhgDIAEoCCIlChRJbnZpdGVNZW1iZXJSZXNwb25zZRINCgVlbWFpbBgBIAMoCSKkAQoTQWN0aXZhdGVVc2VyUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSGAoQcHJldmlvdXNQYXNzd29yZBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBmxvY2FsZRgFIAEoCRINCgVlbWFpbBgGIAEoCRIPCgdpc0F1dGgwGAcgASgIEhMKC2F1dGgwVXNlcklkGAggASgJIkUKFEFjdGl2YXRlVXNlclJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiWAoTQ3JlYXRlTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEhIKCmNvc3Rncm91cHMYBCADKAkiRQoUQ3JlYXRlTWVtYmVyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSITChFHZXRNZW1iZXJzUmVxdWVzdCJDChJHZXRNZW1iZXJzUmVzcG9uc2USLQoIdXNlckRhdGEYASADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIpChdHZXRNZW1iZXJEZXRhaWxzUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiSQoYR2V0TWVtYmVyRGV0YWlsc1Jlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZR2V0TWVtYmVyQ29zdEdyb3VwUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiVAoaR2V0TWVtYmVyQ29zdEdyb3VwUmVzcG9uc2USNgoKY29zdEdyb3VwcxgBIAMoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLk1lbWJlckNvc3RHcm91cCJACh1VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSDwoHaXNBZG1pbhgCIAEoCCJPCh5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIXChVHZXRVc2VyRGV0YWlsc1JlcXVlc3QiRwoWR2V0VXNlckRldGFpbHNSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIikKF1VwZGF0ZVVzZXJBdmF0YXJSZXF1ZXN0Eg4KBmF2YXRhchgBIAEoCSJJChhVcGRhdGVVc2VyQXZhdGFyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChVVcGRhdGVVc2VySWNvblJlcXVlc3QSDAoEaWNvbhgBIAEoCSJHChZVcGRhdGVVc2VySWNvblJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiMQobVXBkYXRlVXNlckNvbG9yVGhlbWVSZXF1ZXN0EhIKCmNvbG9yVGhlbWUYASABKAkiTQocVXBkYXRlVXNlckNvbG9yVGhlbWVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIiUKFVVwZGF0ZVVzZXJOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJIkcKFlVwZGF0ZVVzZXJOYW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSInChZVcGRhdGVVc2VyRW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkgKF1VwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZVXBkYXRlVXNlck1haW5WaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiSwoaVXBkYXRlVXNlck1haW5WaWV3UmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJJChhSZXNldFVzZXJQYXNzd29yZFJlcXVlc3QSGAoQcHJldmlvdXNQYXNzd29yZBgBIAEoCRITCgtuZXdQYXNzd29yZBgCIAEoCSJKChlSZXNldFVzZXJQYXNzd29yZFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKQoXVXBkYXRlVXNlckxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJIkkKGFVwZGF0ZVVzZXJMb2NhbGVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIi0KGVVwZGF0ZVVzZXJBcHBUaGVtZVJlcXVlc3QSEAoIYXBwVGhlbWUYASABKAkiSwoaVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJDChlVcGRhdGVVc2VyVGltZXpvbmVSZXF1ZXN0EhAKCHRpbWVab25lGAEgASgJEhQKDGF1dG9UaW1lWm9uZRgCIAEoCCJLChpVcGRhdGVVc2VyVGltZXpvbmVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIjEKG1VwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBISCgphdHRyaWJ1dGVzGAEgAygJIk0KHFVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChNEZWxldGVNZW1iZXJSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCSImChREZWxldGVNZW1iZXJSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiJgoUUmVzZXRQYXNzd29yZFJlcXVlc3QSDgoGdXNlcklkGAEgASgJIicKFVJlc2V0UGFzc3dvcmRSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiuwEKEUNyZWF0ZVZpZXdSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEQoJaXNQcml2YXRlGAMgASgIEhIKCmlzRWRpdGFibGUYBCABKAgSDAoEaWNvbhgFIAEoCRISCgpyZXBvcnRUeXBlGAYgASgJEhIKCmNvbG9yVGhlbWUYByABKAkSFAoMcmVwb3J0UGVyaW9kGAggASgJEhAKCGN1cnJlbmN5GAkgASgJIkMKEkNyZWF0ZVZpZXdSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIhEKD0dldFZpZXdzUmVxdWVzdCJBChBHZXRWaWV3c1Jlc3BvbnNlEi0KCHZpZXdMaXN0GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0xpc3QiJwoVR2V0Q3VycmVudFZpZXdSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSJHChZHZXRDdXJyZW50Vmlld1Jlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiGQoXR2V0RmF2b3JpdGVWaWV3c1JlcXVlc3QiSwoYR2V0RmF2b3JpdGVWaWV3c1Jlc3BvbnNlEi8KCWZhdm9yaXRlcxgBIAMoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkZhdm9yaXRlcyIkChJQdWJsaXNoVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiIKE1B1Ymxpc2hWaWV3UmVzcG9uc2USCwoDdXJsGAEgASgJIiQKEkFkZEZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiJQoTQWRkRmF2b3JpdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiJwoVUmVtb3ZlRmF2b3JpdGVSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSIoChZSZW1vdmVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSKPAQoRVXBkYXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRIRCglpc1ByaXZhdGUYBSABKAgSEgoKaXNFZGl0YWJsZRgGIAEoCBISCgpjb2xvclRoZW1lGAcgASgJIiQKElVwZGF0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiWAoXVXBkYXRlVmlld0xheW91dFJlcXVlc3QSDgoGdmlld0lkGAEgASgJEi0KBmxheW91dBgCIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLldpZGdldERhdGEiSQoYVXBkYXRlVmlld0xheW91dFJlc3BvbnNlEi0KBmxheW91dBgBIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdMYXlvdXQimgEKF1VwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCRIQCgh3aWRnZXRJZBgCIAEoCRIoCgdvcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCghyZXF1ZXN0cxgEIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkxheW91dFJlcXVlc3RzIl8KGFVwZGF0ZVZpZXdXaWRnZXRSZXNwb25zZRIQCgh3aWRnZXRJZBgBIAEoCRIxCgp3aWRnZXREYXRhGAIgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuV2lkZ2V0RGF0YSJBChtVcGRhdGVWaWV3Q29sb3JUaGVtZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCmNvbG9yVGhlbWUYAiABKAkiTQocVXBkYXRlVmlld0NvbG9yVGhlbWVSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIj0KGVVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhAKCGN1cnJlbmN5GAIgASgJIksKGlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiNQobU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0EhYKDnVwZGF0ZUN1cnJlbmN5GAEgASgDIjYKHFNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USFgoOdXBkYXRlQ3VycmVuY3kYASABKAMiHQobR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0IlkKHEdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USDQoFb3JnSWQYASABKAkSFgoOdXBkYXRlQ3VycmVuY3kYAiABKAMSEgoKbGFzdFVwZGF0ZRgDIAEoCSI+ChhMaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QSEQoJc3RhcnREYXRlGAEgASgJEg8KB2VuZERhdGUYAiABKAkiYgoZTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI2Cg1leGNoYW5nZVJhdGVzGAIgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5FeGNoYW5nZVJhdGVzIkIKDUV4Y2hhbmdlUmF0ZXMSDQoFbW9udGgYASABKAkSFAoMZXhjaGFuZ2VSYXRlGAIgASgCEgwKBGRhdGUYAyABKAkiIwoRRGVsZXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiQKEkRlbGV0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiZQoaVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEjcKDXNpZGVtZW51c3RhdGUYAiADKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5TaWRlTWVudVN0YXRlIi0KG1VwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiQAoaQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCm1lbnVJdGVtSWQYAiABKAkiLQobQWRkU2lkZU1lbnVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJDCh1SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEgoKbWVudUl0ZW1JZBgCIAEoCSIwCh5SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2USDgoGdmlld0lkGAEgASgJItMBChZDcmVhdGVDb3N0R3JvdXBSZXF1ZXN0EgwKBG5hbWUYASABKAkSLgoEdHlwZRgHIAEoDjIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cFR5cGUSEwoLZGVzY3JpcHRpb24YAiABKAkSDQoFaW1hZ2UYAyABKAkSDAoEaWNvbhgEIAEoCRISCgpjb2xvclRoZW1lGAUgASgJEjUKDGNvbWJpbmF0aW9ucxgGIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJSChdDcmVhdGVDb3N0R3JvdXBSZXNwb25zZRI3Cg1jb3N0R3JvdXBEYXRhGAEgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwRGF0YSIWChRHZXRDb3N0R3JvdXBzUmVxdWVzdCJQChVHZXRDb3N0R3JvdXBzUmVzcG9uc2USNwoNY29zdEdyb3VwRGF0YRgBIAMoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cERhdGEiMQoaR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiVgobR2V0Q29zdEdyb3VwRGV0YWlsc1Jlc3BvbnNlEjcKDWNvc3RHcm91cERhdGEYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBEYXRhIj8KGlVwZGF0ZUNvc3RHcm91cE5hbWVSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEgwKBG5hbWUYAiABKAkiKwobVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlEgwKBG5hbWUYASABKAkiTQohVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJIjkKIlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVzcG9uc2USEwoLZGVzY3JpcHRpb24YASABKAkiQQobVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg0KBWltYWdlGAIgASgJIi0KHFVwZGF0ZUNvc3RHcm91cEltYWdlUmVzcG9uc2USDQoFaW1hZ2UYASABKAkiPwoaVXBkYXRlQ29zdEdyb3VwSWNvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDAoEaWNvbhgCIAEoCSIrChtVcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2USDAoEaWNvbhgBIAEoCSJLCiBVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpjb2xvclRoZW1lGAIgASgJIjcKIVVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXNwb25zZRISCgpjb2xvclRoZW1lGAEgASgJInAKIlVwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSNQoMY29tYmluYXRpb25zGAIgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIlwKI1VwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlEjUKDGNvbWJpbmF0aW9ucxgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJDChxBc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnVzZXJJZBgCIAEoCSJECh1Bc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiQwocUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiRAodUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSDgoGdXNlcklkGAIgASgJIi0KFkRlbGV0ZUNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiLgoXRGVsZXRlQ29zdEdyb3VwUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkiMgoiR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsUmVxdWVzdBIMCgR0eXBlGAEgASgJIocBCiNHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXNwb25zZRIRCglsYXVuY2hVcmwYASABKAkSEwoLdGVtcGxhdGVVcmwYAiABKAkSEQoJc3RhY2tOYW1lGAMgASgJEhEKCXByaW5jaXBhbBgEIAEoCRISCgpleHRlcm5hbElkGAUgASgJIhoKGExpc3RBY2NvdW50QWNjZXNzUmVxdWVzdCIpChdHZXRBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAki2gIKDUFjY291bnRBY2Nlc3MSDgoGdGFyZ2V0GAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhMKC2FjY291bnRUeXBlGAMgASgJEg8KB3BheWVySWQYBCABKAkSDwoHcm9sZUFybhgFIAEoCRISCgpleHRlcm5hbElkGAYgASgJEg8KB3N0YWNrSWQYByABKAkSEwoLc3RhY2tSZWdpb24YCCABKAkSEwoLdGVtcGxhdGVVcmwYCSABKAkSEgoKYnVja2V0TmFtZRgKIAEoCRIOCgZwcmVmaXgYCyABKAkSEgoKcmVwb3J0TmFtZRgMIAEoCRJBChJyZWdpc3RyYXRpb25TdGF0dXMYDSABKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5SZWdpc3RyYXRpb25TdGF0dXMSDgoGc3RhdHVzGA4gASgJEhMKC2xhc3RVcGRhdGVkGA8gASgJIkMKGkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIVCg1mcm9tVGVycmFmb3JtGAIgASgIIkQKIkNyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldFJlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnJlZ2lvbhgCIAEoCSIsChpVcGRhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkiPAoaRGVsZXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnZlbmRvchgCIAEoCSIvChtEZWxldGVBY2NvdW50QWNjZXNzUmVzcG9uc2USEAoIdGFyZ2V0SWQYASABKAkiUAoWUmVnaXN0ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhMKC2FjY291bnROYW1lGAMgASgJIuYBChFMaXN0QXNzZXRzUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpzdGFydE1vbnRoGAIgASgJEhAKCGVuZE1vbnRoGAMgASgJEhoKEndpdGhSZWNvbW1lbmRhdGlvbhgEIAEoCBI3Cgphd3NPcHRpb25zGAUgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycxJBChRhd3NQcm9wZXJ0aWVzT3B0aW9ucxgGIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMijwEKEUxpc3RBc3NldHNGaWx0ZXJzEkcKCmFuZEZpbHRlcnMYASADKAsyMy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK9AQoIUmVzb3VyY2USDAoEZGF0ZRgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIPCgdzZXJ2aWNlGAUgASgJEhIKCnJlc291cmNlSWQYBiABKAkSFAoMcmVzb3VyY2VUeXBlGAcgASgJEgwKBGNvc3QYCCABKAESEgoKcHJvcGVydGllcxgJIAEoCRIWCg5yZWNvbW1lbmRhdGlvbhgKIAEoCSLmAQoXR2V0QXNzZXRzU3VtbWFyeVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEgoKc3RhcnRNb250aBgCIAEoCRIQCghlbmRNb250aBgDIAEoCRIUCgxjb21iaW5lRGF0ZXMYBCABKAgSNwoKYXdzT3B0aW9ucxgFIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMSQQoUYXdzUHJvcGVydGllc09wdGlvbnMYBiADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzImsKGEdldEFzc2V0c1N1bW1hcnlSZXNwb25zZRIwCgdzdW1tYXJ5GAEgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5Bc3NldHNTdW1tYXJ5Eh0KFXJlY29tbWVuZGF0aW9uU3VtbWFyeRgCIAEoCSJYCg1Bc3NldHNTdW1tYXJ5EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhYKDnRvdGFsUmVzb3VyY2VzGAMgASgDEhEKCXRvdGFsQ29zdBgEIAEoASI6CiNSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCSJpCiRSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSLAoIYWNjb3VudHMYAiADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5BY2NvdW50IscEChNHZXRDb3N0VXNhZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0VGltZRgCIAEoCRIPCgdlbmRUaW1lGAMgASgJEhQKDGdyb3VwQnlNb250aBgEIAEoCBINCgVsaW1pdBgFIAEoAxIQCghjYXRlZ29yeRgGIAEoCRIPCgdncm91cEJ5GAcgASgJEhcKD2luY2x1ZGVaZXJvQ29zdBgIIAEoCBJDCgphd3NPcHRpb25zGAkgASgLMi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXdzT3B0aW9ucxJHCgxhenVyZU9wdGlvbnMYCiABKAsyMS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RBenVyZU9wdGlvbnMSQwoKZ2NwT3B0aW9ucxgLIAEoCzIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEdjcE9wdGlvbnMSTQoPYXp1cmVjc3BPcHRpb25zGAwgASgLMjQuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVDc3BPcHRpb25zEkkKDWN1c3RvbU9wdGlvbnMYDSABKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RDdXN0b21PcHRpb25zEhcKD2luY2x1ZGVGb3JlY2FzdBgOIAEoCBIQCghjdXJyZW5jeRgPIAEoCSLnAQodR2V0Q29zdFVzYWdlUmVxdWVzdEF3c09wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEg4KBnRhZ0tleRgFIAEoCSLZAQofR2V0Q29zdFVzYWdlUmVxdWVzdEF6dXJlT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMi/gIKHUdldENvc3RVc2FnZVJlcXVlc3RHY3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJGCgxsYWJlbEZpbHRlcnMYBSADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJNChNwcm9qZWN0TGFiZWxGaWx0ZXJzGAYgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAcgASgJIuwBCiJHZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVDc3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxIOCgZ0YWdLZXkYBSABKAkigQMKIEdldENvc3RVc2FnZVJlcXVlc3RDdXN0b21PcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJGCgxsYWJlbEZpbHRlcnMYBSADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJNChNwcm9qZWN0TGFiZWxGaWx0ZXJzGAYgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAcgASgJIqkBCh5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSVAoKYW5kRmlsdGVycxgBIAMoCzJALmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL2AwoIQ29zdEl0ZW0SDgoGdmVuZG9yGAEgASgJEgwKBGRhdGUYAiABKAkSDwoHcHJvZHVjdBgDIAEoCRIPCgdhY2NvdW50GAQgASgJEhEKCXVzYWdlVHlwZRgQIAEoCRISCgpjaGFyZ2VUeXBlGBEgASgJEgwKBGNvc3QYBSABKAESDwoHZGV0YWlscxgGIAEoCRI0Cghmb3JlY2FzdBgHIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Nvc3RGb3JlY2FzdBIOCgZyZWdpb24YCCABKAkSFgoOYmlsbGluZ0FjY291bnQYCSABKAkSEAoIdGFnVmFsdWUYCiABKAkSEgoKbGFzdFVwZGF0ZRgLIAEoCRIMCgR1bml0GAwgASgJEhAKCGNhdGVnb3J5GA0gASgJEg4KBnRhZ2dlZBgOIAEoCBIVCg1udW1iZXJPZlVuaXRzGBIgASgBEkYKDnVuaXRjb3N0bWV0cmljGA8gAygLMi4uYmx1ZWFwaS5jb3Zlci52MS5Db3N0SXRlbS5Vbml0Y29zdG1ldHJpY0VudHJ5EhoKEmFsbG9jYXRpb25DYXRlZ29yeRgTIAEoCRo1ChNVbml0Y29zdG1ldHJpY0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiOgojR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiWQokR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlc3BvbnNlEjEKCHJlc291cmNlGAEgAygLMh8uYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VEYXRhIngKGU1vZGlmeVJlc291cmNlVHlwZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRISCgpyZXNvdXJjZUlkGAMgASgJEhQKDHJlc291cmNlVHlwZRgEIAEoCRIOCgZyZWdpb24YBSABKAkiaQoaTW9kaWZ5UmVzb3VyY2VUeXBlUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSFAoMcmVzb3VyY2VUeXBlGAMgASgJEg4KBnJlZ2lvbhgEIAEoCSJhChhUZXJtaW5hdGVSZXNvdXJjZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRISCgpyZXNvdXJjZUlkGAMgASgJEg4KBnJlZ2lvbhgEIAEoCSJSChlUZXJtaW5hdGVSZXNvdXJjZVJlc3BvbnNlEhEKCWFjY291bnRJZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEg4KBnJlZ2lvbhgDIAEoCSJDChdVcGxvYWRDaGFyZ2VDb2RlUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSDAoEZmlsZRgDIAEoDCJSChhVcGxvYWRDaGFyZ2VDb2RlUmVzcG9uc2USDAoEbmFtZRgBIAEoCRIoCgZzdGF0dXMYAiABKA4yGC5ibHVlYXBpLmNvdmVyLnYxLlN0YXR1cyJIChJBc3NpZ25QYXllclJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIPCgdwYXllcklkGAMgASgJIjkKE0Fzc2lnblBheWVyUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEg8KB3BheWVySWQYAiABKAkiIgoQR2V0UGF5ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiIwoRR2V0UGF5ZXJzUmVzcG9uc2USDgoGcGF5ZXJzGAEgAygJIjkKEkdldEFjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkiJwoTR2V0QWNjb3VudHNSZXNwb25zZRIQCghhY2NvdW50cxgBIAMoCSI5ChJHZXRTZXJ2aWNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIicKE0dldFNlcnZpY2VzUmVzcG9uc2USEAoIc2VydmljZXMYASADKAkiOAoRR2V0UmVnaW9uc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIiUKEkdldFJlZ2lvbnNSZXNwb25zZRIPCgdyZWdpb25zGAEgAygJIjUKDkdldFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCSI+Cg9HZXRUYWdzUmVzcG9uc2USKwoHdGFnRGF0YRgBIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlRhZ0RhdGEiIAoPTGlzdEZlZXNSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJIu0CCgpGZWVEZXRhaWxzEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdhY2NvdW50GAQgASgJEg0KBW1vbnRoGAUgASgJEhAKCGxpbmVUeXBlGAYgASgJEg8KB2ZlZVR5cGUYByABKAkSEwoLcHJvZHVjdENvZGUYCCABKAkSEwoLZGVzY3JpcHRpb24YCSABKAkSDwoHc3RhcnRlZBgKIAEoCRIUCgx0aW1lSW50ZXJ2YWwYCyABKAkSEwoLcHJvZHVjdE5hbWUYDCABKAkSEAoIY3VycmVuY3kYDSABKAkSEwoLc3BsaXRTdGF0dXMYDiABKAkSEwoLaXNBbGxvY2F0ZWQYDyABKAgSEQoJaXNBcHBsaWVkGBAgASgIEhUKDXVuYmxlbmRlZENvc3QYESABKAESEQoJc291cmNlRmVlGBIgASgJEhIKCmxhc3RVcGRhdGUYEyABKAkiIgoRUmVzdG9yZUZlZVJlcXVlc3QSDQoFZmVlSWQYASABKAkiUQoWR2V0Q29zdEdyb3VwRmVlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCSJmCgdGZWVJdGVtEg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEdHlwZRgFIAEoCRIMCgRjb3N0GAYgASgBIkkKCUFsbG9jYXRvchIMCgR0eXBlGAEgASgJEg0KBXZhbHVlGAIgASgJEg8KB2Zvcm11bGEYAyABKAkSDgoGbW9udGhzGAQgASgDImgKCENyaXRlcmlhEjAKA2FuZBgBIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuQ3JpdGVyaWEuQW5kRW50cnkaKgoIQW5kRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKiAgoUQ29zdEFsbG9jYXRvckRldGFpbHMSCgoCaWQYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSEgoKZXhwaXJhdGlvbhgDIAEoAxISCgpzdGFydE1vbnRoGAQgASgJEhYKDmRlZmF1bHRBY2NvdW50GAUgASgJEjEKCGNyaXRlcmlhGAYgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgHIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEhIKCmNyZWF0ZVRpbWUYCCABKAkSEgoKdXBkYXRlVGltZRgJIAEoCRIMCgRuYW1lGAogASgJEhMKC2Rlc2NyaXB0aW9uGAsgASgJIvoBChRDb3N0QWxsb2NhdG9yUmVxdWVzdBIKCgJpZBgBIAEoCRIQCghjYXRlZ29yeRgCIAEoCRISCgpleHBpcmF0aW9uGAMgASgDEhIKCnN0YXJ0TW9udGgYBCABKAkSFgoOZGVmYXVsdEFjY291bnQYBSABKAkSMQoIY3JpdGVyaWEYBiABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSLgoJYWxsb2NhdG9yGAcgAygLMhsuYmx1ZWFwaS5jb3Zlci52MS5BbGxvY2F0b3ISDAoEbmFtZRgIIAEoCRITCgtkZXNjcmlwdGlvbhgJIAEoCSIXChVMaXN0QWxsb2NhdG9yc1JlcXVlc3Qi8AEKFkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkSEgoKZXhwaXJhdGlvbhgCIAEoAxISCgpzdGFydE1vbnRoGAMgASgJEhYKDmRlZmF1bHRBY2NvdW50GAQgASgJEjEKCGNyaXRlcmlhGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgGIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEgwKBG5hbWUYByABKAkSEwoLZGVzY3JpcHRpb24YCCABKAkiMgoeR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXF1ZXN0EhAKCGNhdGVnb3J5GAEgASgJIrEBCh9HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1Jlc3BvbnNlElgKCWF0dHJpYnV0ZRgBIAMoCzJFLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZS5BbGxvY2F0aW9uQXR0cmlidXRlGjQKE0FsbG9jYXRpb25BdHRyaWJ1dGUSDAoEdHlwZRgBIAEoCRIPCgdzZXJ2aWNlGAIgAygJIisKG0dldEFsbG9jYXRpb25Tb3VyY2VzUmVxdWVzdBIMCgR0eXBlGAEgASgJIuEBChxHZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlElAKBnNvdXJjZRgBIAMoCzJALmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXNwb25zZS5BbGxvY2F0aW9uU291cmNlcxpvChFBbGxvY2F0aW9uU291cmNlcxITCgthY2NvdW50TmFtZRgBIAEoCRIPCgdzZXJ2aWNlGAIgASgJEg8KB3RhZ05hbWUYAyABKAkSEAoIdGFnVmFsdWUYBCABKAkSEQoJY29zdEdyb3VwGAUgASgJIiQKFkRlbGV0ZUFsbG9jYXRvclJlcXVlc3QSCgoCaWQYASABKAkiRwocUHJveHlDcmVhdGVDb21wbGV0aW9uUmVxdWVzdBInCgZwYXJhbXMYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ii0KHVByb3h5Q3JlYXRlQ29tcGxldGlvblJlc3BvbnNlEgwKBGxpbmUYASABKAki1AQKE0FjY291bnRVc2FnZURldGFpbHMSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEZGF0ZRgFIAEoCRITCgtwcm9kdWN0Q29kZRgGIAEoCRITCgtzZXJ2aWNlQ29kZRgHIAEoCRIOCgZyZWdpb24YCCABKAkSDAoEem9uZRgJIAEoCRIRCgl1c2FnZVR5cGUYCiABKAkSFAoMaW5zdGFuY2VUeXBlGAsgASgJEhEKCW9wZXJhdGlvbhgMIAEoCRIRCglpbnZvaWNlSWQYDSABKAkSEwoLZGVzY3JpcHRpb24YDiABKAkSEgoKcmVzb3VyY2VJZBgPIAEoCRIMCgR0YWdzGBAgASgJEhYKDmNvc3RDYXRlZ29yaWVzGBEgASgJEhMKC3VzYWdlQW1vdW50GBIgASgBEhkKEXRydWVVbmJsZW5kZWRDb3N0GBMgASgBEhUKDXVuYmxlbmRlZENvc3QYFCABKAESFQoNZWZmZWN0aXZlQ29zdBgVIAEoARIVCg1hbW9ydGl6ZWRDb3N0GBYgASgBEhoKEnB1YmxpY09uRGVtYW5kQ29zdBgXIAEoARIbChN1bnVzZWRBbW9ydGl6ZWRDb3N0GBggASgBEhIKCmxhc3RVcGRhdGUYGSABKAkSEwoLc3BsaXRTdGF0dXMYGiABKAkSEwoLaXNBbGxvY2F0ZWQYGyABKAgSEQoJaXNBcHBsaWVkGBwgASgIEg4KBnNvdXJjZRgdIAEoCSI9ChdMaXN0QWNjb3VudFVzYWdlUmVxdWVzdBIRCglzdGFydERhdGUYASABKAkSDwoHZW5kRGF0ZRgCIAEoCSIyChpSZXN0b3JlQWNjb3VudFVzYWdlUmVxdWVzdBIUCgxhbGxvY2F0aW9uSWQYASABKAkiIwoVUmVzdG9yZVNhdmluZ3NSZXF1ZXN0EgoKAmlkGAEgASgJIroCCg5TYXZpbmdzRGV0YWlscxIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRINCgVtb250aBgFIAEoCRIMCgR0eXBlGAYgASgJEgsKA2FybhgHIAEoCRITCgtwcm9kdWN0Q29kZRgIIAEoCRISCgpvZmZlckNsYXNzGAkgASgJEhAKCG9uZGVtYW5kGAogASgBEhUKDWVmZmVjdGl2ZUNvc3QYCyABKAESDwoHc2F2aW5ncxgMIAEoARITCgtzcGxpdFN0YXR1cxgNIAEoCRITCgtpc0FsbG9jYXRlZBgOIAEoCBIRCglpc0FwcGxpZWQYDyABKAgSDgoGc291cmNlGBAgASgJEhIKCmxhc3RVcGRhdGUYESABKAkiagodR2V0Q29zdEdyb3VwQWxsb2NhdGlvblJlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkigAEKDkFsbG9jYXRpb25JdGVtEg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEdHlwZRgFIAEoCRIMCgRjb3N0GAYgASgBEhEKCWNvc3RHcm91cBgHIAEoCSJfChdQcm9jZXNzQXV0aDBVc2VyUmVxdWVzdBIOCgZzb3VyY2UYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRINCgVlbWFpbBgDIAEoCRIRCglzdWJ1c2VySWQYBCABKAkiMAoYUHJvY2Vzc0F1dGgwVXNlclJlc3BvbnNlEhQKDGlzQXV0aG9yaXplZBgBIAEoCCKVAgoKRGF0YUFjY2VzcxIOCgZ0YXJnZXQYASABKAkSDQoFb3JnSWQYAiABKAkSMQoKZ2NwT3B0aW9ucxgDIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAQgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBSABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zEhMKC2FjY291bnRUeXBlGAYgASgJEhIKCmxhc3RVcGRhdGUYByABKAkSEgoKY3JlYXRlVGltZRgIIAEoCRIOCgZ2ZW5kb3IYCSABKAki7QEKGVJlZ2lzdGVyRGF0YUFjY2Vzc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg4KBnRhcmdldBgCIAEoCRITCgthY2NvdW50VHlwZRgDIAEoCRIxCgpnY3BPcHRpb25zGAQgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuR2NwT3B0aW9ucxI1CgxhenVyZU9wdGlvbnMYBSABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZU9wdGlvbnMSMQoKYXdzT3B0aW9ucxgGIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkF3c09wdGlvbnMi6wEKF1VwZGF0ZURhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMQoKZ2NwT3B0aW9ucxgDIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAQgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBSABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zEhMKC2FjY291bnRUeXBlGAYgASgJIhcKFUxpc3REYXRhQWNjZXNzUmVxdWVzdCIhCh9MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXF1ZXN0InEKIExpc3RVbnJlZ2lzdGVyZWRBY2NvdW50c1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj4KEXVucmVnaXN0ZXJlZEFjY3RzGAIgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5VbnJlZ2lzdGVyZWRBY2N0cyJUChFVbnJlZ2lzdGVyZWRBY2N0cxIKCgJpZBgBIAEoCRIPCgdwYXllcklkGAIgASgJEg4KBnN0YXR1cxgDIAEoCRISCgpsYXN0VXBkYXRlGAQgASgJInwKFUJpbGxpbmdBY2NvdW50UmVxdWVzdBIRCgliaWxsaW5nSWQYASABKAkSEQoJZGF0YXNldElkGAIgASgJEhUKDWRhdGFzZXRSZWdpb24YAyABKAkSEQoJcHJvamVjdElkGAQgASgJEhMKC2JpbGxpbmdOYW1lGAUgASgJIlQKHUdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEwoLYWNjb3VudFR5cGUYAyABKAkiYQoiQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzUmVxdWVzdBIRCglhY2NvdW50SWQYASABKAkSFQoNYXBwbGljYXRpb25JZBgCIAEoCRIRCglzZWNyZXRLZXkYAyABKAkiJQoUQWRkTXBuU2V0dGluZ1JlcXVlc3QSDQoFbXBuSWQYASABKAki1gEKHEdldENvc3RHcm91cEF0dHJpYnV0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhUKDWF0dHJpYnV0ZVR5cGUYAiABKAkSEwoLY29zdEdyb3VwSWQYAyABKAkSPQoUZXhpc3RpbmdDb21iaW5hdGlvbnMYBCADKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSOwoSY3VycmVudENvbWJpbmF0aW9uGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIncKHUdldENvc3RHcm91cEF0dHJpYnV0ZVJlc3BvbnNlEikKBnJlc3VsdBgBIAMoCzIZLmJsdWVhcGkuYXBpLmNvdmVyLlJlc3VsdBIrCgd0YWdEYXRhGAIgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuVGFnRGF0YSImChRHZXRDYXRlZ29yaWVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiRgoVR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlEi0KCGNhdGVnb3J5GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuQ2F0ZWdvcnkiEgoQR2V0QWxlcnRzUmVxdWVzdCJEChFHZXRBbGVydHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEihgEKEkNyZWF0ZUFsZXJ0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2ZpeGVkQW1vdW50GAIgASgCEhIKCnBlcmNlbnRhZ2UYAyABKAISEwoLZ3JhbnVsYXJpdHkYBCABKAkSEgoKY29zdEdyb3VwcxgFIAMoCRIQCghjaGFubmVscxgGIAMoCSJGChNDcmVhdGVBbGVydFJlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIkChZHZXRBbGVydERldGFpbHNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKF0dldEFsZXJ0RGV0YWlsc1Jlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIgChJEZWxldGVBbGVydFJlcXVlc3QSCgoCaWQYASABKAkiIQoTRGVsZXRlQWxlcnRSZXNwb25zZRIKCgJpZBgBIAEoCSKZAQoZVXBkYXRlQWxlcnREZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2ZpeGVkQW1vdW50GAMgASgCEhIKCnBlcmNlbnRhZ2UYBCABKAISEwoLZ3JhbnVsYXJpdHkYBSABKAkSEgoKY29zdEdyb3VwcxgGIAMoCRIQCghjaGFubmVscxgHIAMoCSJNChpVcGRhdGVBbGVydERldGFpbHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEiIgoSR2V0Q2hhbm5lbHNSZXF1ZXN0EgwKBHR5cGUYASABKAkiSgoTR2V0Q2hhbm5lbHNSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIkYKFENyZWF0ZUNoYW5uZWxSZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEdHlwZRgCIAEoCRISCgp3ZWJob29rVXJsGAMgASgJIkwKFUNyZWF0ZUNoYW5uZWxSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIiYKGEdldENoYW5uZWxEZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCSJQChlHZXRDaGFubmVsRGV0YWlsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEiIgoURGVsZXRlQ2hhbm5lbFJlcXVlc3QSCgoCaWQYASABKAkiIwoVRGVsZXRlQ2hhbm5lbFJlc3BvbnNlEgoKAmlkGAEgASgJIlkKG1VwZGF0ZUNoYW5uZWxEZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSEgoKd2ViaG9va1VybBgEIAEoCSJTChxVcGRhdGVDaGFubmVsRGV0YWlsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEizwEKIUdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIvCglhd3NJbnB1dHMYAiABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NJbnB1dHMSMwoLYXp1cmVJbnB1dHMYAyABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZUlucHV0cxIvCglnY3BJbnB1dHMYBCABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5HY3BJbnB1dHMiiQIKIkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVzcG9uc2USSQoSYXdzUmVjb21tZW5kYXRpb25zGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuQXdzRGlzY291bnRSZWNvbW1lbmRhdGlvbnMSTQoUYXp1cmVSZWNvbW1lbmRhdGlvbnMYAiABKAsyLy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZURpc2NvdW50UmVjb21tZW5kYXRpb25zEkkKEmdjcFJlY29tbWVuZGF0aW9ucxgDIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLkdjcERpc2NvdW50UmVjb21tZW5kYXRpb25zIlcKHEdldEFub21hbHlpbkNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAki4QEKC0Fub21hbHlEYXRhEg8KB2FjY291bnQYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB3Byb2R1Y3QYBCABKAkSDAoEZGF0ZRgFIAEoCRIRCgl0b3RhbENvc3QYBiABKAISEQoJaXNBbm9tYWx5GAcgASgIEhIKCmxvd2VyTGltaXQYCCABKAISEgoKdXBwZXJMaW1pdBgJIAEoAhITCgthbm9tYWx5Q29zdBgKIAEoAhIaChJhbm9tYWx5UHJvYmFiaWxpdHkYCyABKAIihQEKJENyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBITCgtmcmVxdWVuY2llcxgBIAMoAxISCgpjb3N0R3JvdXBzGAIgAygJEhQKDGFsZXJ0RW5hYmxlZBgDIAEoCBIQCghjaGFubmVscxgEIAMoCRIMCgRuYW1lGAUgASgJIjYKKE1hbmlwdWxhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QSCgoCaWQYASABKAkikQEKJFVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCRIUCgxhbGVydEVuYWJsZWQYAiABKAgSEAoIY2hhbm5lbHMYAyADKAkSEwoLZnJlcXVlbmNpZXMYBCADKAMSEgoKY29zdEdyb3VwcxgFIAMoCRIMCgRuYW1lGAYgASgJIukBChdEaXNjb3VudEV4cGlyeUFsZXJ0RGF0YRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIUCgxhbGVydEVuYWJsZWQYAyABKAgSEwoLZnJlcXVlbmNpZXMYBCADKAMSNQoKY29zdEdyb3VwcxgFIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0Q29zdEdyb3VwEg8KB2RldGFpbHMYBiABKAkSMgoIY2hhbm5lbHMYByABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENoYW5uZWxzEgwKBG5hbWUYCCABKAkiJAoiTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdCKFAQoZQ3JlYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhQKDGFsZXJ0RW5hYmxlZBgCIAEoCBIRCglmcmVxdWVuY3kYAyABKAkSEwoLY29zdEdyb3VwSWQYBCABKAkSHAoUbm90aWZpY2F0aW9uQ2hhbm5lbHMYBSADKAkiKwodTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QSCgoCaWQYASABKAki0AEKEEFub21hbHlBbGVydERhdGESCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIUCgxhbGVydEVuYWJsZWQYBCABKAgSEQoJZnJlcXVlbmN5GAUgASgJEjYKC2Nvc3RHcm91cElkGAYgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnRDb3N0R3JvdXASMgoIY2hhbm5lbHMYByABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENoYW5uZWxzIhkKF0xpc3RBbm9tYWx5QWxlcnRSZXF1ZXN0IpEBChlVcGRhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMYWxlcnRFbmFibGVkGAMgASgIEhwKFG5vdGlmaWNhdGlvbkNoYW5uZWxzGAQgAygJEhEKCWZyZXF1ZW5jeRgFIAEoCRITCgtjb3N0R3JvdXBJZBgGIAEoCSKJAQoWUmVnaXN0ZXJOZXdVc2VyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2NvbXBhbnkYBCABKAkSDAoEcm9sZRgFIAEoCRIOCgZhbW91bnQYBiABKAkSEQoJaW50ZW50aW9uGAcgASgJIi8KF1JlZ2lzdGVyTmV3VXNlclJlc3BvbnNlEhQKDGlzQXV0aG9yaXplZBgBIAEoCCImChVHZXRVc2VyUHJvZmlsZVJlcXVlc3QSDQoFZW1haWwYASABKAkizgEKFkdldFVzZXJQcm9maWxlUmVzcG9uc2USGQoRaGFzQ3JlYXRlZFByb2ZpbGUYASABKAgSDAoEbmFtZRgCIAEoCRIMCgRyb2xlGAMgASgJEg0KBXVzYWdlGAQgASgJEhEKCWludGVudGlvbhgFIAEoCRITCgtjb21wYW55TmFtZRgGIAEoCRIUCgxlbWFpbEFkZHJlc3MYByABKAkSEgoKbGlua1NvdXJjZRgIIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgJIAEoCCKuAQoYVXBkYXRlVXNlclByb2ZpbGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEcm9sZRgDIAEoCRINCgV1c2FnZRgEIAEoCRIRCglpbnRlbnRpb24YBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSEgoKbGlua1NvdXJjZRgHIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgIIAEoCCKvAQoZVXBkYXRlVXNlclByb2ZpbGVSZXNwb25zZRINCgVlbWFpbBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHJvbGUYAyABKAkSDQoFdXNhZ2UYBCABKAkSEQoJaW50ZW50aW9uGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhIKCmxpbmtTb3VyY2UYByABKAkSHAoUaGFzU3Vic2NyaWJlZFVwZGF0ZXMYCCABKAgiSAoSTGlzdEJ1ZGdldHNSZXF1ZXN0Eh8KF2luY2x1ZGVTcGVuZEFuZEZvcmVjYXN0GAEgASgIEhEKCWNvc3RHcm91cBgCIAEoCSJIChNMaXN0QnVkZ2V0c1Jlc3BvbnNlEjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIh4KEEdldEJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0QnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSAoTQ3JlYXRlQnVkZ2V0UmVxdWVzdBIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSJJChRDcmVhdGVCdWRnZXRSZXNwb25zZRIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSIhChNEZWxldGVCdWRnZXRSZXF1ZXN0EgoKAmlkGAEgASgJIiIKFERlbGV0ZUJ1ZGdldFJlc3BvbnNlEgoKAmlkGAEgASgJIlQKE1VwZGF0ZUJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkSMQoKYnVkZ2V0RGF0YRgCIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSQoUVXBkYXRlQnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSwouUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVxdWVzdBIZChFyZWdpc3RyYXRpb25Ub2tlbhgBIAEoCSJhCi9SZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmdSZXNwb25zZRIaChJpc0FsbG93ZWRUb09uYm9hcmQYASABKAgSEgoKY3VzdG9tZXJJZBgCIAEoCSImCiRHZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1c1JlcXVlc3Qi8gEKJUdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVzcG9uc2USFgoOZGF0ZVJlZ2lzdGVyZWQYASABKAkSGgoSc3Vic2NyaXB0aW9uRXhwaXJ5GAIgASgJEhAKCGRheXNMZWZ0GAMgASgFEhQKDGlzU3Vic2NyaWJlZBgEIAEoCBIRCglpc0V4cGlyZWQYBSABKAgSDAoEcGxhbhgGIAEoCRIOCgZhbW91bnQYByABKAkSFQoNcGF5bWVudE9wdGlvbhgIIAEoCRIVCg1wYXltZW50TWV0aG9kGAkgASgJEg4KBmNyZWRpdBgKIAEoASKzAQoWQ3JlYXRlUHJvZmlsaW5nUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHJvbGUYAiABKAkSDQoFdXNhZ2UYAyABKAkSEQoJaW50ZW50aW9uGAQgASgJEhMKC2NvbXBhbnlOYW1lGAUgASgJEhQKDGVtYWlsQWRkcmVzcxgGIAEoCRISCgpsaW5rU291cmNlGAcgASgJEhwKFGhhc1N1YnNjcmliZWRVcGRhdGVzGAggASgIIhkKF0NyZWF0ZVByb2ZpbGluZ1Jlc3BvbnNlIjkKG0FkZEluZm90b01hcmtldHBsYWNlUmVxdWVzdBIaChJjdXN0b21lcklkZW50aWZpZXIYASABKAkiHgocQWRkSW5mb3RvTWFya2V0cGxhY2VSZXNwb25zZSJ4ChdHZXRSZXBvcnRTdW1tYXJ5UmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRISCgpyZXBvcnRUeXBlGAQgASgJEhAKCGN1cnJlbmN5GAUgASgJIq4CChhHZXRSZXBvcnRTdW1tYXJ5UmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSPQoQZXhlY3V0aXZlU3VtbWFyeRgEIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkV4ZWN1dGl2ZVN1bW1hcnkSXwohb3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25TdW1tYXJ5GAUgASgLMjQuYmx1ZWFwaS5hcGkuY292ZXIuT3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25TdW1tYXJ5EjkKDnNhdmluZ3NTdW1tYXJ5GAYgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuU2F2aW5nc1N1bW1hcnkiqgIKGUxpc3RSZWNvbW1lbmRhdGlvblJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJEg4KBnZlbmRvchgEIAEoCRIOCgZzb3VyY2UYBSABKAkSGgoSb3B0aW1pemF0aW9uU3RhdHVzGAcgASgJEgwKBHR5cGUYCCABKAkSDgoGc3BUeXBlGAkgASgJEhEKCXJhdGVNb2RlbBgKIAEoCRIVCg1wYXltZW50T3B0aW9uGAsgASgJEgwKBHRlcm0YDCABKAkSDwoHc2VydmljZRgNIAEoCRIVCg1vZmZlcmluZ0NsYXNzGA4gASgJEhAKCGN1cnJlbmN5GA8gASgJItUCChtMaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJElAKDHJhdGVTZXR0aW5ncxgEIAEoCzI6LmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0LlJhdGVTZXR0aW5ncxIQCghjdXJyZW5jeRgFIAEoCRqOAQoMUmF0ZVNldHRpbmdzEg4KBnNwVHlwZRgBIAEoCRIRCglyYXRlTW9kZWwYAiABKAkSFQoNcGF5bWVudE9wdGlvbhgDIAEoCRIMCgR0ZXJtGAQgASgJEg8KB3NlcnZpY2UYBSABKAkSFQoNb2ZmZXJpbmdDbGFzcxgGIAEoCRIOCgZ2ZW5kb3IYByABKAki2gYKGkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlEhgKEHJlY29tbWVuZGF0aW9uSWQYASABKAkSFgoOcmVjb21tZW5kYXRpb24YAiABKAkSDwoHc2VydmljZRgDIAEoCRIeChZlc3RpbWF0ZWRNb250aGx5U2F2aW5nGAQgASgBEhwKFGVzdGltYXRlZE1vbnRobHlDb3N0GAUgASgBEg8KB3Njb3JpbmcYBiABKAkSDgoGdmVuZG9yGAcgASgJEhAKCGNhdGVnb3J5GAggASgJEhoKEm9wdGltaXphdGlvblN0YXR1cxgJIAEoCRIUCgxlcnJvck1lc3NhZ2UYCiABKAkSEQoJYWNjb3VudElkGAsgASgJEhMKC2FjY291bnROYW1lGAwgASgJEhQKDGluc3RhbmNlTmFtZRgNIAEoCRISCgppbnN0YW5jZUlkGA4gASgJEhQKDGluc3RhbmNlVHlwZRgPIAEoCRIOCgZyZWdpb24YECABKAkSEgoKY29tbWl0bWVudBgRIAEoARIOCgZzcFR5cGUYEiABKAkSGAoQbnVtYmVyVG9QdXJjaGFzZRgTIAEoAxIOCgZyaVR5cGUYFCABKAkSDAoEdHlwZRgVIAEoCRIOCgZzb3VyY2UYFiABKAkSFwoPZGF0ZVJlY29tbWVuZGVkGBcgASgJEhsKE3JlY29tbWVuZGF0aW9uR3JvdXAYGCABKAkSFQoNbGFzdFVwZGF0ZWRBdBgZIAEoCRJTCg5wdXJjaGFzZU9wdGlvbhgaIAEoCzI7LmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UuUHVyY2hhc2VPcHRpb24azwEKDlB1cmNoYXNlT3B0aW9uEg4KBnNwVHlwZRgBIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAIgASgJEhIKCmNvbW1pdG1lbnQYAyABKAESGAoQbnVtYmVyVG9QdXJjaGFzZRgEIAEoAxIVCg1wYXltZW50T3B0aW9uGAUgASgJEgwKBHRlcm0YBiABKAkSGQoRY3VycmVudEdlbmVyYXRpb24YByABKAgSEwoLc2VydmljZVR5cGUYCCABKAkSEwoLdXBmcm9udENvc3QYCSABKAEiUQoYR2V0UmVjb21tZW5kYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCSJeChlHZXRSZWNvbW1lbmRhdGlvblJlc3BvbnNlEkEKEnJlY29tbWVuZGF0aW9uRGF0YRgBIAEoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkFXU1JlY29tbWVuZGF0aW9ucyJEChpFeGVjdXRlT3B0aW1pemF0aW9uUmVxdWVzdBIYChByZWNvbW1lbmRhdGlvbklkGAEgASgJEgwKBHR5cGUYAiABKAkilAMKG0V4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZRJMCglhd3NPcHRpb24YASABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5BV1NPcHRpb25IABJMCglnY3BPcHRpb24YAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5HQ1BPcHRpb25IABJWCg5henVyZUNzcE9wdGlvbhgDIAEoCzI8LmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlLkF6dXJlQ1NQT3B0aW9uSAAaWAoJQVdTT3B0aW9uEhoKEmFwcHJvdmVUZW1wbGF0ZVVybBgBIAEoCRIYChByZWNvbW1lbmRhdGlvbklkGAIgASgJEhUKDWN1cnJlbnRTdGF0dXMYAyABKAkaCwoJR0NQT3B0aW9uGhAKDkF6dXJlQ1NQT3B0aW9uQggKBlZlbmRvciIjChVNYXJrQXNFeGVjdXRlZFJlcXVlc3QSCgoCaWQYASADKAkiGAoWTWFya0FzRXhlY3V0ZWRSZXNwb25zZSIvCiFVbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlcXVlc3QSCgoCaWQYASADKAkiJAoiVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb25SZXNwb25zZSKnAQoaT3B0aW1pemF0aW9uSGlzdG9yeVJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJEg4KBnZlbmRvchgEIAEoCRIOCgZzb3VyY2UYBSABKAkSFAoMcGVyaW9kT3B0aW9uGAYgASgJEhAKCGN1cnJlbmN5GAcgASgJInYKG09wdGltaXphdGlvbkhpc3RvcnlSZXNwb25zZRJXCh1leGVjdXRlZFJlY29tbWVuZGF0aW9uRGV0YWlscxgCIAMoCzIwLmJsdWVhcGkuYXBpLmNvdmVyLkV4ZWN1dGVkUmVjb21tZW5kYXRpb25EZXRhaWxzImAKIVNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIPCgdhbm9tYWx5GAIgASgIEhUKDXZpc3VhbEJ1aWxkZXIYAyABKAgidAoiU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRI5Cg5ldmVudEluZGljYXRvchgCIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkV2ZW50SW5kaWNhdG9yInsKIVNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCgl0aHJlc2hvbGQYAiABKAISFAoMaXNQZXJjZW50YWdlGAMgASgIEhgKEHBhc3REYXRhSW5Nb250aHMYBCABKAMidAoiU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnNSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRI5Cg5hbm9tYWx5T3B0aW9ucxgCIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFub21hbHlPcHRpb25zIi8KGFNldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdBITCgtmaXNjYWxNb250aBgBIAEoCSIwChlTZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlEhMKC2Zpc2NhbE1vbnRoGAEgASgJIhoKGEdldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdCJIChlHZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlEhMKC2Zpc2NhbE1vbnRoGAEgASgJEhYKDmRhdGVSZWdpc3RlcmVkGAIgASgJIlsKG1RyYW5zZmVyT3JnYW5pemF0aW9uUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGcmVnaW9uGAIgASgJEg0KBXBheWVyGAMgASgJEg0KBW9yZ0lkGAQgASgJIi4KHFRyYW5zZmVyT3JnYW5pemF0aW9uUmVzcG9uc2USDgoGdGFyZ2V0GAEgASgJIkUKIFVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUlSZXF1ZXN0EiEKGXVzZU5ld0Nvc3RHcm91cENyZWF0aW9uVUkYASABKAgiUgohVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiFgoUTGlzdFVuaXRUeXBlc1JlcXVlc3QiTgoVTGlzdFVuaXRUeXBlc1Jlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAMoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSK2AQoVQ3JlYXRlVW5pdFR5cGVSZXF1ZXN0EhAKCHVuaXROYW1lGAEgASgJEi4KCXVuaXRJdGVtcxgCIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRJdGVtEkYKD3NoYXJlZFJlc291cmNlcxgDIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uEhMKC2Rlc2NyaXB0aW9uGAQgASgJIk8KFkNyZWF0ZVVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIiAKEkdldFVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCSJMChNHZXRVbml0VHlwZVJlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSLCAQoVVXBkYXRlVW5pdFR5cGVSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCHVuaXROYW1lGAIgASgJEi4KCXVuaXRJdGVtcxgDIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRJdGVtEkYKD3NoYXJlZFJlc291cmNlcxgEIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uEhMKC2Rlc2NyaXB0aW9uGAUgASgJIk8KFlVwZGF0ZVVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIiMKFURlbGV0ZVVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCSIkChZEZWxldGVVbml0VHlwZVJlc3BvbnNlEgoKAmlkGAEgASgJIk8KEU1lcmdlVW5pdHNSZXF1ZXN0EhMKC3VuaXRDb3N0SWRzGAEgAygJEhAKCHVuaXROYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIk0KEk1lcmdlVW5pdHNSZXNwb25zZRI3Cg5tZXJnZWRVbml0Q29zdBgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSIbChlMaXN0U3VnZ2VzdGVkVW5pdHNSZXF1ZXN0IlYKGkxpc3RTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlEjgKDnN1Z2dlc3RlZFVuaXRzGAEgAygLMiAuYmx1ZWFwaS5hcGkuY292ZXIuU3VnZ2VzdGVkVW5pdCJyChpNZXJnZVN1Z2dlc3RlZFVuaXRzUmVxdWVzdBIYChBzdWdnZXN0ZWRVbml0SWRzGAEgAygJEhMKC3VuaXRJdGVtSWRzGAIgAygJEhAKCHVuaXROYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJIl0KG01lcmdlU3VnZ2VzdGVkVW5pdHNSZXNwb25zZRI+ChRtZXJnZWRTdWdnZXN0ZWRVbml0cxgBIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlN1Z2dlc3RlZFVuaXQiOgoeQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXF1ZXN0EhgKEHN1Z2dlc3RlZFVuaXRJZHMYASADKAkiNgofQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXNwb25zZRITCgt1bml0Q29zdElkcxgBIAMoCSIcChpMaXN0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdCJlChtMaXN0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgAygLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24i0wIKHENyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QSGgoSc2hhcmVkUmVzb3VyY2VOYW1lGAEgASgJEk0KG3NoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9ucxgCIAEoCzIoLmJsdWVhcGkuYXBpLmNvdmVyLlJlc291cmNlc0NvbWJpbmF0aW9ucxJWCgxkaXN0cmlidXRpb24YAyADKAsyQC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QuRGlzdHJpYnV0aW9uRW50cnkSEQoJYWxsb2NhdGVkGAQgASgBEhMKC3VuYWxsb2NhdGVkGAUgASgBEhMKC2Rlc2NyaXB0aW9uGAYgASgJGjMKEURpc3RyaWJ1dGlvbkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiZwodQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24iJwoZR2V0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCSJkChpHZXRTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiLfAgocVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIaChJzaGFyZWRSZXNvdXJjZU5hbWUYAiABKAkSTQobc2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb25zGAMgASgLMiguYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VzQ29tYmluYXRpb25zElYKDGRpc3RyaWJ1dGlvbhgEIAMoCzJALmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdC5EaXN0cmlidXRpb25FbnRyeRIRCglhbGxvY2F0ZWQYBSABKAESEwoLdW5hbGxvY2F0ZWQYBiABKAESEwoLZGVzY3JpcHRpb24YByABKAkaMwoRRGlzdHJpYnV0aW9uRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJnCh1VcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiIqChxEZWxldGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJIisKHURlbGV0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEgoKAmlkGAEgASgJIlcKFkxpc3RVbml0TWV0cmljc1JlcXVlc3QSGQoRYWdncmVnYXRpb25NZXRob2QYASABKAkSEgoKZGF0YVNvdXJjZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkiTQoXTGlzdFVuaXRNZXRyaWNzUmVzcG9uc2USMgoLdW5pdE1ldHJpY3MYASADKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIrkBChdDcmVhdGVVbml0TWV0cmljUmVxdWVzdBISCgptZXRyaWNOYW1lGAEgASgJEhkKEWFnZ3JlZ2F0aW9uTWV0aG9kGAIgASgJEhIKCmRhdGFTb3VyY2UYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSEwoLY29zdGdyb3VwSWQYBSADKAkSMQoKc291cmNlSW5mbxgGIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlNvdXJjZUluZm8iTQoYQ3JlYXRlVW5pdE1ldHJpY1Jlc3BvbnNlEjEKCnVuaXRNZXRyaWMYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIiIKFEdldFVuaXRNZXRyaWNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKFUdldFVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyLFAQoXVXBkYXRlVW5pdE1ldHJpY1JlcXVlc3QSCgoCaWQYASABKAkSEgoKbWV0cmljTmFtZRgCIAEoCRIZChFhZ2dyZWdhdGlvbk1ldGhvZBgDIAEoCRISCgpkYXRhU291cmNlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhMKC2Nvc3Rncm91cElkGAYgAygJEjEKCnNvdXJjZUluZm8YByABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Tb3VyY2VJbmZvIk0KGFVwZGF0ZVVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyIlChdEZWxldGVVbml0TWV0cmljUmVxdWVzdBIKCgJpZBgBIAEoCSImChhEZWxldGVVbml0TWV0cmljUmVzcG9uc2USCgoCaWQYASABKAkiZgoZUHJldmlld0dvb2dsZVNoZWV0UmVxdWVzdBIVCg1nb29nbGVTaGVldElkGAEgASgJEhAKCHNoZWV0VXJsGAIgASgJEhEKCXNoZWV0TmFtZRgDIAEoCRINCgVyYW5nZRgEIAEoCSJZChpQcmV2aWV3R29vZ2xlU2hlZXRSZXNwb25zZRIOCgZoZWFkZXIYASADKAkSKwoHcm93RGF0YRgCIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlJvd0RhdGEiMwofQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzUmVxdWVzdBIQCghzaGVldFVybBgBIAEoCSJNCiBDb25maXJtR29vZ2xlU2hlZXRBY2Nlc3NSZXNwb25zZRIVCg1nb29nbGVTaGVldElkGAEgASgJEhIKCnNoZWV0TmFtZXMYAiADKAkidgocR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVxdWVzdBIRCglhY2NvdW50SWQYASABKAkSDgoGcmVnaW9uGAIgASgJEgwKBHR5cGUYAyABKAkSEQoJbmFtZXNwYWNlGAQgASgJEhIKCm1ldHJpY05hbWUYBSABKAkivgEKHUdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlc3BvbnNlEhIKCm5hbWVzcGFjZXMYASADKAkSDwoHbWV0cmljcxgCIAMoCRJNCgpkaW1lbnNpb25zGAMgAygLMjkuYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZS5EaW1lbnNpb24aKQoJRGltZW5zaW9uEgwKBG5hbWUYASABKAkSDgoGdmFsdWVzGAIgAygJIoECChZHZXREaXNjb3VudFBsYW5SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiZwoXR2V0RGlzY291bnRQbGFuUmVzcG9uc2USDQoFb3JnSWQYASABKAkSPQoQYXdzRGlzY291bnRQbGFucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Rpc2NvdW50UGxhbnMicwocTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEAoIZnJvbURhdGUYAyABKAkSDgoGdG9EYXRlGAQgASgJEgwKBHR5cGUYBSABKAkiyQEKHUxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlElQKDW5vbnBlcmZvcm1pbmcYASADKAsyPS5ibHVlYXBpLmNvdmVyLnYxLkxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlLk5vbnBlcmZvcm1pbmcaUgoNTm9ucGVyZm9ybWluZxIMCgR0eXBlGAEgASgJEg8KB2FjY291bnQYAiABKAkSEwoLdXRpbGl6YXRpb24YAyABKAESDQoFd2FzdGUYBCABKAEqPwoGU3RhdHVzEgsKB1BFTkRJTkcQABIPCgtJTl9QUk9HUkVTUxABEgsKB1NVQ0NFU1MQAhIKCgZGQUlMRUQQAzKs0gEKBUNvdmVyEncKCk9uYm9hcmRPcmcSIy5ibHVlYXBpLmNvdmVyLnYxLk9uYm9hcmRPcmdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5PbmJvYXJkT3JnUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL21lbWJlcnMvb25ib2FyZBJ8CgxJbnZpdGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkludml0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkludml0ZU1lbWJlclJlc3BvbnNlIh2C0+STAhc6ASoiEi92MS9tZW1iZXJzL2ludml0ZRJ+CgxBY3RpdmF0ZVVzZXISJS5ibHVlYXBpLmNvdmVyLnYxLkFjdGl2YXRlVXNlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkFjdGl2YXRlVXNlclJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tZW1iZXJzL2FjdGl2YXRlEnUKDENyZWF0ZU1lbWJlchIlLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlTWVtYmVyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlTWVtYmVyUmVzcG9uc2UiFoLT5JMCEDoBKiILL3YxL21lbWJlcnMSbAoKR2V0TWVtYmVycxIjLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyc1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlcnNSZXNwb25zZSITgtPkkwINEgsvdjEvbWVtYmVycxKHAQoQR2V0TWVtYmVyRGV0YWlscxIpLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyRGV0YWlsc1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlckRldGFpbHNSZXNwb25zZSIcgtPkkwIWEhQvdjEvbWVtYmVycy97dXNlcklkfRKXAQoSR2V0TWVtYmVyQ29zdEdyb3VwEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJDb3N0R3JvdXBSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJDb3N0R3JvdXBSZXNwb25zZSImgtPkkwIgEh4vdjEvbWVtYmVycy97dXNlcklkfS9jb3N0Z3JvdXASpAEKFlVwZGF0ZU1lbWJlclBlcm1pc3Npb24SLy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZU1lbWJlclBlcm1pc3Npb25SZXF1ZXN0GjAuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2UiJ4LT5JMCIToBKhocL3YxL21lbWJlcnMve3VzZXJJZH0vaXNhZG1pbhJzCg5HZXRVc2VyRGV0YWlscxInLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlckRldGFpbHNSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyRGV0YWlsc1Jlc3BvbnNlIg6C0+STAggSBi92MS9tZRKDAQoQVXBkYXRlVXNlckF2YXRhchIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF2YXRhclJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdmF0YXJSZXNwb25zZSIYgtPkkwISOgEqGg0vdjEvbWUvYXZhdGFyEnsKDlVwZGF0ZVVzZXJJY29uEicuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VySWNvblJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJJY29uUmVzcG9uc2UiFoLT5JMCEDoBKhoLL3YxL21lL2ljb24SkwEKFFVwZGF0ZVVzZXJDb2xvclRoZW1lEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQ29sb3JUaGVtZVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJDb2xvclRoZW1lUmVzcG9uc2UiHILT5JMCFjoBKhoRL3YxL21lL2NvbG9ydGhlbWUSewoOVXBkYXRlVXNlck5hbWUSJy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJOYW1lUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlck5hbWVSZXNwb25zZSIWgtPkkwIQOgEqGgsvdjEvbWUvbmFtZRJ/Cg9VcGRhdGVVc2VyRW1haWwSKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJFbWFpbFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlIheC0+STAhE6ASoaDC92MS9tZS9lbWFpbBKLAQoSVXBkYXRlVXNlck1haW5WaWV3EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTWFpblZpZXdSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTWFpblZpZXdSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvbWUvbWFpbnZpZXcSiAEKEVJlc2V0VXNlclBhc3N3b3JkEiouYmx1ZWFwaS5jb3Zlci52MS5SZXNldFVzZXJQYXNzd29yZFJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0VXNlclBhc3N3b3JkUmVzcG9uc2UiGoLT5JMCFDoBKiIPL3YxL21lL3Bhc3N3b3JkEoMBChBVcGRhdGVVc2VyTG9jYWxlEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTG9jYWxlUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckxvY2FsZVJlc3BvbnNlIhiC0+STAhI6ASoaDS92MS9tZS9sb2NhbGUSiwEKElVwZGF0ZVVzZXJBcHBUaGVtZRIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckFwcFRoZW1lUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2UiGoLT5JMCFDoBKhoPL3YxL21lL2FwcHRoZW1lEosBChJVcGRhdGVVc2VyVGltZXpvbmUSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJUaW1lem9uZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJUaW1lem9uZVJlc3BvbnNlIhqC0+STAhQ6ASoaDy92MS9tZS90aW1lem9uZRKTAQoUVXBkYXRlVXNlckF0dHJpYnV0ZXMSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF0dHJpYnV0ZXNSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvbWUvYXR0cmlidXRlcxJ7CgxEZWxldGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZU1lbWJlclJlc3BvbnNlIhyC0+STAhYqFC92MS9tZW1iZXJzL3t1c2VySWR9EoYBCg1SZXNldFBhc3N3b3JkEiYuYmx1ZWFwaS5jb3Zlci52MS5SZXNldFBhc3N3b3JkUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuUmVzZXRQYXNzd29yZFJlc3BvbnNlIiSC0+STAh46ASoiGS92MS9tZW1iZXJzL3Jlc2V0cGFzc3dvcmQSbQoKQ3JlYXRlVmlldxIjLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVmlld1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVZpZXdSZXNwb25zZSIUgtPkkwIOOgEqIgkvdjEvdmlld3MSZAoIR2V0Vmlld3MSIS5ibHVlYXBpLmNvdmVyLnYxLkdldFZpZXdzUmVxdWVzdBoiLmJsdWVhcGkuY292ZXIudjEuR2V0Vmlld3NSZXNwb25zZSIRgtPkkwILEgkvdjEvdmlld3MSfwoOR2V0Q3VycmVudFZpZXcSJy5ibHVlYXBpLmNvdmVyLnYxLkdldEN1cnJlbnRWaWV3UmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0Q3VycmVudFZpZXdSZXNwb25zZSIagtPkkwIUEhIvdjEvdmlld3Mve3ZpZXdJZH0ShgEKEEdldEZhdm9yaXRlVmlld3MSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEZhdm9yaXRlVmlld3NSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRGYXZvcml0ZVZpZXdzUmVzcG9uc2UiG4LT5JMCFRITL3YxL3ZpZXdzL2Zhdm9yaXRlcxJ4CgtQdWJsaXNoVmlldxIkLmJsdWVhcGkuY292ZXIudjEuUHVibGlzaFZpZXdSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5QdWJsaXNoVmlld1Jlc3BvbnNlIhyC0+STAhY6ASoiES92MS92aWV3cy9wdWJsaXNoEn0KC0FkZEZhdm9yaXRlEiQuYmx1ZWFwaS5jb3Zlci52MS5BZGRGYXZvcml0ZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFkZEZhdm9yaXRlUmVzcG9uc2UiIYLT5JMCGzoBKhoWL3YxL3ZpZXdzL2Zhdm9yaXRlL2FkZBKJAQoOUmVtb3ZlRmF2b3JpdGUSJy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUZhdm9yaXRlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlRmF2b3JpdGVSZXNwb25zZSIkgtPkkwIeOgEqGhkvdjEvdmlld3MvZmF2b3JpdGUvcmVtb3ZlEnYKClVwZGF0ZVZpZXcSIy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3UmVzcG9uc2UiHYLT5JMCFzoBKhoSL3YxL3ZpZXdzL3t2aWV3SWR9Eo8BChBVcGRhdGVWaWV3TGF5b3V0EikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3TGF5b3V0UmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0xheW91dFJlc3BvbnNlIiSC0+STAh46ASoaGS92MS92aWV3cy9sYXlvdXQve3ZpZXdJZH0SmgEKEFVwZGF0ZVZpZXdXaWRnZXQSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3V2lkZ2V0UmVzcG9uc2UiL4LT5JMCKToBKhokL3YxL3ZpZXdzL2xheW91dC97dmlld0lkfS97d2lkZ2V0SWR9Ep8BChRVcGRhdGVWaWV3Q29sb3JUaGVtZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0NvbG9yVGhlbWVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3Q29sb3JUaGVtZVJlc3BvbnNlIiiC0+STAiI6ASoaHS92MS92aWV3cy97dmlld0lkfS9jb2xvcnRoZW1lEpcBChJVcGRhdGVWaWV3Q3VycmVuY3kSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlIiaC0+STAiA6ASoaGy92MS92aWV3cy97dmlld0lkfS9jdXJyZW5jeRKcAQoUU2V0T3JnVXBkYXRlQ3VycmVuY3kSLS5ibHVlYXBpLmNvdmVyLnYxLlNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb3JnYW5pemF0aW9ucy9jdXJyZW5jeRKZAQoUR2V0T3JnVXBkYXRlQ3VycmVuY3kSLS5ibHVlYXBpLmNvdmVyLnYxLkdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZSIigtPkkwIcEhovdjEvb3JnYW5pemF0aW9ucy9jdXJyZW5jeRKNAQoRTGlzdEV4Y2hhbmdlUmF0ZXMSKi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZSIfgtPkkwIZEhcvdjEvb3JnYW5pemF0aW9ucy9yYXRlcxJzCgpEZWxldGVWaWV3EiMuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVWaWV3UmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVmlld1Jlc3BvbnNlIhqC0+STAhQqEi92MS92aWV3cy97dmlld0lkfRKfAQoTVXBkYXRlU2lkZU1lbnVTdGF0ZRIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZSIrgtPkkwIlOgEqGiAvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnVzdGF0ZRKiAQoTQWRkU2lkZU1lbnVGYXZvcml0ZRIsLmJsdWVhcGkuY292ZXIudjEuQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkFkZFNpZGVNZW51RmF2b3JpdGVSZXNwb25zZSIugtPkkwIoOgEqIiMvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnVmYXZvcml0ZRKtAQoWUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZRIvLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QaMC5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZVNpZGVNZW51RmF2b3JpdGVSZXNwb25zZSIwgtPkkwIqOgEqIiUvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnV1bmZhdm9yaXRlEoEBCg9DcmVhdGVDb3N0R3JvdXASKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RHcm91cFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RHcm91cFJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9jb3N0Z3JvdXBzEngKDUdldENvc3RHcm91cHMSJi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cHNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBzUmVzcG9uc2UiFoLT5JMCEBIOL3YxL2Nvc3Rncm91cHMSeAoNR2V0Q2F0ZWdvcmllcxImLmJsdWVhcGkuY292ZXIudjEuR2V0Q2F0ZWdvcmllc1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkdldENhdGVnb3JpZXNSZXNwb25zZSIWgtPkkwIQEg4vdjEvY2F0ZWdvcmllcxKYAQoTR2V0Q29zdEdyb3VwRGV0YWlscxIsLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cERldGFpbHNSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9EqABChNVcGRhdGVDb3N0R3JvdXBOYW1lEiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBOYW1lUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlIiyC0+STAiY6ASoaIS92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbmFtZRK8AQoaVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb24SMy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXNwb25zZSIzgtPkkwItOgEqGigvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2Rlc2NyaXB0aW9uEqQBChRVcGRhdGVDb3N0R3JvdXBJbWFnZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJbWFnZVJlc3BvbnNlIi2C0+STAic6ASoaIi92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vaW1hZ2USoAEKE1VwZGF0ZUNvc3RHcm91cEljb24SLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cEljb25SZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9pY29uErgBChlVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lEjIuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBozLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ29sb3JUaGVtZVJlc3BvbnNlIjKC0+STAiw6ASoaJy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vY29sb3J0aGVtZRLAAQobVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zEjQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXF1ZXN0GjUuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZSI0gtPkkwIuOgEqGikvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2NvbWJpbmF0aW9ucxK7AQocUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9ucxI1LmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QaNi5ibHVlYXBpLmNvdmVyLnYxLlJlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZSIsgtPkkwImEiQvdjEvY29zdGdyb3Vwcy9yZXNvbHZlL3tjb3N0R3JvdXBJZH0SrAEKFUFzc2lnbkNvc3RHcm91cE1lbWJlchIuLmJsdWVhcGkuY292ZXIudjEuQXNzaWduQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuQXNzaWduQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2UiMoLT5JMCLDoBKiInL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9tZW1iZXIvYWRkEq8BChVSZW1vdmVDb3N0R3JvdXBNZW1iZXISLi5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUNvc3RHcm91cE1lbWJlclJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUNvc3RHcm91cE1lbWJlclJlc3BvbnNlIjWC0+STAi86ASoiKi92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbWVtYmVyL3JlbW92ZRKMAQoPRGVsZXRlQ29zdEdyb3VwEiguYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0R3JvdXBSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0R3JvdXBSZXNwb25zZSIkgtPkkwIeKhwvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9EqYBChtHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmwSNC5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlcXVlc3QaNS5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlc3BvbnNlIhqC0+STAhQSEi92MS9hd3MvYWNjdGFjY2VzcxKKAQoRTGlzdEFjY291bnRBY2Nlc3MSKi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyImgtPkkwIgOgEqIhsvdjEvYXdzL2FjY3RhY2Nlc3MvYWxsOnJlYWQwARKDAQoQR2V0QWNjb3VudEFjY2VzcxIpLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudEFjY2Vzc1JlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiI4LT5JMCHRIbL3YxL2F3cy9hY2N0YWNjZXNzL3t0YXJnZXR9EnwKDUdldERhdGFBY2Nlc3MSLy5ibHVlYXBpLmNvdmVyLnYxLkdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5EYXRhQWNjZXNzIhyC0+STAhYSFC92MS9hY2NvdW50L3t0YXJnZXR9EnkKEERlbGV0ZURhdGFBY2Nlc3MSLy5ibHVlYXBpLmNvdmVyLnYxLkdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYqFC92MS9hY2NvdW50L3t0YXJnZXR9EoMBChNDcmVhdGVBY2NvdW50QWNjZXNzEiwuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyIdgtPkkwIXOgEqIhIvdjEvYXdzL2FjY3RhY2Nlc3MSnAEKG0NyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldBI0LmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWNjb3VudEFjY2Vzc1N0YWNrc2V0UmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyImgtPkkwIgOgEqIhsvdjEvYXdzL2FjY3RhY2Nlc3Mvc3RhY2tzZXQSigEKFkNyZWF0ZUFjY291bnRBY2Nlc3NDdXISLC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIiGC0+STAhs6ASoiFi92MS9hd3MvYWNjdGFjY2Vzcy9jdXISewoTVXBkYXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIiOC0+STAh0aGy92MS9hd3MvYWNjdGFjY2Vzcy97dGFyZ2V0fRKTAQoTRGVsZXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFjY291bnRBY2Nlc3NSZXNwb25zZSIfgtPkkwIZKhcvdjEvYWNjdGFjY2Vzcy97dGFyZ2V0fRJ0Cg9SZWdpc3RlckFjY291bnQSKC5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiH4LT5JMCGToBKiIUL3YxL3t2ZW5kb3J9L2FjY291bnQScQoSUmVnaXN0ZXJEYXRhQWNjZXNzEisuYmx1ZWFwaS5jb3Zlci52MS5SZWdpc3RlckRhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhaC0+STAhA6ASoiCy92MS9hY2NvdW50EnAKEUFkZEJpbGxpbmdBY2NvdW50EicuYmx1ZWFwaS5jb3Zlci52MS5CaWxsaW5nQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFDoBKiIPL3YxL2JpbGxpbmdhY2N0EncKDkxpc3REYXRhQWNjZXNzEicuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RGF0YUFjY2Vzc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkRhdGFBY2Nlc3MiHILT5JMCFiIUL3YxL2FjY291bnQvYWxsOnJlYWQwARKoAQoYTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzEjEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXNwb25zZSIlgtPkkwIfIh0vdjEvYWNjb3VudC91bnJlZ2lzdGVyZWQ6cmVhZBJ2ChBVcGRhdGVEYXRhQWNjZXNzEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVEYXRhQWNjZXNzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZOgEqGhQvdjEvYWNjb3VudC97dGFyZ2V0fRJrCgpMaXN0QXNzZXRzEiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzUmVxdWVzdBoaLmJsdWVhcGkuY292ZXIudjEuUmVzb3VyY2UiGoLT5JMCFDoBKiIPL3YxL2Fzc2V0czpyZWFkMAESkwEKEEdldEFzc2V0c1N1bW1hcnkSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEFzc2V0c1N1bW1hcnlSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRBc3NldHNTdW1tYXJ5UmVzcG9uc2UiKILT5JMCIhIgL3YxL2Fzc2V0cy9zdW1tYXJ5L3tjb3N0R3JvdXBJZH0ScgoMR2V0Q29zdFVzYWdlEiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0GhouYmx1ZWFwaS5jb3Zlci52MS5Db3N0SXRlbSIdgtPkkwIXOgEqIhIvdjEvY29zdHVzYWdlOnJlYWQwARLCAQocR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbhI1LmJsdWVhcGkuY292ZXIudjEuR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlcXVlc3QaNi5ibHVlYXBpLmNvdmVyLnYxLkdldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25SZXNwb25zZSIzgtPkkwItEisvdjEvcmlnaHRzaXppbmdyZWNvbW1lbmRhdGlvbi97Y29zdEdyb3VwSWR9EpgBChJNb2RpZnlSZXNvdXJjZVR5cGUSKy5ibHVlYXBpLmNvdmVyLnYxLk1vZGlmeVJlc291cmNlVHlwZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLk1vZGlmeVJlc291cmNlVHlwZVJlc3BvbnNlIieC0+STAiE6ASoiHC92MS97dmVuZG9yfS9yZXNvdXJjZS9tb2RpZnkSmAEKEVRlcm1pbmF0ZVJlc291cmNlEiouYmx1ZWFwaS5jb3Zlci52MS5UZXJtaW5hdGVSZXNvdXJjZVJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlRlcm1pbmF0ZVJlc291cmNlUmVzcG9uc2UiKoLT5JMCJDoBKiIfL3YxL3t2ZW5kb3J9L3Jlc291cmNlL3Rlcm1pbmF0ZRKNAQoQVXBsb2FkQ2hhcmdlQ29kZRIpLmJsdWVhcGkuY292ZXIudjEuVXBsb2FkQ2hhcmdlQ29kZVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwbG9hZENoYXJnZUNvZGVSZXNwb25zZSIggtPkkwIaOgEqIhUvdjEvY2hhcmdlY29kZS91cGxvYWQoARJ6CgtBc3NpZ25QYXllchIkLmJsdWVhcGkuY292ZXIudjEuQXNzaWduUGF5ZXJSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5Bc3NpZ25QYXllclJlc3BvbnNlIh6C0+STAhg6ASoiEy92MS97dmVuZG9yfS9wYXllcnMScQoJR2V0UGF5ZXJzEiIuYmx1ZWFwaS5jb3Zlci52MS5HZXRQYXllcnNSZXF1ZXN0GiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRQYXllcnNSZXNwb25zZSIbgtPkkwIVEhMvdjEve3ZlbmRvcn0vcGF5ZXJzEocBCgtHZXRBY2NvdW50cxIkLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50c1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9hY2NvdW50cy97Y29zdEdyb3VwSWR9EocBCgtHZXRTZXJ2aWNlcxIkLmJsdWVhcGkuY292ZXIudjEuR2V0U2VydmljZXNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRTZXJ2aWNlc1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9zZXJ2aWNlcy97Y29zdEdyb3VwSWR9EoMBCgpHZXRSZWdpb25zEiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWdpb25zUmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuR2V0UmVnaW9uc1Jlc3BvbnNlIiqC0+STAiQSIi92MS97dmVuZG9yfS9yZWdpb25zL3tjb3N0R3JvdXBJZH0SdwoHR2V0VGFncxIgLmJsdWVhcGkuY292ZXIudjEuR2V0VGFnc1JlcXVlc3QaIS5ibHVlYXBpLmNvdmVyLnYxLkdldFRhZ3NSZXNwb25zZSIngtPkkwIhEh8vdjEve3ZlbmRvcn0vdGFncy97Y29zdEdyb3VwSWR9EncKCExpc3RGZWVzEiEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RmVlc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiKILT5JMCIjoBKiIdL3YxL2FsbG9jYXRpb25zL2ZlZXMvYWxsOnJlYWQwARJ6CgpSZXN0b3JlRmVlEiMuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlRmVlUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRmVlRGV0YWlscyIngtPkkwIhOgEqIhwvdjEvYWxsb2NhdGlvbnMvZmVlcy9yZXN0b3JlMAESfgoPR2V0Q29zdEdyb3VwRmVlEiguYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBGZWVSZXF1ZXN0GhkuYmx1ZWFwaS5jb3Zlci52MS5GZWVJdGVtIiSC0+STAh46ASoiGS92MS9hbGxvY2F0aW9ucy9mZWVzOnJlYWQwARJ7Cg5MaXN0QWxsb2NhdG9ycxInLmJsdWVhcGkuY292ZXIudjEuTGlzdEFsbG9jYXRvcnNSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yRGV0YWlscyIWgtPkkwIQEg4vdjEvYWxsb2NhdG9yczABEn4KD0NyZWF0ZUFsbG9jYXRvchIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiGYLT5JMCEzoBKiIOL3YxL2FsbG9jYXRvcnMSoAEKF0dldEFsbG9jYXRpb25BdHRyaWJ1dGVzEjAuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1JlcXVlc3QaMS5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UiIILT5JMCGhIYL3YxL2FsbG9jYXRvcnMvYXR0cmlidXRlEpQBChRHZXRBbGxvY2F0aW9uU291cmNlcxItLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlIh2C0+STAhcSFS92MS9hbGxvY2F0b3JzL3NvdXJjZRKBAQoPVXBkYXRlQWxsb2NhdG9yEiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiHoLT5JMCGDoBKhoTL3YxL2FsbG9jYXRvcnMve2lkfRJwCg9EZWxldGVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsbG9jYXRvclJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiG4LT5JMCFSoTL3YxL2FsbG9jYXRvcnMve2lkfRKQAQoVUHJveHlDcmVhdGVDb21wbGV0aW9uEi4uYmx1ZWFwaS5jb3Zlci52MS5Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXNwb25zZSIUgtPkkwIOOgEqIgkvdjEveC9wY2MwARKKAQoUU2ltdWxhdGVGZWVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiKILT5JMCIjoBKiIdL3YxL2FsbG9jYXRpb25zL2ZlZXMvc2ltdWxhdGUwARKYAQoQTGlzdEFjY291bnRVc2FnZRIpLmJsdWVhcGkuY292ZXIudjEuTGlzdEFjY291bnRVc2FnZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiMILT5JMCKjoBKiIlL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9hbGw6cmVhZDABEp0BChNSZXN0b3JlQWNjb3VudFVzYWdlEiwuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlQWNjb3VudFVzYWdlUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudFVzYWdlRGV0YWlscyIvgtPkkwIpOgEqIiQvdjEvYWxsb2NhdGlvbnMvYWNjb3VudHVzYWdlL3Jlc3RvcmUwARKbAQoUU2ltdWxhdGVBY2NvdW50VXNhZ2USKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiMILT5JMCKjoBKiIlL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9zaW11bGF0ZTABEoEBCgtMaXN0U2F2aW5ncxIhLmJsdWVhcGkuY292ZXIudjEuTGlzdEZlZXNSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIrgtPkkwIlOgEqIiAvdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9hbGw6cmVhZDABEokBCg5SZXN0b3JlU2F2aW5ncxInLmJsdWVhcGkuY292ZXIudjEuUmVzdG9yZVNhdmluZ3NSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIqgtPkkwIkOgEqIh8vdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9yZXN0b3JlMAESjAEKD1NpbXVsYXRlU2F2aW5ncxIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBogLmJsdWVhcGkuY292ZXIudjEuU2F2aW5nc0RldGFpbHMiK4LT5JMCJToBKiIgL3YxL2FsbG9jYXRpb25zL3NhdmluZ3Mvc2ltdWxhdGUwARKOAQoWR2V0Q29zdEdyb3VwQWxsb2NhdGlvbhIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwQWxsb2NhdGlvblJlcXVlc3QaIC5ibHVlYXBpLmNvdmVyLnYxLkFsbG9jYXRpb25JdGVtIh+C0+STAhk6ASoiFC92MS9hbGxvY2F0aW9uczpyZWFkMAEShwEKEFByb2Nlc3NBdXRoMFVzZXISKS5ibHVlYXBpLmNvdmVyLnYxLlByb2Nlc3NBdXRoMFVzZXJSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5Qcm9jZXNzQXV0aDBVc2VyUmVzcG9uc2UiHILT5JMCFjoBKiIRL3YxL21lbWJlcnMvYXV0aDASmwEKG0FkZFBhcnRuZXJDZW50ZXJDcmVkZW50aWFscxI0LmJsdWVhcGkuY292ZXIudjEuQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoOgEqIiMvdjEvYXp1cmUvY3JlZGVudGlhbHMvcGFydG5lcmNlbnRlchJ1Cg1BZGRNcG5TZXR0aW5nEiYuYmx1ZWFwaS5jb3Zlci52MS5BZGRNcG5TZXR0aW5nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeOgEqIhkvdjEvYXp1cmUvY3JlZGVudGlhbHMvbXBuEpMBChVHZXRDb3N0R3JvdXBBdHRyaWJ1dGUSLi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEF0dHJpYnV0ZVJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEF0dHJpYnV0ZVJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9hdHRyaWJ1dGVzEm8KCUdldEFsZXJ0cxIiLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnRzUmVxdWVzdBojLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2FsZXJ0cy9jb3N0MAESdgoLQ3JlYXRlQWxlcnQSJC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsZXJ0UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxlcnRSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvYWxlcnRzL2Nvc3QShAEKD0dldEFsZXJ0RGV0YWlscxIoLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnREZXRhaWxzUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnREZXRhaWxzUmVzcG9uc2UiHILT5JMCFhIUL3YxL2FsZXJ0cy9jb3N0L3tpZH0SeAoLRGVsZXRlQWxlcnQSJC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsZXJ0UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWxlcnRSZXNwb25zZSIcgtPkkwIWKhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRKQAQoSVXBkYXRlQWxlcnREZXRhaWxzEisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbGVydERldGFpbHNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbGVydERldGFpbHNSZXNwb25zZSIfgtPkkwIZOgEqGhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRJ6CgtHZXRDaGFubmVscxIkLmJsdWVhcGkuY292ZXIudjEuR2V0Q2hhbm5lbHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsc1Jlc3BvbnNlIhyC0+STAhY6ASoiES92MS9jaGFubmVsczpyZWFkMAESeQoNQ3JlYXRlQ2hhbm5lbBImLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ2hhbm5lbFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNoYW5uZWxSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvY2hhbm5lbHMShwEKEUdldENoYW5uZWxEZXRhaWxzEiouYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsRGV0YWlsc1JlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkdldENoYW5uZWxEZXRhaWxzUmVzcG9uc2UiGYLT5JMCExIRL3YxL2NoYW5uZWxzL3tpZH0SewoNRGVsZXRlQ2hhbm5lbBImLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ2hhbm5lbFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNoYW5uZWxSZXNwb25zZSIZgtPkkwITKhEvdjEvY2hhbm5lbHMve2lkfRKTAQoUVXBkYXRlQ2hhbm5lbERldGFpbHMSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNoYW5uZWxEZXRhaWxzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ2hhbm5lbERldGFpbHNSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvY2hhbm5lbHMve2lkfRKgAQoaR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnMSMy5ibHVlYXBpLmNvdmVyLnYxLkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvZGlzY291bnQSgAEKFUdldEFub21hbHlpbkNvc3RHcm91cBIuLmJsdWVhcGkuY292ZXIudjEuR2V0QW5vbWFseWluQ29zdEdyb3VwUmVxdWVzdBodLmJsdWVhcGkuY292ZXIudjEuQW5vbWFseURhdGEiFoLT5JMCEDoBKiILL3YxL2Fub21hbHkwARKWAQodQ3JlYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIlgtPkkwIfOgEqIhovdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudBKbAQodVXBkYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9EqwBChpHZXREaXNjb3VudEV4cGlyYXRpb25BbGVydBI6LmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuRGlzY291bnRFeHBpcnlBbGVydERhdGEiJ4LT5JMCIRIfL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQve2lkfRKtAQobTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjQuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EaXNjb3VudEV4cGlyeUFsZXJ0RGF0YSIrgtPkkwIlIiMvdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC9hbGw6cmVhZDABEpwBCh1EZWxldGVEaXNjb3VudEV4cGlyYXRpb25BbGVydBI6LmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhKh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9EngKEkNyZWF0ZUFub21hbHlBbGVydBIrLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXOgEqIhIvdjEvYWxlcnRzL2Fub21hbHkSfgoSRGVsZXRlQW5vbWFseUFsZXJ0Ei8uYmx1ZWFwaS5jb3Zlci52MS5NYW5pcHVsYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZKhcvdjEvYWxlcnRzL2Fub21hbHkve2lkfRKIAQoQTGlzdEFub21hbHlBbGVydBIpLmJsdWVhcGkuY292ZXIudjEuTGlzdEFub21hbHlBbGVydFJlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlBbGVydERhdGEiI4LT5JMCHSIbL3YxL2FsZXJ0cy9hbm9tYWx5L2FsbDpyZWFkMAEShwEKD0dldEFub21hbHlBbGVydBIvLmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlBbGVydERhdGEiH4LT5JMCGRIXL3YxL2FsZXJ0cy9hbm9tYWx5L3tpZH0SfQoSVXBkYXRlQW5vbWFseUFsZXJ0EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhw6ASoaFy92MS9hbGVydHMvYW5vbWFseS97aWR9EocBCg9SZWdpc3Rlck5ld1VzZXISKC5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyTmV3VXNlclJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyTmV3VXNlclJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tZW1iZXJzL3JlZ2lzdGVyEogBCg5HZXRVc2VyUHJvZmlsZRInLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlclByb2ZpbGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyUHJvZmlsZVJlc3BvbnNlIiOC0+STAh0SGy92MS9tZW1iZXJzL3Byb2ZpbGUve2VtYWlsfRKUAQoRVXBkYXRlVXNlclByb2ZpbGUSKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclByb2ZpbGVSZXNwb25zZSImgtPkkwIgOgEqGhsvdjEvbWVtYmVycy9wcm9maWxlL3tlbWFpbH0SeAoLTGlzdEJ1ZGdldHMSJC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RCdWRnZXRzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuTGlzdEJ1ZGdldHNSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvYnVkZ2V0OnJlYWQwARJtCglHZXRCdWRnZXQSIi5ibHVlYXBpLmNvdmVyLnYxLkdldEJ1ZGdldFJlcXVlc3QaIy5ibHVlYXBpLmNvdmVyLnYxLkdldEJ1ZGdldFJlc3BvbnNlIheC0+STAhESDy92MS9idWRnZXQve2lkfRJ0CgxDcmVhdGVCdWRnZXQSJS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUJ1ZGdldFJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUJ1ZGdldFJlc3BvbnNlIhWC0+STAg86ASoiCi92MS9idWRnZXQSdgoMRGVsZXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVCdWRnZXRSZXNwb25zZSIXgtPkkwIRKg8vdjEvYnVkZ2V0L3tpZH0SeQoMVXBkYXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVCdWRnZXRSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvYnVkZ2V0L3tpZH0S1wEKJ1Jlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZxJALmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVxdWVzdBpBLmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL21lbWJlcnMvYXdzL3N1YnNjcmlwdGlvbhKsAQodR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXMSNi5ibHVlYXBpLmNvdmVyLnYxLkdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVxdWVzdBo3LmJsdWVhcGkuY292ZXIudjEuR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXNSZXNwb25zZSIagtPkkwIUEhIvdjEvYmlsbGluZy9zdGF0dXMShgEKD0NyZWF0ZVByb2ZpbGluZxIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlUHJvZmlsaW5nUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlUHJvZmlsaW5nUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL21lbWJlcnMvcHJvZmlsZRKWAQoUQWRkSW5mb3RvTWFya2V0cGxhY2USLS5ibHVlYXBpLmNvdmVyLnYxLkFkZEluZm90b01hcmtldHBsYWNlUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuQWRkSW5mb3RvTWFya2V0cGxhY2VSZXNwb25zZSIfgtPkkwIZOgEqIhQvdjEvbWFya2V0cGxhY2UvaW5mbxKcAQoQR2V0UmVwb3J0U3VtbWFyeRIpLmJsdWVhcGkuY292ZXIudjEuR2V0UmVwb3J0U3VtbWFyeVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldFJlcG9ydFN1bW1hcnlSZXNwb25zZSIxgtPkkwIrEikvdjEvcmVwb3J0cy9pbnNpZ2h0L3N1bW1hcnkve2Nvc3RHcm91cElkfRKcAQoTTGlzdFJlY29tbWVuZGF0aW9ucxIrLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiKILT5JMCIhIgL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24wARKfAQoVTGlzdFJlY29tbWVuZGF0aW9uc1YyEi0uYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlIieC0+STAiE6ASoiHC92MS9yZWNvbW1lbmRhdGlvbnMvYWxsOnJlYWQwARKbAQoRR2V0UmVjb21tZW5kYXRpb24SKi5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25SZXNwb25zZSItgtPkkwInEiUvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi97aWR9EpwBChNHZXRSZWNvbW1lbmRhdGlvblYyEiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblYyUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WMlJlc3BvbnNlIiiC0+STAiISIC92MS9yZWNvbW1lbmRhdGlvbnMvZGV0YWlscy97aWR9EpoBChNFeGVjdXRlT3B0aW1pemF0aW9uEiwuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlIiaC0+STAiA6ASoiGy92MS9yZWNvbW1lbmRhdGlvbnMvZXhlY3V0ZRKdAQoSR2V0RXhlY3V0aW9uU3RhdHVzEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRFeGVjdXRpb25TdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRFeGVjdXRpb25TdGF0dXNSZXNwb25zZSIqgtPkkwIkEiIvdjEvcmVjb21tZW5kYXRpb25zL2V4ZWN1dGUvc3RhdHVzMAESmQEKDk1hcmtBc0V4ZWN1dGVkEicuYmx1ZWFwaS5jb3Zlci52MS5NYXJrQXNFeGVjdXRlZFJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLk1hcmtBc0V4ZWN1dGVkUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vZXhlY3V0ZWQSuQEKGlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uEjMuYmx1ZWFwaS5jb3Zlci52MS5VbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiMILT5JMCKjoBKiIlL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vdW5kbxKkAQoTT3B0aW1pemF0aW9uSGlzdG9yeRIsLmJsdWVhcGkuY292ZXIudjEuT3B0aW1pemF0aW9uSGlzdG9yeVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLk9wdGltaXphdGlvbkhpc3RvcnlSZXNwb25zZSIwgtPkkwIqEigvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi9oaXN0b3J5Er8BChpTZXRDb3N0R3JvdXBFdmVudEluZGljYXRvchIzLmJsdWVhcGkuY292ZXIudjEuU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBFdmVudEluZGljYXRvclJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vZXZlbnRJbmRpY2F0b3ISuAEKGlNldENvc3RHcm91cEFub21hbHlPcHRpb25zEjMuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9uc1JlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9hbm9tYWx5EpABChFTZXRPcmdGaXNjYWxNb250aBIqLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5TZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlIiKC0+STAhw6ASoiFy92MS9yZXBvcnRzL2Zpc2NhbG1vbnRoEo0BChFHZXRPcmdGaXNjYWxNb250aBIqLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlIh+C0+STAhkSFy92MS9yZXBvcnRzL2Zpc2NhbG1vbnRoEqIBChRUcmFuc2Zlck9yZ2FuaXphdGlvbhItLmJsdWVhcGkuY292ZXIudjEuVHJhbnNmZXJPcmdhbml6YXRpb25SZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5UcmFuc2Zlck9yZ2FuaXphdGlvblJlc3BvbnNlIiuC0+STAiUSIy92MS9vcmdhbml6YXRpb25zL3RyYW5zZmVyL3t0YXJnZXR9EqkBChlVcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJEjIuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJUmVxdWVzdBozLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlc3BvbnNlIiOC0+STAh06ASoaGC92MS9tZS9jb3N0Z3JvdXBjcmVhdGlvbhJ2Cg1MaXN0VW5pdFR5cGVzEiYuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5pdFR5cGVzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuTGlzdFVuaXRUeXBlc1Jlc3BvbnNlIhSC0+STAg4SDC92MS91bml0Y29zdBJ8Cg5DcmVhdGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0VHlwZVJlc3BvbnNlIheC0+STAhE6ASoiDC92MS91bml0Y29zdBJ1CgtHZXRVbml0VHlwZRIkLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdFR5cGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0VHlwZVJlc3BvbnNlIhmC0+STAhMSES92MS91bml0Y29zdC97aWR9EoEBCg5VcGRhdGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0VHlwZVJlc3BvbnNlIhyC0+STAhY6ASoaES92MS91bml0Y29zdC97aWR9En4KDkRlbGV0ZVVuaXRUeXBlEicuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVbml0VHlwZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRUeXBlUmVzcG9uc2UiGYLT5JMCEyoRL3YxL3VuaXRjb3N0L3tpZH0SdgoKTWVyZ2VVbml0cxIjLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VVbml0c1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLk1lcmdlVW5pdHNSZXNwb25zZSIdgtPkkwIXOgEqIhIvdjEvdW5pdGNvc3QvbWVyZ2USkQEKEkxpc3RTdWdnZXN0ZWRVbml0cxIrLmJsdWVhcGkuY292ZXIudjEuTGlzdFN1Z2dlc3RlZFVuaXRzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFN1Z2dlc3RlZFVuaXRzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3VuaXRjb3N0L2F1dG9zdWdnZXN0Ep0BChNNZXJnZVN1Z2dlc3RlZFVuaXRzEiwuYmx1ZWFwaS5jb3Zlci52MS5NZXJnZVN1Z2dlc3RlZFVuaXRzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlIimC0+STAiM6ASoiHi92MS91bml0Y29zdC9hdXRvc3VnZ2VzdC9tZXJnZRKqAQoXQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWQSMC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkUmVxdWVzdBoxLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXNwb25zZSIqgtPkkwIkOgEqIh8vdjEvdW5pdGNvc3QvYXV0b3N1Z2dlc3QvY3JlYXRlEpgBChNMaXN0U2hhcmVkUmVzb3VyY2VzEiwuYmx1ZWFwaS5jb3Zlci52MS5MaXN0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuTGlzdFNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIiSC0+STAh4SHC92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMSoAEKFENyZWF0ZVNoYXJlZFJlc291cmNlEi4uYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzEpkBChFHZXRTaGFyZWRSZXNvdXJjZRIrLmJsdWVhcGkuY292ZXIudjEuR2V0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuR2V0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EqUBChRVcGRhdGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EqIBChREZWxldGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiKYLT5JMCIyohL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EoQBCg9MaXN0VW5pdE1ldHJpY3MSKC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0TWV0cmljc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0TWV0cmljc1Jlc3BvbnNlIhyC0+STAhYSFC92MS91bml0Y29zdC9tZXRyaWNzEooBChBDcmVhdGVVbml0TWV0cmljEikuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0TWV0cmljUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdE1ldHJpY1Jlc3BvbnNlIh+C0+STAhk6ASoiFC92MS91bml0Y29zdC9tZXRyaWNzEoMBCg1HZXRVbml0TWV0cmljEiYuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0TWV0cmljUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdE1ldHJpY1Jlc3BvbnNlIiGC0+STAhsSGS92MS91bml0Y29zdC9tZXRyaWNzL3tpZH0SjwEKEFVwZGF0ZVVuaXRNZXRyaWMSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVuaXRNZXRyaWNSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0TWV0cmljUmVzcG9uc2UiJILT5JMCHjoBKhoZL3YxL3VuaXRjb3N0L21ldHJpY3Mve2lkfRKMAQoQRGVsZXRlVW5pdE1ldHJpYxIpLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVW5pdE1ldHJpY1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRNZXRyaWNSZXNwb25zZSIhgtPkkwIbKhkvdjEvdW5pdGNvc3QvbWV0cmljcy97aWR9ErYBChhDb25maXJtR29vZ2xlU2hlZXRBY2Nlc3MSMS5ibHVlYXBpLmNvdmVyLnYxLkNvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1JlcXVlc3QaMi5ibHVlYXBpLmNvdmVyLnYxLkNvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS91bml0Y29zdC9tZXRyaWNzL2dvb2dsZXNoZWV0L2NvbmZpcm0SpAEKElByZXZpZXdHb29nbGVTaGVldBIrLmJsdWVhcGkuY292ZXIudjEuUHJldmlld0dvb2dsZVNoZWV0UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuUHJldmlld0dvb2dsZVNoZWV0UmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL3VuaXRjb3N0L21ldHJpY3MvZ29vZ2xlc2hlZXQvcHJldmlldxKqAQoVR2V0Q2xvdWR3YXRjaE1ldGFkYXRhEi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZSIwgtPkkwIqEigvdjEvdW5pdGNvc3QvbWV0cmljcy9jbG91ZHdhdGNoL21ldGFkYXRhEoQBCg9WZXJpZnlBUElBY2Nlc3MSKC5ibHVlYXBpLmNvdmVyLnYxLlZlcmlmeUFQSUFjY2Vzc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlZlcmlmeUFQSUFjY2Vzc1Jlc3BvbnNlIhyC0+STAhYSFC92MS9hcGlhY2Nlc3MvdmVyaWZ5EokBChFHZXRBSUNvc3RBbmRVc2FnZRIqLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlIhuC0+STAhU6ASoiEC92MS9haS9jb3N0dXNhZ2USlwEKFUdldENvbnRhaW5lckNvc3RVc2FnZRIrLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL2NvbnRhaW5lcnMvY29zdHVzYWdlEocBChBQb3B1bGF0ZURlbW9EYXRhEikuYmx1ZWFwaS5jb3Zlci52MS5Qb3B1bGF0ZURlbW9EYXRhUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhyC0+STAhY6ASoiES92MS9kZW1vL3BvcHVsYXRlEnsKDVJlc2V0RGVtb0RhdGESJi5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0RGVtb0RhdGFSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5SZXNldERlbW9EYXRhUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL2RlbW8vcmVzZXQSmQEKD0dldERpc2NvdW50UGxhbhIoLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRQbGFuUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRQbGFuUmVzcG9uc2UiMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2Rpc2NvdW50cGxhbi97b3JnSWR9OnJlYWQSfwoOR2V0Q29zdFVzYWdlVjISJy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXNwb25zZSIYgtPkkwISOgEqIg0vdjEvY29zdHVzYWdlMAESqAEKFUxpc3ROb25wZXJmb3JtaW5nUmF0ZRIuLmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3JlcG9ydHMvcmF0ZS9ub25wZXJmb3JtaW5nOnJlYWQamAGSQZQBEkMoQUxQSEEpIENvdmVyIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2NvdmVyGk0KElNlcnZpY2UgZGVmaW5pdGlvbhI3aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2NvdmVyL0JLChdjbG91ZC5hbHBoYXVzLmFwaS5jb3ZlckIKQ292ZXJQcm90b1okZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2NvdmVyYgZwcm90bzM", [optimizationrecommendation_pb_1.file_api_cover_optimizationrecommendation, recommendation_pb_1.file_api_cover_recommendation_recommendation, attribute_pb_1.file_api_cover_attribute, user_pb_1.file_api_cover_user, view_pb_1.file_api_cover_view, unitcost_pb_1.file_api_cover_unitcost, costgroup_pb_1.file_api_cover_costgroup, accountaccess_pb_1.file_api_cover_accountaccess, costforecast_pb_1.file_api_cover_costforecast, discountplan_pb_1.file_api_cover_discountplan, discountrecommendation_pb_1.file_api_cover_discountrecommendation, rightsizingrecommendation_pb_1.file_api_cover_rightsizingrecommendation, alert_pb_1.file_api_cover_alert, budget_pb_1.file_api_cover_budget, insightreport_pb_1.file_api_cover_insightreport, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
38
+ exports.file_cover_v1_cover = (0, codegenv2_1.fileDesc)("ChRjb3Zlci92MS9jb3Zlci5wcm90bxIQYmx1ZWFwaS5jb3Zlci52MSLqAQobR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0VGltZRgCIAEoCRIPCgdlbmRUaW1lGAMgASgJEk4KC2dyYW51bGFyaXR5GAQgASgOMjkuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0Rm9yZWNhc3RzRGF0YVJlcXVlc3QuR3JhbnVsYXJpdHkiQgoLR3JhbnVsYXJpdHkSGwoXR1JBTlVMQVJJVFlfVU5TUEVDSUZJRUQQABIJCgVEQUlMWRABEgsKB01PTlRITFkQAiJqChxHZXRDb3N0Rm9yZWNhc3RzRGF0YVJlc3BvbnNlEgwKBGRhdGUYASABKAkSFAoMZm9yZWNhc3RDb3N0GAIgASgBEhIKCnVwcGVyQm91bmQYAyABKAESEgoKbG93ZXJCb3VuZBgEIAEoASIWChRMaXN0Rm9yZWNhc3RzUmVxdWVzdCJcChVMaXN0Rm9yZWNhc3RzUmVzcG9uc2USQwoTY29zdEZvcmVjYXN0RGV0YWlscxgBIAMoCzImLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RGb3JlY2FzdERldGFpbHMi8wEKGUNyZWF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QSFAoMZm9yZWNhc3ROYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEi8KCWNvc3RHcm91cBgDIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cBIbChNwYXN0QWN0dWFsQ29zdFJhbmdlGAQgASgDEhkKEWxvb2tGb3J3YXJkUGVyaW9kGAUgASgDEkIKE2V4dGVybmFsQWRqdXN0bWVudHMYBiADKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5FeHRlcm5hbEFkanVzdG1lbnQigAIKGkNyZWF0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEhQKDGZvcmVjYXN0TmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIvCgljb3N0R3JvdXAYBCABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXASGwoTcGFzdEFjdHVhbENvc3RSYW5nZRgFIAEoAxIZChFsb29rRm9yd2FyZFBlcmlvZBgGIAEoAxJCChNleHRlcm5hbEFkanVzdG1lbnRzGAcgAygLMiUuYmx1ZWFwaS5hcGkuY292ZXIuRXh0ZXJuYWxBZGp1c3RtZW50IiQKFkdldENvc3RGb3JlY2FzdFJlcXVlc3QSCgoCaWQYASABKAkivwIKF0dldENvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJEhQKDGZvcmVjYXN0TmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIvCgljb3N0R3JvdXAYBCABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXASGwoTcGFzdEFjdHVhbENvc3RSYW5nZRgFIAEoAxIZChFsb29rRm9yd2FyZFBlcmlvZBgGIAEoAxJCChNleHRlcm5hbEFkanVzdG1lbnRzGAcgAygLMiUuYmx1ZWFwaS5hcGkuY292ZXIuRXh0ZXJuYWxBZGp1c3RtZW50EhEKCWNyZWF0ZWRCeRgIIAEoCRIUCgxjcmVhdGlvbkRhdGUYCSABKAkSFwoPbGFzdFVwZGF0ZWREYXRlGAogASgJIv8BChlVcGRhdGVDb3N0Rm9yZWNhc3RSZXF1ZXN0EgoKAmlkGAEgASgJEhQKDGZvcmVjYXN0TmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIvCgljb3N0R3JvdXAYBCABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXASGwoTcGFzdEFjdHVhbENvc3RSYW5nZRgFIAEoAxIZChFsb29rRm9yd2FyZFBlcmlvZBgGIAEoAxJCChNleHRlcm5hbEFkanVzdG1lbnRzGAcgAygLMiUuYmx1ZWFwaS5hcGkuY292ZXIuRXh0ZXJuYWxBZGp1c3RtZW50IsICChpVcGRhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudBIRCgljcmVhdGVkQnkYCCABKAkSFAoMY3JlYXRpb25EYXRlGAkgASgJEhcKD2xhc3RVcGRhdGVkRGF0ZRgKIAEoCSInChlEZWxldGVDb3N0Rm9yZWNhc3RSZXF1ZXN0EgoKAmlkGAEgASgJIigKGkRlbGV0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlEgoKAmlkGAEgASgJIm8KFkdldENvc3RVc2FnZVYyUmVzcG9uc2USDQoFdmFsdWUYASABKAESDAoEZGF0ZRgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSKAoHZGV0YWlscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QivwQKFUdldENvc3RVc2FnZVYyUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCRJICgtncmFudWxhcml0eRgEIAEoDjIzLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXF1ZXN0LkdyYW51bGFyaXR5EhAKCGdyb3VwQnlzGAUgAygJEkIKCGNhdGVnb3J5GAYgASgOMjAuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VWMlJlcXVlc3QuQ2F0ZWdvcnkSEAoIY3VycmVuY3kYByABKAkSOgoKYXdzT3B0aW9ucxgIIAEoCzImLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cEF3c09wdGlvbnMSRAoPYXp1cmVjc3BPcHRpb25zGAkgASgLMisuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwQXp1cmVDc3BPcHRpb25zEjoKCmdjcE9wdGlvbnMYCiABKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBHY3BPcHRpb25zIkIKC0dyYW51bGFyaXR5EhsKF0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASCQoFREFJTFkQARILCgdNT05USExZEAIiOQoIQ2F0ZWdvcnkSGAoUQ2F0ZWdvcnlfVU5TUEVDSUZJRUQQABIICgRDT1NUEAESCQoFVVNBR0UQAiIZChdQb3B1bGF0ZURlbW9EYXRhUmVxdWVzdCIaChhQb3B1bGF0ZURlbW9EYXRhUmVzcG9uc2UiFgoUUmVzZXREZW1vRGF0YVJlcXVlc3QiFwoVUmVzZXREZW1vRGF0YVJlc3BvbnNlIt8GChlDb250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRJKCgptZXRyaWNUeXBlGAMgASgOMjYuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0Lk1ldHJpY1R5cGUSEQoJc3RhcnRUaW1lGAQgASgJEg8KB2VuZFRpbWUYBSABKAkSUAoLZ3JhbnVsYXJpdHkYBiABKA4yOy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuVGltZUdyYW51bGFyaXR5EhAKCGdyb3VwQnlzGAcgAygJEksKB2ZpbHRlcnMYCCADKAsyOi5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuRmlsdGVyQ3JpdGVyaWESTAoLc2VydmljZVR5cGUYCSABKA4yNy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuU2VydmljZVR5cGUazwEKDkZpbHRlckNyaXRlcmlhEgsKA2tleRgBIAEoCRJbCghvcGVyYXRvchgCIAEoDjJJLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdC5GaWx0ZXJDcml0ZXJpYS5GaWx0ZXJPcGVyYXRvchINCgV2YWx1ZRgDIAEoCSJECg5GaWx0ZXJPcGVyYXRvchIYChRPUEVSQVRPUl9VTlNQRUNJRklFRBAAEgkKBUVRVUFMEAESDQoJTk9UX0VRVUFMEAIiRgoPVGltZUdyYW51bGFyaXR5EhsKF0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASCQoFREFJTFkQARILCgdNT05USExZEAIiWgoKTWV0cmljVHlwZRIWChJNRVRSSUNfVU5TUEVDSUZJRUQQABIICgRDT1NUEAESCQoFVVNBR0UQAhIOCgpFRkZJQ0lFTkNZEAMSDwoLVU5VU0VEX0NPU1QQBCI4CgtTZXJ2aWNlVHlwZRIXChNTRVJWSUNFX1VOU1BFQ0lGSUVEEAASBwoDRUNTEAESBwoDRUtTEAIi1woKGkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlEksKB3Jlc3VsdHMYASADKAsyOi5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLkdyb3VwZWRSZXN1bHQSUwoKaGlnaGxpZ2h0cxgCIAEoCzI/LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHRzEhEKCXRvdGFsQ29zdBgDIAEoARIVCg1hdmdFZmZpY2llbmN5GAQgASgBGkQKCkNvc3RNZXRyaWMSDgoGYW1vdW50GAEgASgBEhAKCGN1cnJlbmN5GAIgASgJEhQKDHVudXNlZEFtb3VudBgDIAEoARqQAQoLVXNhZ2VNZXRyaWMSDAoEdW5pdBgBIAEoCRIWCg5yZXNlcnZlZEFtb3VudBgCIAEoARIUCgxhY3R1YWxBbW91bnQYAyABKAESEgoKZWZmaWNpZW5jeRgEIAEoARIWCg5jcHVVdGlsaXphdGlvbhgFIAEoARIZChFtZW1vcnlVdGlsaXphdGlvbhgGIAEoARrBAQoPTWV0cmljRGF0YVBvaW50EgwKBGRhdGUYASABKAkSRwoEY29zdBgCIAEoCzI3LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuQ29zdE1ldHJpY0gAEkkKBXVzYWdlGAMgASgLMjguYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Vc2FnZU1ldHJpY0gAQgwKCm1ldHJpY0RhdGEaTAoRUmVzb3VyY2VIaWdobGlnaHQSEgoKcmVzb3VyY2VJZBgBIAEoCRIUCgxyZXNvdXJjZU5hbWUYAiABKAkSDQoFdmFsdWUYAyABKAEahAMKElJlc291cmNlSGlnaGxpZ2h0cxJaChJoaWdoZXN0Q2x1c3RlckNvc3QYASABKAsyPi5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLlJlc291cmNlSGlnaGxpZ2h0ElkKEWhpZ2hlc3RVbnVzZWRDb3N0GAIgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBJbChNoaWdoZXN0V29ya2xvYWRDb3N0GAMgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBJaChJoaWdoZXN0Q29tcHV0ZUNvc3QYBCABKAsyPi5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLlJlc291cmNlSGlnaGxpZ2h0GvoBCg1Hcm91cGVkUmVzdWx0El4KCmF0dHJpYnV0ZXMYASADKAsySi5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLkdyb3VwZWRSZXN1bHQuQXR0cmlidXRlc0VudHJ5ElYKEG1ldHJpY0RhdGFQb2ludHMYAiADKAsyPC5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLk1ldHJpY0RhdGFQb2ludBoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKPBAoYR2V0QUlDb3N0QW5kVXNhZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIRCglzdGFydFRpbWUYAyABKAkSDwoHZW5kVGltZRgEIAEoCRJLCgtncmFudWxhcml0eRgFIAEoDjI2LmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXF1ZXN0LkdyYW51bGFyaXR5EhAKCGdyb3VwQnlzGAYgAygJEkIKB2ZpbHRlcnMYByADKAsyMS5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdC5GaWx0ZXIawgEKBkZpbHRlchILCgNrZXkYASABKAkSTAoIb3BlcmF0b3IYAiABKA4yOi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdC5GaWx0ZXIuT3BlcmF0b3ISDgoGdmFsdWVzGAMgAygJEg0KBXZhbHVlGAQgASgJIj4KCE9wZXJhdG9yEhgKFE9QRVJBVE9SX1VOU1BFQ0lGSUVEEAASCQoFRVFVQUwQARINCglOT1RfRVFVQUwQAiJCCgtHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIqcEChlHZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlEkMKB3Jlc3VsdHMYASADKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UuUmVzdWx0GigKBENvc3QSDgoGYW1vdW50GAEgASgBEhAKCGN1cnJlbmN5GAIgASgJGiUKBVVzYWdlEgwKBHVuaXQYASABKAkSDgoGYW1vdW50GAIgASgBGpgBCgZNZXRyaWMSDAoEZGF0ZRgBIAEoCRI+CgRjb3N0GAIgASgLMjAuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLkNvc3QSQAoFdXNhZ2UYAyABKAsyMS5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UuVXNhZ2Ua2AEKBlJlc3VsdBJWCgphdHRyaWJ1dGVzGAEgAygLMkIuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlJlc3VsdC5BdHRyaWJ1dGVzRW50cnkSQwoHbWV0cmljcxgCIAMoCzIyLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5NZXRyaWMaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiGwoZR2V0RXhlY3V0aW9uU3RhdHVzUmVxdWVzdCJXChpHZXRFeGVjdXRpb25TdGF0dXNSZXNwb25zZRIYChByZWNvbW1lbmRhdGlvbklkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIjgKFlZlcmlmeUFQSUFjY2Vzc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg4KBnRhcmdldBgCIAEoCSIpChdWZXJpZnlBUElBY2Nlc3NSZXNwb25zZRIOCgZyZXN1bHQYASABKAgiZQoaR2V0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QSCgoCaWQYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSFAoMcGVyaW9kT3B0aW9uGAMgASgJEhAKCGN1cnJlbmN5GAQgASgJImEKG0dldFJlY29tbWVuZGF0aW9uVjJSZXNwb25zZRJCCgRkYXRhGAEgASgLMjQuYmx1ZWFwaS5hcGkuY292ZXIucmVjb21tZW5kYXRpb24uUmVjb21tZW5kYXRpb25EYXRhIlEKEU9uYm9hcmRPcmdSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEgwKBG5hbWUYAyABKAkSDQoFb3JnSWQYBCABKAkiQwoST25ib2FyZE9yZ1Jlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiTQoTSW52aXRlTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAMoCRIQCghpc1Jlc2VuZBgCIAEoCBIVCg1pbnZpdGVBc0FkbWluGAMgASgIIiUKFEludml0ZU1lbWJlclJlc3BvbnNlEg0KBWVtYWlsGAEgAygJIqQBChNBY3RpdmF0ZVVzZXJSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCRIYChBwcmV2aW91c1Bhc3N3b3JkGAIgASgJEhAKCHBhc3N3b3JkGAMgASgJEgwKBG5hbWUYBCABKAkSDgoGbG9jYWxlGAUgASgJEg0KBWVtYWlsGAYgASgJEg8KB2lzQXV0aDAYByABKAgSEwoLYXV0aDBVc2VySWQYCCABKAkiRQoUQWN0aXZhdGVVc2VyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJYChNDcmVhdGVNZW1iZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEgwKBG5hbWUYAyABKAkSEgoKY29zdGdyb3VwcxgEIAMoCSJFChRDcmVhdGVNZW1iZXJSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIhMKEUdldE1lbWJlcnNSZXF1ZXN0IkMKEkdldE1lbWJlcnNSZXNwb25zZRItCgh1c2VyRGF0YRgBIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIikKF0dldE1lbWJlckRldGFpbHNSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCSJJChhHZXRNZW1iZXJEZXRhaWxzUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIrChlHZXRNZW1iZXJDb3N0R3JvdXBSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCSJUChpHZXRNZW1iZXJDb3N0R3JvdXBSZXNwb25zZRI2Cgpjb3N0R3JvdXBzGAEgAygLMiIuYmx1ZWFwaS5hcGkuY292ZXIuTWVtYmVyQ29zdEdyb3VwIkAKHVVwZGF0ZU1lbWJlclBlcm1pc3Npb25SZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCRIPCgdpc0FkbWluGAIgASgIIk8KHlVwZGF0ZU1lbWJlclBlcm1pc3Npb25SZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIhcKFUdldFVzZXJEZXRhaWxzUmVxdWVzdCJHChZHZXRVc2VyRGV0YWlsc1Jlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKQoXVXBkYXRlVXNlckF2YXRhclJlcXVlc3QSDgoGYXZhdGFyGAEgASgJIkkKGFVwZGF0ZVVzZXJBdmF0YXJSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIiUKFVVwZGF0ZVVzZXJJY29uUmVxdWVzdBIMCgRpY29uGAEgASgJIkcKFlVwZGF0ZVVzZXJJY29uUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIxChtVcGRhdGVVc2VyQ29sb3JUaGVtZVJlcXVlc3QSEgoKY29sb3JUaGVtZRgBIAEoCSJNChxVcGRhdGVVc2VyQ29sb3JUaGVtZVJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiJQoVVXBkYXRlVXNlck5hbWVSZXF1ZXN0EgwKBG5hbWUYASABKAkiRwoWVXBkYXRlVXNlck5hbWVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIicKFlVwZGF0ZVVzZXJFbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkiSAoXVXBkYXRlVXNlckVtYWlsUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIrChlVcGRhdGVVc2VyTWFpblZpZXdSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSJLChpVcGRhdGVVc2VyTWFpblZpZXdSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIkkKGFJlc2V0VXNlclBhc3N3b3JkUmVxdWVzdBIYChBwcmV2aW91c1Bhc3N3b3JkGAEgASgJEhMKC25ld1Bhc3N3b3JkGAIgASgJIkoKGVJlc2V0VXNlclBhc3N3b3JkUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIpChdVcGRhdGVVc2VyTG9jYWxlUmVxdWVzdBIOCgZsb2NhbGUYASABKAkiSQoYVXBkYXRlVXNlckxvY2FsZVJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiLQoZVXBkYXRlVXNlckFwcFRoZW1lUmVxdWVzdBIQCghhcHBUaGVtZRgBIAEoCSJLChpVcGRhdGVVc2VyQXBwVGhlbWVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIkMKGVVwZGF0ZVVzZXJUaW1lem9uZVJlcXVlc3QSEAoIdGltZVpvbmUYASABKAkSFAoMYXV0b1RpbWVab25lGAIgASgIIksKGlVwZGF0ZVVzZXJUaW1lem9uZVJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiMQobVXBkYXRlVXNlckF0dHJpYnV0ZXNSZXF1ZXN0EhIKCmF0dHJpYnV0ZXMYASADKAkiTQocVXBkYXRlVXNlckF0dHJpYnV0ZXNSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIiUKE0RlbGV0ZU1lbWJlclJlcXVlc3QSDgoGdXNlcklkGAEgASgJIiYKFERlbGV0ZU1lbWJlclJlc3BvbnNlEg4KBnVzZXJJZBgBIAEoCSImChRSZXNldFBhc3N3b3JkUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiJwoVUmVzZXRQYXNzd29yZFJlc3BvbnNlEg4KBnVzZXJJZBgBIAEoCSK7AQoRQ3JlYXRlVmlld1JlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIRCglpc1ByaXZhdGUYAyABKAgSEgoKaXNFZGl0YWJsZRgEIAEoCBIMCgRpY29uGAUgASgJEhIKCnJlcG9ydFR5cGUYBiABKAkSEgoKY29sb3JUaGVtZRgHIAEoCRIUCgxyZXBvcnRQZXJpb2QYCCABKAkSEAoIY3VycmVuY3kYCSABKAkiQwoSQ3JlYXRlVmlld1Jlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiEQoPR2V0Vmlld3NSZXF1ZXN0IkEKEEdldFZpZXdzUmVzcG9uc2USLQoIdmlld0xpc3QYASADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5WaWV3TGlzdCInChVHZXRDdXJyZW50Vmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIkcKFkdldEN1cnJlbnRWaWV3UmVzcG9uc2USLQoIdmlld0RhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5WaWV3RGF0YSIZChdHZXRGYXZvcml0ZVZpZXdzUmVxdWVzdCJLChhHZXRGYXZvcml0ZVZpZXdzUmVzcG9uc2USLwoJZmF2b3JpdGVzGAEgAygLMhwuYmx1ZWFwaS5hcGkuY292ZXIuRmF2b3JpdGVzIiQKElB1Ymxpc2hWaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiIgoTUHVibGlzaFZpZXdSZXNwb25zZRILCgN1cmwYASABKAkiJAoSQWRkRmF2b3JpdGVSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSIlChNBZGRGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSInChVSZW1vdmVGYXZvcml0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJIigKFlJlbW92ZUZhdm9yaXRlUmVzcG9uc2USDgoGdmlld0lkGAEgASgJIo8BChFVcGRhdGVWaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhEKCWlzUHJpdmF0ZRgFIAEoCBISCgppc0VkaXRhYmxlGAYgASgIEhIKCmNvbG9yVGhlbWUYByABKAkiJAoSVXBkYXRlVmlld1Jlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJYChdVcGRhdGVWaWV3TGF5b3V0UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSLQoGbGF5b3V0GAIgAygLMh0uYmx1ZWFwaS5hcGkuY292ZXIuV2lkZ2V0RGF0YSJJChhVcGRhdGVWaWV3TGF5b3V0UmVzcG9uc2USLQoGbGF5b3V0GAEgAygLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVmlld0xheW91dCKaAQoXVXBkYXRlVmlld1dpZGdldFJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhAKCHdpZGdldElkGAIgASgJEigKB29wdGlvbnMYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCHJlcXVlc3RzGAQgAygLMiEuYmx1ZWFwaS5hcGkuY292ZXIuTGF5b3V0UmVxdWVzdHMiXwoYVXBkYXRlVmlld1dpZGdldFJlc3BvbnNlEhAKCHdpZGdldElkGAEgASgJEjEKCndpZGdldERhdGEYAiABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5XaWRnZXREYXRhIkEKG1VwZGF0ZVZpZXdDb2xvclRoZW1lUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEgoKY29sb3JUaGVtZRgCIAEoCSJNChxVcGRhdGVWaWV3Q29sb3JUaGVtZVJlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiPQoZVXBkYXRlVmlld0N1cnJlbmN5UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEAoIY3VycmVuY3kYAiABKAkiSwoaVXBkYXRlVmlld0N1cnJlbmN5UmVzcG9uc2USLQoIdmlld0RhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5WaWV3RGF0YSI1ChtTZXRPcmdVcGRhdGVDdXJyZW5jeVJlcXVlc3QSFgoOdXBkYXRlQ3VycmVuY3kYASABKAMiNgocU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZRIWCg51cGRhdGVDdXJyZW5jeRgBIAEoAyIdChtHZXRPcmdVcGRhdGVDdXJyZW5jeVJlcXVlc3QiWQocR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZRINCgVvcmdJZBgBIAEoCRIWCg51cGRhdGVDdXJyZW5jeRgCIAEoAxISCgpsYXN0VXBkYXRlGAMgASgJIj4KGExpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBIRCglzdGFydERhdGUYASABKAkSDwoHZW5kRGF0ZRgCIAEoCSJiChlMaXN0RXhjaGFuZ2VSYXRlc1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEjYKDWV4Y2hhbmdlUmF0ZXMYAiADKAsyHy5ibHVlYXBpLmNvdmVyLnYxLkV4Y2hhbmdlUmF0ZXMiQgoNRXhjaGFuZ2VSYXRlcxINCgVtb250aBgBIAEoCRIUCgxleGNoYW5nZVJhdGUYAiABKAISDAoEZGF0ZRgDIAEoCSIjChFEZWxldGVWaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiJAoSRGVsZXRlVmlld1Jlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJlChpVcGRhdGVTaWRlTWVudVN0YXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSNwoNc2lkZW1lbnVzdGF0ZRgCIAMoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlNpZGVNZW51U3RhdGUiLQobVXBkYXRlU2lkZU1lbnVTdGF0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJAChpBZGRTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEgoKbWVudUl0ZW1JZBgCIAEoCSItChtBZGRTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2USDgoGdmlld0lkGAEgASgJIkMKHVJlbW92ZVNpZGVNZW51RmF2b3JpdGVSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCRISCgptZW51SXRlbUlkGAIgASgJIjAKHlJlbW92ZVNpZGVNZW51RmF2b3JpdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAki0wEKFkNyZWF0ZUNvc3RHcm91cFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIuCgR0eXBlGAcgASgOMiAuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwVHlwZRITCgtkZXNjcmlwdGlvbhgCIAEoCRINCgVpbWFnZRgDIAEoCRIMCgRpY29uGAQgASgJEhIKCmNvbG9yVGhlbWUYBSABKAkSNQoMY29tYmluYXRpb25zGAYgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIlIKF0NyZWF0ZUNvc3RHcm91cFJlc3BvbnNlEjcKDWNvc3RHcm91cERhdGEYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBEYXRhIhYKFEdldENvc3RHcm91cHNSZXF1ZXN0IlAKFUdldENvc3RHcm91cHNSZXNwb25zZRI3Cg1jb3N0R3JvdXBEYXRhGAEgAygLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwRGF0YSIxChpHZXRDb3N0R3JvdXBEZXRhaWxzUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCSJWChtHZXRDb3N0R3JvdXBEZXRhaWxzUmVzcG9uc2USNwoNY29zdEdyb3VwRGF0YRgBIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cERhdGEiPwoaVXBkYXRlQ29zdEdyb3VwTmFtZVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDAoEbmFtZRgCIAEoCSIrChtVcGRhdGVDb3N0R3JvdXBOYW1lUmVzcG9uc2USDAoEbmFtZRgBIAEoCSJNCiFVcGRhdGVDb3N0R3JvdXBEZXNjcmlwdGlvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiOQoiVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXNwb25zZRITCgtkZXNjcmlwdGlvbhgBIAEoCSJBChtVcGRhdGVDb3N0R3JvdXBJbWFnZVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDQoFaW1hZ2UYAiABKAkiLQocVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXNwb25zZRINCgVpbWFnZRgBIAEoCSI/ChpVcGRhdGVDb3N0R3JvdXBJY29uUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIMCgRpY29uGAIgASgJIisKG1VwZGF0ZUNvc3RHcm91cEljb25SZXNwb25zZRIMCgRpY29uGAEgASgJIksKIFVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhIKCmNvbG9yVGhlbWUYAiABKAkiNwohVXBkYXRlQ29zdEdyb3VwQ29sb3JUaGVtZVJlc3BvbnNlEhIKCmNvbG9yVGhlbWUYASABKAkicAoiVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRI1Cgxjb21iaW5hdGlvbnMYAiABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMiXAojVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVzcG9uc2USNQoMY29tYmluYXRpb25zGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIkMKHEFzc2lnbkNvc3RHcm91cE1lbWJlclJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDgoGdXNlcklkGAIgASgJIkQKHUFzc2lnbkNvc3RHcm91cE1lbWJlclJlc3BvbnNlEhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnVzZXJJZBgCIAEoCSJDChxSZW1vdmVDb3N0R3JvdXBNZW1iZXJSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnVzZXJJZBgCIAEoCSJECh1SZW1vdmVDb3N0R3JvdXBNZW1iZXJSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiLQoWRGVsZXRlQ29zdEdyb3VwUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCSIuChdEZWxldGVDb3N0R3JvdXBSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCSIyCiJHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXF1ZXN0EgwKBHR5cGUYASABKAkihwEKI0dldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlc3BvbnNlEhEKCWxhdW5jaFVybBgBIAEoCRITCgt0ZW1wbGF0ZVVybBgCIAEoCRIRCglzdGFja05hbWUYAyABKAkSEQoJcHJpbmNpcGFsGAQgASgJEhIKCmV4dGVybmFsSWQYBSABKAkiGgoYTGlzdEFjY291bnRBY2Nlc3NSZXF1ZXN0IikKF0dldEFjY291bnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCSLaAgoNQWNjb3VudEFjY2VzcxIOCgZ0YXJnZXQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkSEwoLYWNjb3VudFR5cGUYAyABKAkSDwoHcGF5ZXJJZBgEIAEoCRIPCgdyb2xlQXJuGAUgASgJEhIKCmV4dGVybmFsSWQYBiABKAkSDwoHc3RhY2tJZBgHIAEoCRITCgtzdGFja1JlZ2lvbhgIIAEoCRITCgt0ZW1wbGF0ZVVybBgJIAEoCRISCgpidWNrZXROYW1lGAogASgJEg4KBnByZWZpeBgLIAEoCRISCgpyZXBvcnROYW1lGAwgASgJEkEKEnJlZ2lzdHJhdGlvblN0YXR1cxgNIAEoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLlJlZ2lzdHJhdGlvblN0YXR1cxIOCgZzdGF0dXMYDiABKAkSEwoLbGFzdFVwZGF0ZWQYDyABKAkiQwoaQ3JlYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEhUKDWZyb21UZXJyYWZvcm0YAiABKAgiRAoiQ3JlYXRlQWNjb3VudEFjY2Vzc1N0YWNrc2V0UmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGcmVnaW9uGAIgASgJIiwKGlVwZGF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCSI8ChpEZWxldGVBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGdmVuZG9yGAIgASgJIi8KG0RlbGV0ZUFjY291bnRBY2Nlc3NSZXNwb25zZRIQCgh0YXJnZXRJZBgBIAEoCSJQChZSZWdpc3RlckFjY291bnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSEwoLYWNjb3VudE5hbWUYAyABKAki5gEKEUxpc3RBc3NldHNSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhIKCnN0YXJ0TW9udGgYAiABKAkSEAoIZW5kTW9udGgYAyABKAkSGgoSd2l0aFJlY29tbWVuZGF0aW9uGAQgASgIEjcKCmF3c09wdGlvbnMYBSADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzEkEKFGF3c1Byb3BlcnRpZXNPcHRpb25zGAYgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycyKPAQoRTGlzdEFzc2V0c0ZpbHRlcnMSRwoKYW5kRmlsdGVycxgBIAMoCzIzLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMuQW5kRmlsdGVyc0VudHJ5GjEKD0FuZEZpbHRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIr0BCghSZXNvdXJjZRIMCgRkYXRlGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdhY2NvdW50GAQgASgJEg8KB3NlcnZpY2UYBSABKAkSEgoKcmVzb3VyY2VJZBgGIAEoCRIUCgxyZXNvdXJjZVR5cGUYByABKAkSDAoEY29zdBgIIAEoARISCgpwcm9wZXJ0aWVzGAkgASgJEhYKDnJlY29tbWVuZGF0aW9uGAogASgJIuYBChdHZXRBc3NldHNTdW1tYXJ5UmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpzdGFydE1vbnRoGAIgASgJEhAKCGVuZE1vbnRoGAMgASgJEhQKDGNvbWJpbmVEYXRlcxgEIAEoCBI3Cgphd3NPcHRpb25zGAUgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycxJBChRhd3NQcm9wZXJ0aWVzT3B0aW9ucxgGIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMiawoYR2V0QXNzZXRzU3VtbWFyeVJlc3BvbnNlEjAKB3N1bW1hcnkYASADKAsyHy5ibHVlYXBpLmNvdmVyLnYxLkFzc2V0c1N1bW1hcnkSHQoVcmVjb21tZW5kYXRpb25TdW1tYXJ5GAIgASgJIlgKDUFzc2V0c1N1bW1hcnkSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSFgoOdG90YWxSZXNvdXJjZXMYAyABKAMSEQoJdG90YWxDb3N0GAQgASgBIjoKI1Jlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJImkKJFJlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIsCghhY2NvdW50cxgCIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLkFjY291bnQixwQKE0dldENvc3RVc2FnZVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnRUaW1lGAIgASgJEg8KB2VuZFRpbWUYAyABKAkSFAoMZ3JvdXBCeU1vbnRoGAQgASgIEg0KBWxpbWl0GAUgASgDEhAKCGNhdGVnb3J5GAYgASgJEg8KB2dyb3VwQnkYByABKAkSFwoPaW5jbHVkZVplcm9Db3N0GAggASgIEkMKCmF3c09wdGlvbnMYCSABKAsyLy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RBd3NPcHRpb25zEkcKDGF6dXJlT3B0aW9ucxgKIAEoCzIxLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEF6dXJlT3B0aW9ucxJDCgpnY3BPcHRpb25zGAsgASgLMi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0R2NwT3B0aW9ucxJNCg9henVyZWNzcE9wdGlvbnMYDCABKAsyNC5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RBenVyZUNzcE9wdGlvbnMSSQoNY3VzdG9tT3B0aW9ucxgNIAEoCzIyLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEN1c3RvbU9wdGlvbnMSFwoPaW5jbHVkZUZvcmVjYXN0GA4gASgIEhAKCGN1cnJlbmN5GA8gASgJIucBCh1HZXRDb3N0VXNhZ2VSZXF1ZXN0QXdzT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAUgASgJItkBCh9HZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycyL+AgodR2V0Q29zdFVzYWdlUmVxdWVzdEdjcE9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkYKDGxhYmVsRmlsdGVycxgFIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEk0KE3Byb2plY3RMYWJlbEZpbHRlcnMYBiADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxIOCgZ0YWdLZXkYByABKAki7AEKIkdldENvc3RVc2FnZVJlcXVlc3RBenVyZUNzcE9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEg4KBnRhZ0tleRgFIAEoCSKBAwogR2V0Q29zdFVzYWdlUmVxdWVzdEN1c3RvbU9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkYKDGxhYmVsRmlsdGVycxgFIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEk0KE3Byb2plY3RMYWJlbEZpbHRlcnMYBiADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxIOCgZ0YWdLZXkYByABKAkiqQEKHlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJUCgphbmRGaWx0ZXJzGAEgAygLMkAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMuQW5kRmlsdGVyc0VudHJ5GjEKD0FuZEZpbHRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvYDCghDb3N0SXRlbRIOCgZ2ZW5kb3IYASABKAkSDAoEZGF0ZRgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSEQoJdXNhZ2VUeXBlGBAgASgJEhIKCmNoYXJnZVR5cGUYESABKAkSDAoEY29zdBgFIAEoARIPCgdkZXRhaWxzGAYgASgJEjQKCGZvcmVjYXN0GAcgASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuQXdzQ29zdEZvcmVjYXN0Eg4KBnJlZ2lvbhgIIAEoCRIWCg5iaWxsaW5nQWNjb3VudBgJIAEoCRIQCgh0YWdWYWx1ZRgKIAEoCRISCgpsYXN0VXBkYXRlGAsgASgJEgwKBHVuaXQYDCABKAkSEAoIY2F0ZWdvcnkYDSABKAkSDgoGdGFnZ2VkGA4gASgIEhUKDW51bWJlck9mVW5pdHMYEiABKAESRgoOdW5pdGNvc3RtZXRyaWMYDyADKAsyLi5ibHVlYXBpLmNvdmVyLnYxLkNvc3RJdGVtLlVuaXRjb3N0bWV0cmljRW50cnkSGgoSYWxsb2NhdGlvbkNhdGVnb3J5GBMgASgJGjUKE1VuaXRjb3N0bWV0cmljRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASI6CiNHZXRSaWdodFNpemluZ1JlY29tbWVuZGF0aW9uUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCSJZCiRHZXRSaWdodFNpemluZ1JlY29tbWVuZGF0aW9uUmVzcG9uc2USMQoIcmVzb3VyY2UYASADKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5SZXNvdXJjZURhdGEieAoZTW9kaWZ5UmVzb3VyY2VUeXBlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhIKCnJlc291cmNlSWQYAyABKAkSFAoMcmVzb3VyY2VUeXBlGAQgASgJEg4KBnJlZ2lvbhgFIAEoCSJpChpNb2RpZnlSZXNvdXJjZVR5cGVSZXNwb25zZRIRCglhY2NvdW50SWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIUCgxyZXNvdXJjZVR5cGUYAyABKAkSDgoGcmVnaW9uGAQgASgJImEKGFRlcm1pbmF0ZVJlc291cmNlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhIKCnJlc291cmNlSWQYAyABKAkSDgoGcmVnaW9uGAQgASgJIlIKGVRlcm1pbmF0ZVJlc291cmNlUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSDgoGcmVnaW9uGAMgASgJIkMKF1VwbG9hZENoYXJnZUNvZGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEdHlwZRgCIAEoCRIMCgRmaWxlGAMgASgMIlIKGFVwbG9hZENoYXJnZUNvZGVSZXNwb25zZRIMCgRuYW1lGAEgASgJEigKBnN0YXR1cxgCIAEoDjIYLmJsdWVhcGkuY292ZXIudjEuU3RhdHVzIkgKEkFzc2lnblBheWVyUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEg8KB3BheWVySWQYAyABKAkiOQoTQXNzaWduUGF5ZXJSZXNwb25zZRIRCglhY2NvdW50SWQYASABKAkSDwoHcGF5ZXJJZBgCIAEoCSIiChBHZXRQYXllcnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSIjChFHZXRQYXllcnNSZXNwb25zZRIOCgZwYXllcnMYASADKAkiOQoSR2V0QWNjb3VudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCSInChNHZXRBY2NvdW50c1Jlc3BvbnNlEhAKCGFjY291bnRzGAEgAygJIjkKEkdldFNlcnZpY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkiJwoTR2V0U2VydmljZXNSZXNwb25zZRIQCghzZXJ2aWNlcxgBIAMoCSI4ChFHZXRSZWdpb25zUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkiJQoSR2V0UmVnaW9uc1Jlc3BvbnNlEg8KB3JlZ2lvbnMYASADKAkiNQoOR2V0VGFnc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIj4KD0dldFRhZ3NSZXNwb25zZRIrCgd0YWdEYXRhGAEgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuVGFnRGF0YSIgCg9MaXN0RmVlc1JlcXVlc3QSDQoFbW9udGgYASABKAki7QIKCkZlZURldGFpbHMSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2FjY291bnQYBCABKAkSDQoFbW9udGgYBSABKAkSEAoIbGluZVR5cGUYBiABKAkSDwoHZmVlVHlwZRgHIAEoCRITCgtwcm9kdWN0Q29kZRgIIAEoCRITCgtkZXNjcmlwdGlvbhgJIAEoCRIPCgdzdGFydGVkGAogASgJEhQKDHRpbWVJbnRlcnZhbBgLIAEoCRITCgtwcm9kdWN0TmFtZRgMIAEoCRIQCghjdXJyZW5jeRgNIAEoCRITCgtzcGxpdFN0YXR1cxgOIAEoCRITCgtpc0FsbG9jYXRlZBgPIAEoCBIRCglpc0FwcGxpZWQYECABKAgSFQoNdW5ibGVuZGVkQ29zdBgRIAEoARIRCglzb3VyY2VGZWUYEiABKAkSEgoKbGFzdFVwZGF0ZRgTIAEoCSIiChFSZXN0b3JlRmVlUmVxdWVzdBINCgVmZWVJZBgBIAEoCSJRChZHZXRDb3N0R3JvdXBGZWVSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0VGltZRgCIAEoCRIPCgdlbmRUaW1lGAMgASgJImYKB0ZlZUl0ZW0SDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJEg8KB3Byb2R1Y3QYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIMCgR0eXBlGAUgASgJEgwKBGNvc3QYBiABKAEiSQoJQWxsb2NhdG9yEgwKBHR5cGUYASABKAkSDQoFdmFsdWUYAiABKAkSDwoHZm9ybXVsYRgDIAEoCRIOCgZtb250aHMYBCABKAMiaAoIQ3JpdGVyaWESMAoDYW5kGAEgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5Dcml0ZXJpYS5BbmRFbnRyeRoqCghBbmRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqICChRDb3N0QWxsb2NhdG9yRGV0YWlscxIKCgJpZBgBIAEoCRIQCghjYXRlZ29yeRgCIAEoCRISCgpleHBpcmF0aW9uGAMgASgDEhIKCnN0YXJ0TW9udGgYBCABKAkSFgoOZGVmYXVsdEFjY291bnQYBSABKAkSMQoIY3JpdGVyaWEYBiABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSLgoJYWxsb2NhdG9yGAcgAygLMhsuYmx1ZWFwaS5jb3Zlci52MS5BbGxvY2F0b3ISEgoKY3JlYXRlVGltZRgIIAEoCRISCgp1cGRhdGVUaW1lGAkgASgJEgwKBG5hbWUYCiABKAkSEwoLZGVzY3JpcHRpb24YCyABKAki+gEKFENvc3RBbGxvY2F0b3JSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhIKCmV4cGlyYXRpb24YAyABKAMSEgoKc3RhcnRNb250aBgEIAEoCRIWCg5kZWZhdWx0QWNjb3VudBgFIAEoCRIxCghjcml0ZXJpYRgGIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucxIuCglhbGxvY2F0b3IYByADKAsyGy5ibHVlYXBpLmNvdmVyLnYxLkFsbG9jYXRvchIMCgRuYW1lGAggASgJEhMKC2Rlc2NyaXB0aW9uGAkgASgJIhcKFUxpc3RBbGxvY2F0b3JzUmVxdWVzdCLwAQoWQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCRISCgpleHBpcmF0aW9uGAIgASgDEhIKCnN0YXJ0TW9udGgYAyABKAkSFgoOZGVmYXVsdEFjY291bnQYBCABKAkSMQoIY3JpdGVyaWEYBSABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSLgoJYWxsb2NhdG9yGAYgAygLMhsuYmx1ZWFwaS5jb3Zlci52MS5BbGxvY2F0b3ISDAoEbmFtZRgHIAEoCRITCgtkZXNjcmlwdGlvbhgIIAEoCSIyCh5HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1JlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkisQEKH0dldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2USWAoJYXR0cmlidXRlGAEgAygLMkUuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1Jlc3BvbnNlLkFsbG9jYXRpb25BdHRyaWJ1dGUaNAoTQWxsb2NhdGlvbkF0dHJpYnV0ZRIMCgR0eXBlGAEgASgJEg8KB3NlcnZpY2UYAiADKAkiPgobR2V0QWxsb2NhdGlvblNvdXJjZXNSZXF1ZXN0EgwKBHR5cGUYASABKAkSEQoJYWNjb3VudElkGAIgASgJIusBChxHZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlElAKBnNvdXJjZRgBIAMoCzJALmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXNwb25zZS5BbGxvY2F0aW9uU291cmNlcxIrCgd0YWdEYXRhGAIgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuVGFnRGF0YRpMChFBbGxvY2F0aW9uU291cmNlcxITCgthY2NvdW50TmFtZRgBIAEoCRIPCgdzZXJ2aWNlGAIgASgJEhEKCWNvc3RHcm91cBgDIAEoCSIkChZEZWxldGVBbGxvY2F0b3JSZXF1ZXN0EgoKAmlkGAEgASgJIkcKHFByb3h5Q3JlYXRlQ29tcGxldGlvblJlcXVlc3QSJwoGcGFyYW1zGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCItCh1Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXNwb25zZRIMCgRsaW5lGAEgASgJItQEChNBY2NvdW50VXNhZ2VEZXRhaWxzEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdhY2NvdW50GAQgASgJEgwKBGRhdGUYBSABKAkSEwoLcHJvZHVjdENvZGUYBiABKAkSEwoLc2VydmljZUNvZGUYByABKAkSDgoGcmVnaW9uGAggASgJEgwKBHpvbmUYCSABKAkSEQoJdXNhZ2VUeXBlGAogASgJEhQKDGluc3RhbmNlVHlwZRgLIAEoCRIRCglvcGVyYXRpb24YDCABKAkSEQoJaW52b2ljZUlkGA0gASgJEhMKC2Rlc2NyaXB0aW9uGA4gASgJEhIKCnJlc291cmNlSWQYDyABKAkSDAoEdGFncxgQIAEoCRIWCg5jb3N0Q2F0ZWdvcmllcxgRIAEoCRITCgt1c2FnZUFtb3VudBgSIAEoARIZChF0cnVlVW5ibGVuZGVkQ29zdBgTIAEoARIVCg11bmJsZW5kZWRDb3N0GBQgASgBEhUKDWVmZmVjdGl2ZUNvc3QYFSABKAESFQoNYW1vcnRpemVkQ29zdBgWIAEoARIaChJwdWJsaWNPbkRlbWFuZENvc3QYFyABKAESGwoTdW51c2VkQW1vcnRpemVkQ29zdBgYIAEoARISCgpsYXN0VXBkYXRlGBkgASgJEhMKC3NwbGl0U3RhdHVzGBogASgJEhMKC2lzQWxsb2NhdGVkGBsgASgIEhEKCWlzQXBwbGllZBgcIAEoCBIOCgZzb3VyY2UYHSABKAkiPQoXTGlzdEFjY291bnRVc2FnZVJlcXVlc3QSEQoJc3RhcnREYXRlGAEgASgJEg8KB2VuZERhdGUYAiABKAkiMgoaUmVzdG9yZUFjY291bnRVc2FnZVJlcXVlc3QSFAoMYWxsb2NhdGlvbklkGAEgASgJIiMKFVJlc3RvcmVTYXZpbmdzUmVxdWVzdBIKCgJpZBgBIAEoCSK6AgoOU2F2aW5nc0RldGFpbHMSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2FjY291bnQYBCABKAkSDQoFbW9udGgYBSABKAkSDAoEdHlwZRgGIAEoCRILCgNhcm4YByABKAkSEwoLcHJvZHVjdENvZGUYCCABKAkSEgoKb2ZmZXJDbGFzcxgJIAEoCRIQCghvbmRlbWFuZBgKIAEoARIVCg1lZmZlY3RpdmVDb3N0GAsgASgBEg8KB3NhdmluZ3MYDCABKAESEwoLc3BsaXRTdGF0dXMYDSABKAkSEwoLaXNBbGxvY2F0ZWQYDiABKAgSEQoJaXNBcHBsaWVkGA8gASgIEg4KBnNvdXJjZRgQIAEoCRISCgpsYXN0VXBkYXRlGBEgASgJImoKHUdldENvc3RHcm91cEFsbG9jYXRpb25SZXF1ZXN0EhAKCGNhdGVnb3J5GAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhEKCXN0YXJ0RGF0ZRgDIAEoCRIPCgdlbmREYXRlGAQgASgJIoABCg5BbGxvY2F0aW9uSXRlbRIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkSDwoHcHJvZHVjdBgDIAEoCRIPCgdhY2NvdW50GAQgASgJEgwKBHR5cGUYBSABKAkSDAoEY29zdBgGIAEoARIRCgljb3N0R3JvdXAYByABKAkiXwoXUHJvY2Vzc0F1dGgwVXNlclJlcXVlc3QSDgoGc291cmNlGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSDQoFZW1haWwYAyABKAkSEQoJc3VidXNlcklkGAQgASgJIjAKGFByb2Nlc3NBdXRoMFVzZXJSZXNwb25zZRIUCgxpc0F1dGhvcml6ZWQYASABKAgilQIKCkRhdGFBY2Nlc3MSDgoGdGFyZ2V0GAEgASgJEg0KBW9yZ0lkGAIgASgJEjEKCmdjcE9wdGlvbnMYAyABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5HY3BPcHRpb25zEjUKDGF6dXJlT3B0aW9ucxgEIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkF6dXJlT3B0aW9ucxIxCgphd3NPcHRpb25zGAUgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQXdzT3B0aW9ucxITCgthY2NvdW50VHlwZRgGIAEoCRISCgpsYXN0VXBkYXRlGAcgASgJEhIKCmNyZWF0ZVRpbWUYCCABKAkSDgoGdmVuZG9yGAkgASgJIu0BChlSZWdpc3RlckRhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIOCgZ0YXJnZXQYAiABKAkSEwoLYWNjb3VudFR5cGUYAyABKAkSMQoKZ2NwT3B0aW9ucxgEIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBiABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zIusBChdVcGRhdGVEYXRhQWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGdmVuZG9yGAIgASgJEjEKCmdjcE9wdGlvbnMYAyABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5HY3BPcHRpb25zEjUKDGF6dXJlT3B0aW9ucxgEIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkF6dXJlT3B0aW9ucxIxCgphd3NPcHRpb25zGAUgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQXdzT3B0aW9ucxITCgthY2NvdW50VHlwZRgGIAEoCSIXChVMaXN0RGF0YUFjY2Vzc1JlcXVlc3QiIQofTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzUmVxdWVzdCJxCiBMaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI+ChF1bnJlZ2lzdGVyZWRBY2N0cxgCIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuVW5yZWdpc3RlcmVkQWNjdHMiVAoRVW5yZWdpc3RlcmVkQWNjdHMSCgoCaWQYASABKAkSDwoHcGF5ZXJJZBgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEgoKbGFzdFVwZGF0ZRgEIAEoCSJ8ChVCaWxsaW5nQWNjb3VudFJlcXVlc3QSEQoJYmlsbGluZ0lkGAEgASgJEhEKCWRhdGFzZXRJZBgCIAEoCRIVCg1kYXRhc2V0UmVnaW9uGAMgASgJEhEKCXByb2plY3RJZBgEIAEoCRITCgtiaWxsaW5nTmFtZRgFIAEoCSJUCh1HZXRBbmREZWxldGVEYXRhQWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGdmVuZG9yGAIgASgJEhMKC2FjY291bnRUeXBlGAMgASgJImEKIkFkZFBhcnRuZXJDZW50ZXJDcmVkZW50aWFsc1JlcXVlc3QSEQoJYWNjb3VudElkGAEgASgJEhUKDWFwcGxpY2F0aW9uSWQYAiABKAkSEQoJc2VjcmV0S2V5GAMgASgJIiUKFEFkZE1wblNldHRpbmdSZXF1ZXN0Eg0KBW1wbklkGAEgASgJItYBChxHZXRDb3N0R3JvdXBBdHRyaWJ1dGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIVCg1hdHRyaWJ1dGVUeXBlGAIgASgJEhMKC2Nvc3RHcm91cElkGAMgASgJEj0KFGV4aXN0aW5nQ29tYmluYXRpb25zGAQgAygLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEjsKEmN1cnJlbnRDb21iaW5hdGlvbhgFIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJ3Ch1HZXRDb3N0R3JvdXBBdHRyaWJ1dGVSZXNwb25zZRIpCgZyZXN1bHQYASADKAsyGS5ibHVlYXBpLmFwaS5jb3Zlci5SZXN1bHQSKwoHdGFnRGF0YRgCIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlRhZ0RhdGEiJgoUR2V0Q2F0ZWdvcmllc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIkYKFUdldENhdGVnb3JpZXNSZXNwb25zZRItCghjYXRlZ29yeRgBIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLkNhdGVnb3J5IhIKEEdldEFsZXJ0c1JlcXVlc3QiRAoRR2V0QWxlcnRzUmVzcG9uc2USLwoJYWxlcnREYXRhGAEgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnREYXRhIoYBChJDcmVhdGVBbGVydFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtmaXhlZEFtb3VudBgCIAEoAhISCgpwZXJjZW50YWdlGAMgASgCEhMKC2dyYW51bGFyaXR5GAQgASgJEhIKCmNvc3RHcm91cHMYBSADKAkSEAoIY2hhbm5lbHMYBiADKAkiRgoTQ3JlYXRlQWxlcnRSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEiJAoWR2V0QWxlcnREZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCSJKChdHZXRBbGVydERldGFpbHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEiIAoSRGVsZXRlQWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJIiEKE0RlbGV0ZUFsZXJ0UmVzcG9uc2USCgoCaWQYASABKAkimQEKGVVwZGF0ZUFsZXJ0RGV0YWlsc1JlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtmaXhlZEFtb3VudBgDIAEoAhISCgpwZXJjZW50YWdlGAQgASgCEhMKC2dyYW51bGFyaXR5GAUgASgJEhIKCmNvc3RHcm91cHMYBiADKAkSEAoIY2hhbm5lbHMYByADKAkiTQoaVXBkYXRlQWxlcnREZXRhaWxzUmVzcG9uc2USLwoJYWxlcnREYXRhGAEgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnREYXRhIiIKEkdldENoYW5uZWxzUmVxdWVzdBIMCgR0eXBlGAEgASgJIkoKE0dldENoYW5uZWxzUmVzcG9uc2USMwoLY2hhbm5lbERhdGEYASABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5DaGFubmVsRGF0YSJGChRDcmVhdGVDaGFubmVsUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSEgoKd2ViaG9va1VybBgDIAEoCSJMChVDcmVhdGVDaGFubmVsUmVzcG9uc2USMwoLY2hhbm5lbERhdGEYASABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5DaGFubmVsRGF0YSImChhHZXRDaGFubmVsRGV0YWlsc1JlcXVlc3QSCgoCaWQYASABKAkiUAoZR2V0Q2hhbm5lbERldGFpbHNSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIiIKFERlbGV0ZUNoYW5uZWxSZXF1ZXN0EgoKAmlkGAEgASgJIiMKFURlbGV0ZUNoYW5uZWxSZXNwb25zZRIKCgJpZBgBIAEoCSJZChtVcGRhdGVDaGFubmVsRGV0YWlsc1JlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEhIKCndlYmhvb2tVcmwYBCABKAkiUwocVXBkYXRlQ2hhbm5lbERldGFpbHNSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIs8BCiFHZXREaXNjb3VudFJlY29tbWVuZGF0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSLwoJYXdzSW5wdXRzGAIgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQXdzSW5wdXRzEjMKC2F6dXJlSW5wdXRzGAMgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVJbnB1dHMSLwoJZ2NwSW5wdXRzGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuR2NwSW5wdXRzIokCCiJHZXREaXNjb3VudFJlY29tbWVuZGF0aW9uc1Jlc3BvbnNlEkkKEmF3c1JlY29tbWVuZGF0aW9ucxgBIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Rpc2NvdW50UmVjb21tZW5kYXRpb25zEk0KFGF6dXJlUmVjb21tZW5kYXRpb25zGAIgASgLMi8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVEaXNjb3VudFJlY29tbWVuZGF0aW9ucxJJChJnY3BSZWNvbW1lbmRhdGlvbnMYAyABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5HY3BEaXNjb3VudFJlY29tbWVuZGF0aW9ucyJXChxHZXRBbm9tYWx5aW5Db3N0R3JvdXBSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJIuEBCgtBbm9tYWx5RGF0YRIPCgdhY2NvdW50GAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdwcm9kdWN0GAQgASgJEgwKBGRhdGUYBSABKAkSEQoJdG90YWxDb3N0GAYgASgCEhEKCWlzQW5vbWFseRgHIAEoCBISCgpsb3dlckxpbWl0GAggASgCEhIKCnVwcGVyTGltaXQYCSABKAISEwoLYW5vbWFseUNvc3QYCiABKAISGgoSYW5vbWFseVByb2JhYmlsaXR5GAsgASgCIoUBCiRDcmVhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QSEwoLZnJlcXVlbmNpZXMYASADKAMSEgoKY29zdEdyb3VwcxgCIAMoCRIUCgxhbGVydEVuYWJsZWQYAyABKAgSEAoIY2hhbm5lbHMYBCADKAkSDAoEbmFtZRgFIAEoCSI2CihNYW5pcHVsYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJIpEBCiRVcGRhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QSCgoCaWQYASABKAkSFAoMYWxlcnRFbmFibGVkGAIgASgIEhAKCGNoYW5uZWxzGAMgAygJEhMKC2ZyZXF1ZW5jaWVzGAQgAygDEhIKCmNvc3RHcm91cHMYBSADKAkSDAoEbmFtZRgGIAEoCSLpAQoXRGlzY291bnRFeHBpcnlBbGVydERhdGESCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSFAoMYWxlcnRFbmFibGVkGAMgASgIEhMKC2ZyZXF1ZW5jaWVzGAQgAygDEjUKCmNvc3RHcm91cHMYBSADKAsyIS5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENvc3RHcm91cBIPCgdkZXRhaWxzGAYgASgJEjIKCGNoYW5uZWxzGAcgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnRDaGFubmVscxIMCgRuYW1lGAggASgJIiQKIkxpc3REaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QihQEKGUNyZWF0ZUFub21hbHlBbGVydFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIUCgxhbGVydEVuYWJsZWQYAiABKAgSEQoJZnJlcXVlbmN5GAMgASgJEhMKC2Nvc3RHcm91cElkGAQgASgJEhwKFG5vdGlmaWNhdGlvbkNoYW5uZWxzGAUgAygJIisKHU1hbmlwdWxhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJItABChBBbm9tYWx5QWxlcnREYXRhEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEgwKBG5hbWUYAyABKAkSFAoMYWxlcnRFbmFibGVkGAQgASgIEhEKCWZyZXF1ZW5jeRgFIAEoCRI2Cgtjb3N0R3JvdXBJZBgGIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0Q29zdEdyb3VwEjIKCGNoYW5uZWxzGAcgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnRDaGFubmVscyIZChdMaXN0QW5vbWFseUFsZXJ0UmVxdWVzdCKRAQoZVXBkYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGFsZXJ0RW5hYmxlZBgDIAEoCBIcChRub3RpZmljYXRpb25DaGFubmVscxgEIAMoCRIRCglmcmVxdWVuY3kYBSABKAkSEwoLY29zdEdyb3VwSWQYBiABKAkiiQEKFlJlZ2lzdGVyTmV3VXNlclJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkSDAoEbmFtZRgDIAEoCRIPCgdjb21wYW55GAQgASgJEgwKBHJvbGUYBSABKAkSDgoGYW1vdW50GAYgASgJEhEKCWludGVudGlvbhgHIAEoCSIvChdSZWdpc3Rlck5ld1VzZXJSZXNwb25zZRIUCgxpc0F1dGhvcml6ZWQYASABKAgiJgoVR2V0VXNlclByb2ZpbGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIs4BChZHZXRVc2VyUHJvZmlsZVJlc3BvbnNlEhkKEWhhc0NyZWF0ZWRQcm9maWxlGAEgASgIEgwKBG5hbWUYAiABKAkSDAoEcm9sZRgDIAEoCRINCgV1c2FnZRgEIAEoCRIRCglpbnRlbnRpb24YBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSFAoMZW1haWxBZGRyZXNzGAcgASgJEhIKCmxpbmtTb3VyY2UYCCABKAkSHAoUaGFzU3Vic2NyaWJlZFVwZGF0ZXMYCSABKAgirgEKGFVwZGF0ZVVzZXJQcm9maWxlUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHJvbGUYAyABKAkSDQoFdXNhZ2UYBCABKAkSEQoJaW50ZW50aW9uGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhIKCmxpbmtTb3VyY2UYByABKAkSHAoUaGFzU3Vic2NyaWJlZFVwZGF0ZXMYCCABKAgirwEKGVVwZGF0ZVVzZXJQcm9maWxlUmVzcG9uc2USDQoFZW1haWwYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRyb2xlGAMgASgJEg0KBXVzYWdlGAQgASgJEhEKCWludGVudGlvbhgFIAEoCRITCgtjb21wYW55TmFtZRgGIAEoCRISCgpsaW5rU291cmNlGAcgASgJEhwKFGhhc1N1YnNjcmliZWRVcGRhdGVzGAggASgIIkgKEkxpc3RCdWRnZXRzUmVxdWVzdBIfChdpbmNsdWRlU3BlbmRBbmRGb3JlY2FzdBgBIAEoCBIRCgljb3N0R3JvdXAYAiABKAkiSAoTTGlzdEJ1ZGdldHNSZXNwb25zZRIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSIeChBHZXRCdWRnZXRSZXF1ZXN0EgoKAmlkGAEgASgJIkYKEUdldEJ1ZGdldFJlc3BvbnNlEjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIkgKE0NyZWF0ZUJ1ZGdldFJlcXVlc3QSMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSQoUQ3JlYXRlQnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiIQoTRGVsZXRlQnVkZ2V0UmVxdWVzdBIKCgJpZBgBIAEoCSIiChREZWxldGVCdWRnZXRSZXNwb25zZRIKCgJpZBgBIAEoCSJUChNVcGRhdGVCdWRnZXRSZXF1ZXN0EgoKAmlkGAEgASgJEjEKCmJ1ZGdldERhdGEYAiABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIkkKFFVwZGF0ZUJ1ZGdldFJlc3BvbnNlEjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIksKLlJlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZ1JlcXVlc3QSGQoRcmVnaXN0cmF0aW9uVG9rZW4YASABKAkiYQovUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVzcG9uc2USGgoSaXNBbGxvd2VkVG9PbmJvYXJkGAEgASgIEhIKCmN1c3RvbWVySWQYAiABKAkiJgokR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXNSZXF1ZXN0IvIBCiVHZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1c1Jlc3BvbnNlEhYKDmRhdGVSZWdpc3RlcmVkGAEgASgJEhoKEnN1YnNjcmlwdGlvbkV4cGlyeRgCIAEoCRIQCghkYXlzTGVmdBgDIAEoBRIUCgxpc1N1YnNjcmliZWQYBCABKAgSEQoJaXNFeHBpcmVkGAUgASgIEgwKBHBsYW4YBiABKAkSDgoGYW1vdW50GAcgASgJEhUKDXBheW1lbnRPcHRpb24YCCABKAkSFQoNcGF5bWVudE1ldGhvZBgJIAEoCRIOCgZjcmVkaXQYCiABKAEiswEKFkNyZWF0ZVByb2ZpbGluZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIMCgRyb2xlGAIgASgJEg0KBXVzYWdlGAMgASgJEhEKCWludGVudGlvbhgEIAEoCRITCgtjb21wYW55TmFtZRgFIAEoCRIUCgxlbWFpbEFkZHJlc3MYBiABKAkSEgoKbGlua1NvdXJjZRgHIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgIIAEoCCIZChdDcmVhdGVQcm9maWxpbmdSZXNwb25zZSI5ChtBZGRJbmZvdG9NYXJrZXRwbGFjZVJlcXVlc3QSGgoSY3VzdG9tZXJJZGVudGlmaWVyGAEgASgJIh4KHEFkZEluZm90b01hcmtldHBsYWNlUmVzcG9uc2UieAoXR2V0UmVwb3J0U3VtbWFyeVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSEgoKcmVwb3J0VHlwZRgEIAEoCRIQCghjdXJyZW5jeRgFIAEoCSKuAgoYR2V0UmVwb3J0U3VtbWFyeVJlc3BvbnNlEhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEj0KEGV4ZWN1dGl2ZVN1bW1hcnkYBCABKAsyIy5ibHVlYXBpLmFwaS5jb3Zlci5FeGVjdXRpdmVTdW1tYXJ5El8KIW9wdGltaXphdGlvblJlY29tbWVuZGF0aW9uU3VtbWFyeRgFIAEoCzI0LmJsdWVhcGkuYXBpLmNvdmVyLk9wdGltaXphdGlvblJlY29tbWVuZGF0aW9uU3VtbWFyeRI5Cg5zYXZpbmdzU3VtbWFyeRgGIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLlNhdmluZ3NTdW1tYXJ5IqoCChlMaXN0UmVjb21tZW5kYXRpb25SZXF1ZXN0EhMKC2Nvc3Rncm91cElkGAEgASgJEhYKDmRhdGVSYW5nZVN0YXJ0GAIgASgJEhQKDGRhdGVSYW5nZUVuZBgDIAEoCRIOCgZ2ZW5kb3IYBCABKAkSDgoGc291cmNlGAUgASgJEhoKEm9wdGltaXphdGlvblN0YXR1cxgHIAEoCRIMCgR0eXBlGAggASgJEg4KBnNwVHlwZRgJIAEoCRIRCglyYXRlTW9kZWwYCiABKAkSFQoNcGF5bWVudE9wdGlvbhgLIAEoCRIMCgR0ZXJtGAwgASgJEg8KB3NlcnZpY2UYDSABKAkSFQoNb2ZmZXJpbmdDbGFzcxgOIAEoCRIQCghjdXJyZW5jeRgPIAEoCSLVAgobTGlzdFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0EhMKC2Nvc3Rncm91cElkGAEgASgJEhYKDmRhdGVSYW5nZVN0YXJ0GAIgASgJEhQKDGRhdGVSYW5nZUVuZBgDIAEoCRJQCgxyYXRlU2V0dGluZ3MYBCABKAsyOi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblYyUmVxdWVzdC5SYXRlU2V0dGluZ3MSEAoIY3VycmVuY3kYBSABKAkajgEKDFJhdGVTZXR0aW5ncxIOCgZzcFR5cGUYASABKAkSEQoJcmF0ZU1vZGVsGAIgASgJEhUKDXBheW1lbnRPcHRpb24YAyABKAkSDAoEdGVybRgEIAEoCRIPCgdzZXJ2aWNlGAUgASgJEhUKDW9mZmVyaW5nQ2xhc3MYBiABKAkSDgoGdmVuZG9yGAcgASgJItoGChpMaXN0UmVjb21tZW5kYXRpb25SZXNwb25zZRIYChByZWNvbW1lbmRhdGlvbklkGAEgASgJEhYKDnJlY29tbWVuZGF0aW9uGAIgASgJEg8KB3NlcnZpY2UYAyABKAkSHgoWZXN0aW1hdGVkTW9udGhseVNhdmluZxgEIAEoARIcChRlc3RpbWF0ZWRNb250aGx5Q29zdBgFIAEoARIPCgdzY29yaW5nGAYgASgJEg4KBnZlbmRvchgHIAEoCRIQCghjYXRlZ29yeRgIIAEoCRIaChJvcHRpbWl6YXRpb25TdGF0dXMYCSABKAkSFAoMZXJyb3JNZXNzYWdlGAogASgJEhEKCWFjY291bnRJZBgLIAEoCRITCgthY2NvdW50TmFtZRgMIAEoCRIUCgxpbnN0YW5jZU5hbWUYDSABKAkSEgoKaW5zdGFuY2VJZBgOIAEoCRIUCgxpbnN0YW5jZVR5cGUYDyABKAkSDgoGcmVnaW9uGBAgASgJEhIKCmNvbW1pdG1lbnQYESABKAESDgoGc3BUeXBlGBIgASgJEhgKEG51bWJlclRvUHVyY2hhc2UYEyABKAMSDgoGcmlUeXBlGBQgASgJEgwKBHR5cGUYFSABKAkSDgoGc291cmNlGBYgASgJEhcKD2RhdGVSZWNvbW1lbmRlZBgXIAEoCRIbChNyZWNvbW1lbmRhdGlvbkdyb3VwGBggASgJEhUKDWxhc3RVcGRhdGVkQXQYGSABKAkSUwoOcHVyY2hhc2VPcHRpb24YGiABKAsyOy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlLlB1cmNoYXNlT3B0aW9uGs8BCg5QdXJjaGFzZU9wdGlvbhIOCgZzcFR5cGUYASABKAkSFQoNb2ZmZXJpbmdDbGFzcxgCIAEoCRISCgpjb21taXRtZW50GAMgASgBEhgKEG51bWJlclRvUHVyY2hhc2UYBCABKAMSFQoNcGF5bWVudE9wdGlvbhgFIAEoCRIMCgR0ZXJtGAYgASgJEhkKEWN1cnJlbnRHZW5lcmF0aW9uGAcgASgIEhMKC3NlcnZpY2VUeXBlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBIlEKGEdldFJlY29tbWVuZGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCRIUCgxwZXJpb2RPcHRpb24YAyABKAkiXgoZR2V0UmVjb21tZW5kYXRpb25SZXNwb25zZRJBChJyZWNvbW1lbmRhdGlvbkRhdGEYASABKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5BV1NSZWNvbW1lbmRhdGlvbnMiRAoaRXhlY3V0ZU9wdGltaXphdGlvblJlcXVlc3QSGAoQcmVjb21tZW5kYXRpb25JZBgBIAEoCRIMCgR0eXBlGAIgASgJIpQDChtFeGVjdXRlT3B0aW1pemF0aW9uUmVzcG9uc2USTAoJYXdzT3B0aW9uGAEgASgLMjcuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVzcG9uc2UuQVdTT3B0aW9uSAASTAoJZ2NwT3B0aW9uGAIgASgLMjcuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVzcG9uc2UuR0NQT3B0aW9uSAASVgoOYXp1cmVDc3BPcHRpb24YAyABKAsyPC5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5BenVyZUNTUE9wdGlvbkgAGlgKCUFXU09wdGlvbhIaChJhcHByb3ZlVGVtcGxhdGVVcmwYASABKAkSGAoQcmVjb21tZW5kYXRpb25JZBgCIAEoCRIVCg1jdXJyZW50U3RhdHVzGAMgASgJGgsKCUdDUE9wdGlvbhoQCg5BenVyZUNTUE9wdGlvbkIICgZWZW5kb3IiIwoVTWFya0FzRXhlY3V0ZWRSZXF1ZXN0EgoKAmlkGAEgAygJIhgKFk1hcmtBc0V4ZWN1dGVkUmVzcG9uc2UiLwohVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb25SZXF1ZXN0EgoKAmlkGAEgAygJIiQKIlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uUmVzcG9uc2UipwEKGk9wdGltaXphdGlvbkhpc3RvcnlSZXF1ZXN0EhMKC2Nvc3Rncm91cElkGAEgASgJEhYKDmRhdGVSYW5nZVN0YXJ0GAIgASgJEhQKDGRhdGVSYW5nZUVuZBgDIAEoCRIOCgZ2ZW5kb3IYBCABKAkSDgoGc291cmNlGAUgASgJEhQKDHBlcmlvZE9wdGlvbhgGIAEoCRIQCghjdXJyZW5jeRgHIAEoCSJ2ChtPcHRpbWl6YXRpb25IaXN0b3J5UmVzcG9uc2USVwodZXhlY3V0ZWRSZWNvbW1lbmRhdGlvbkRldGFpbHMYAiADKAsyMC5ibHVlYXBpLmFwaS5jb3Zlci5FeGVjdXRlZFJlY29tbWVuZGF0aW9uRGV0YWlscyJgCiFTZXRDb3N0R3JvdXBFdmVudEluZGljYXRvclJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDwoHYW5vbWFseRgCIAEoCBIVCg12aXN1YWxCdWlsZGVyGAMgASgIInQKIlNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSOQoOZXZlbnRJbmRpY2F0b3IYAiABKAsyIS5ibHVlYXBpLmFwaS5jb3Zlci5FdmVudEluZGljYXRvciJ7CiFTZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJdGhyZXNob2xkGAIgASgCEhQKDGlzUGVyY2VudGFnZRgDIAEoCBIYChBwYXN0RGF0YUluTW9udGhzGAQgASgDInQKIlNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSOQoOYW5vbWFseU9wdGlvbnMYAiABKAsyIS5ibHVlYXBpLmFwaS5jb3Zlci5Bbm9tYWx5T3B0aW9ucyIvChhTZXRPcmdGaXNjYWxNb250aFJlcXVlc3QSEwoLZmlzY2FsTW9udGgYASABKAkiMAoZU2V0T3JnRmlzY2FsTW9udGhSZXNwb25zZRITCgtmaXNjYWxNb250aBgBIAEoCSIaChhHZXRPcmdGaXNjYWxNb250aFJlcXVlc3QiSAoZR2V0T3JnRmlzY2FsTW9udGhSZXNwb25zZRITCgtmaXNjYWxNb250aBgBIAEoCRIWCg5kYXRlUmVnaXN0ZXJlZBgCIAEoCSJbChtUcmFuc2Zlck9yZ2FuaXphdGlvblJlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnJlZ2lvbhgCIAEoCRINCgVwYXllchgDIAEoCRINCgVvcmdJZBgEIAEoCSIuChxUcmFuc2Zlck9yZ2FuaXphdGlvblJlc3BvbnNlEg4KBnRhcmdldBgBIAEoCSJFCiBVcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJUmVxdWVzdBIhChl1c2VOZXdDb3N0R3JvdXBDcmVhdGlvblVJGAEgASgIIlIKIVVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUlSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIhYKFExpc3RVbml0VHlwZXNSZXF1ZXN0Ik4KFUxpc3RVbml0VHlwZXNSZXNwb25zZRI1Cgx1bml0Q29zdERhdGEYASADKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0Q29zdERhdGEitgEKFUNyZWF0ZVVuaXRUeXBlUmVxdWVzdBIQCgh1bml0TmFtZRgBIAEoCRIuCgl1bml0SXRlbXMYAiADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0SXRlbRJGCg9zaGFyZWRSZXNvdXJjZXMYAyADKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbhITCgtkZXNjcmlwdGlvbhgEIAEoCSJPChZDcmVhdGVVbml0VHlwZVJlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSIgChJHZXRVbml0VHlwZVJlcXVlc3QSCgoCaWQYASABKAkiTAoTR2V0VW5pdFR5cGVSZXNwb25zZRI1Cgx1bml0Q29zdERhdGEYASABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0Q29zdERhdGEiwgEKFVVwZGF0ZVVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgh1bml0TmFtZRgCIAEoCRIuCgl1bml0SXRlbXMYAyADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0SXRlbRJGCg9zaGFyZWRSZXNvdXJjZXMYBCADKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbhITCgtkZXNjcmlwdGlvbhgFIAEoCSJPChZVcGRhdGVVbml0VHlwZVJlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSIjChVEZWxldGVVbml0VHlwZVJlcXVlc3QSCgoCaWQYASABKAkiJAoWRGVsZXRlVW5pdFR5cGVSZXNwb25zZRIKCgJpZBgBIAEoCSJPChFNZXJnZVVuaXRzUmVxdWVzdBITCgt1bml0Q29zdElkcxgBIAMoCRIQCgh1bml0TmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCSJNChJNZXJnZVVuaXRzUmVzcG9uc2USNwoObWVyZ2VkVW5pdENvc3QYASABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0Q29zdERhdGEiGwoZTGlzdFN1Z2dlc3RlZFVuaXRzUmVxdWVzdCJWChpMaXN0U3VnZ2VzdGVkVW5pdHNSZXNwb25zZRI4Cg5zdWdnZXN0ZWRVbml0cxgBIAMoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlN1Z2dlc3RlZFVuaXQicgoaTWVyZ2VTdWdnZXN0ZWRVbml0c1JlcXVlc3QSGAoQc3VnZ2VzdGVkVW5pdElkcxgBIAMoCRITCgt1bml0SXRlbUlkcxgCIAMoCRIQCgh1bml0TmFtZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCSJdChtNZXJnZVN1Z2dlc3RlZFVuaXRzUmVzcG9uc2USPgoUbWVyZ2VkU3VnZ2VzdGVkVW5pdHMYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5TdWdnZXN0ZWRVbml0IjoKHkNyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkUmVxdWVzdBIYChBzdWdnZXN0ZWRVbml0SWRzGAEgAygJIjYKH0NyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkUmVzcG9uc2USEwoLdW5pdENvc3RJZHMYASADKAkiHAoaTGlzdFNoYXJlZFJlc291cmNlc1JlcXVlc3QiZQobTGlzdFNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEkYKD3NoYXJlZFJlc291cmNlcxgBIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uItMCChxDcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0EhoKEnNoYXJlZFJlc291cmNlTmFtZRgBIAEoCRJNChtzaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbnMYAiABKAsyKC5ibHVlYXBpLmFwaS5jb3Zlci5SZXNvdXJjZXNDb21iaW5hdGlvbnMSVgoMZGlzdHJpYnV0aW9uGAMgAygLMkAuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0LkRpc3RyaWJ1dGlvbkVudHJ5EhEKCWFsbG9jYXRlZBgEIAEoARITCgt1bmFsbG9jYXRlZBgFIAEoARITCgtkZXNjcmlwdGlvbhgGIAEoCRozChFEaXN0cmlidXRpb25FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBImcKHUNyZWF0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEkYKD3NoYXJlZFJlc291cmNlcxgBIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uIicKGUdldFNoYXJlZFJlc291cmNlc1JlcXVlc3QSCgoCaWQYASABKAkiZAoaR2V0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24i3wIKHFVwZGF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QSCgoCaWQYASABKAkSGgoSc2hhcmVkUmVzb3VyY2VOYW1lGAIgASgJEk0KG3NoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9ucxgDIAEoCzIoLmJsdWVhcGkuYXBpLmNvdmVyLlJlc291cmNlc0NvbWJpbmF0aW9ucxJWCgxkaXN0cmlidXRpb24YBCADKAsyQC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QuRGlzdHJpYnV0aW9uRW50cnkSEQoJYWxsb2NhdGVkGAUgASgBEhMKC3VuYWxsb2NhdGVkGAYgASgBEhMKC2Rlc2NyaXB0aW9uGAcgASgJGjMKEURpc3RyaWJ1dGlvbkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiZwodVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24iKgocRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCSIrCh1EZWxldGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRIKCgJpZBgBIAEoCSJXChZMaXN0VW5pdE1ldHJpY3NSZXF1ZXN0EhkKEWFnZ3JlZ2F0aW9uTWV0aG9kGAEgASgJEhIKCmRhdGFTb3VyY2UYAiABKAkSDgoGc3RhdHVzGAMgASgJIk0KF0xpc3RVbml0TWV0cmljc1Jlc3BvbnNlEjIKC3VuaXRNZXRyaWNzGAEgAygLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyK5AQoXQ3JlYXRlVW5pdE1ldHJpY1JlcXVlc3QSEgoKbWV0cmljTmFtZRgBIAEoCRIZChFhZ2dyZWdhdGlvbk1ldGhvZBgCIAEoCRISCgpkYXRhU291cmNlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhMKC2Nvc3Rncm91cElkGAUgAygJEjEKCnNvdXJjZUluZm8YBiABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Tb3VyY2VJbmZvIk0KGENyZWF0ZVVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyIiChRHZXRVbml0TWV0cmljUmVxdWVzdBIKCgJpZBgBIAEoCSJKChVHZXRVbml0TWV0cmljUmVzcG9uc2USMQoKdW5pdE1ldHJpYxgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRNZXRyaWMixQEKF1VwZGF0ZVVuaXRNZXRyaWNSZXF1ZXN0EgoKAmlkGAEgASgJEhIKCm1ldHJpY05hbWUYAiABKAkSGQoRYWdncmVnYXRpb25NZXRob2QYAyABKAkSEgoKZGF0YVNvdXJjZRgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRITCgtjb3N0Z3JvdXBJZBgGIAMoCRIxCgpzb3VyY2VJbmZvGAcgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuU291cmNlSW5mbyJNChhVcGRhdGVVbml0TWV0cmljUmVzcG9uc2USMQoKdW5pdE1ldHJpYxgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRNZXRyaWMiJQoXRGVsZXRlVW5pdE1ldHJpY1JlcXVlc3QSCgoCaWQYASABKAkiJgoYRGVsZXRlVW5pdE1ldHJpY1Jlc3BvbnNlEgoKAmlkGAEgASgJImYKGVByZXZpZXdHb29nbGVTaGVldFJlcXVlc3QSFQoNZ29vZ2xlU2hlZXRJZBgBIAEoCRIQCghzaGVldFVybBgCIAEoCRIRCglzaGVldE5hbWUYAyABKAkSDQoFcmFuZ2UYBCABKAkiWQoaUHJldmlld0dvb2dsZVNoZWV0UmVzcG9uc2USDgoGaGVhZGVyGAEgAygJEisKB3Jvd0RhdGEYAiADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5Sb3dEYXRhIjMKH0NvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1JlcXVlc3QSEAoIc2hlZXRVcmwYASABKAkiTQogQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzUmVzcG9uc2USFQoNZ29vZ2xlU2hlZXRJZBgBIAEoCRISCgpzaGVldE5hbWVzGAIgAygJInYKHEdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlcXVlc3QSEQoJYWNjb3VudElkGAEgASgJEg4KBnJlZ2lvbhgCIAEoCRIMCgR0eXBlGAMgASgJEhEKCW5hbWVzcGFjZRgEIAEoCRISCgptZXRyaWNOYW1lGAUgASgJIr4BCh1HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZRISCgpuYW1lc3BhY2VzGAEgAygJEg8KB21ldHJpY3MYAiADKAkSTQoKZGltZW5zaW9ucxgDIAMoCzI5LmJsdWVhcGkuY292ZXIudjEuR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVzcG9uc2UuRGltZW5zaW9uGikKCURpbWVuc2lvbhIMCgRuYW1lGAEgASgJEg4KBnZhbHVlcxgCIAMoCSKBAgoWR2V0RGlzY291bnRQbGFuUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFb3JnSWQYAiABKAkSGAoQcmVkdWN0aW9uRGlzcGxheRgDIAEoCRIWCg5pbmNsdWRlRGV0YWlscxgEIAEoCBIQCghmcm9tRGF0ZRgFIAEoCRIOCgZ0b0RhdGUYBiABKAkSDwoHcGF5ZXJJZBgHIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgIIAEoCRIPCgdncm91cElkGAkgASgJEhMKC2Nvc3RHcm91cElkGAogASgJEhAKCGFjY291bnRzGAsgAygJEhAKCHNlcnZpY2VzGAwgAygJImcKF0dldERpc2NvdW50UGxhblJlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj0KEGF3c0Rpc2NvdW50UGxhbnMYAiABKAsyIy5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NEaXNjb3VudFBsYW5zInMKHExpc3ROb25wZXJmb3JtaW5nUmF0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhAKCGZyb21EYXRlGAMgASgJEg4KBnRvRGF0ZRgEIAEoCRIMCgR0eXBlGAUgASgJIskBCh1MaXN0Tm9ucGVyZm9ybWluZ1JhdGVSZXNwb25zZRJUCg1ub25wZXJmb3JtaW5nGAEgAygLMj0uYmx1ZWFwaS5jb3Zlci52MS5MaXN0Tm9ucGVyZm9ybWluZ1JhdGVSZXNwb25zZS5Ob25wZXJmb3JtaW5nGlIKDU5vbnBlcmZvcm1pbmcSDAoEdHlwZRgBIAEoCRIPCgdhY2NvdW50GAIgASgJEhMKC3V0aWxpemF0aW9uGAMgASgBEg0KBXdhc3RlGAQgASgBInQKHExpc3RVbnRhZ2dlZFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhAKCGZyb21EYXRlGAMgASgJEg4KBnRvRGF0ZRgEIAEoCRINCgVsaW1pdBgFIAEoAyL5AQodTGlzdFVudGFnZ2VkUmVzb3VyY2VzUmVzcG9uc2USXAoRdW50YWdnZWRSZXNvdXJjZXMYASADKAsyQS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbnRhZ2dlZFJlc291cmNlc1Jlc3BvbnNlLlVudGFnZ2VkUmVzb3VyY2VzGnoKEVVudGFnZ2VkUmVzb3VyY2VzEhAKCHJlc291cmNlGAEgASgJEg8KB3NlcnZpY2UYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhEKCWNvc3RHcm91cBgEIAEoCRIMCgRjb3N0GAUgASgBEg4KBnZlbmRvchgGIAEoCSo/CgZTdGF0dXMSCwoHUEVORElORxAAEg8KC0lOX1BST0dSRVNTEAESCwoHU1VDQ0VTUxACEgoKBkZBSUxFRBADMqXaAQoFQ292ZXISdwoKT25ib2FyZE9yZxIjLmJsdWVhcGkuY292ZXIudjEuT25ib2FyZE9yZ1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLk9uYm9hcmRPcmdSZXNwb25zZSIegtPkkwIYOgEqIhMvdjEvbWVtYmVycy9vbmJvYXJkEnwKDEludml0ZU1lbWJlchIlLmJsdWVhcGkuY292ZXIudjEuSW52aXRlTWVtYmVyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuSW52aXRlTWVtYmVyUmVzcG9uc2UiHYLT5JMCFzoBKiISL3YxL21lbWJlcnMvaW52aXRlEn4KDEFjdGl2YXRlVXNlchIlLmJsdWVhcGkuY292ZXIudjEuQWN0aXZhdGVVc2VyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQWN0aXZhdGVVc2VyUmVzcG9uc2UiH4LT5JMCGToBKiIUL3YxL21lbWJlcnMvYWN0aXZhdGUSdQoMQ3JlYXRlTWVtYmVyEiUuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVNZW1iZXJSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVNZW1iZXJSZXNwb25zZSIWgtPkkwIQOgEqIgsvdjEvbWVtYmVycxJsCgpHZXRNZW1iZXJzEiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJzUmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZW1iZXJzEocBChBHZXRNZW1iZXJEZXRhaWxzEikuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJEZXRhaWxzUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyRGV0YWlsc1Jlc3BvbnNlIhyC0+STAhYSFC92MS9tZW1iZXJzL3t1c2VySWR9EpcBChJHZXRNZW1iZXJDb3N0R3JvdXASKy5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlckNvc3RHcm91cFJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlckNvc3RHcm91cFJlc3BvbnNlIiaC0+STAiASHi92MS9tZW1iZXJzL3t1c2VySWR9L2Nvc3Rncm91cBKkAQoWVXBkYXRlTWVtYmVyUGVybWlzc2lvbhIvLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlTWVtYmVyUGVybWlzc2lvblJlcXVlc3QaMC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZU1lbWJlclBlcm1pc3Npb25SZXNwb25zZSIngtPkkwIhOgEqGhwvdjEvbWVtYmVycy97dXNlcklkfS9pc2FkbWluEnMKDkdldFVzZXJEZXRhaWxzEicuYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyRGV0YWlsc1JlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkdldFVzZXJEZXRhaWxzUmVzcG9uc2UiDoLT5JMCCBIGL3YxL21lEoMBChBVcGRhdGVVc2VyQXZhdGFyEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQXZhdGFyUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF2YXRhclJlc3BvbnNlIhiC0+STAhI6ASoaDS92MS9tZS9hdmF0YXISewoOVXBkYXRlVXNlckljb24SJy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJJY29uUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckljb25SZXNwb25zZSIWgtPkkwIQOgEqGgsvdjEvbWUvaWNvbhKTAQoUVXBkYXRlVXNlckNvbG9yVGhlbWUSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJDb2xvclRoZW1lUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckNvbG9yVGhlbWVSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvbWUvY29sb3J0aGVtZRJ7Cg5VcGRhdGVVc2VyTmFtZRInLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlck5hbWVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTmFtZVJlc3BvbnNlIhaC0+STAhA6ASoaCy92MS9tZS9uYW1lEn8KD1VwZGF0ZVVzZXJFbWFpbBIoLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckVtYWlsUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckVtYWlsUmVzcG9uc2UiF4LT5JMCEToBKhoML3YxL21lL2VtYWlsEosBChJVcGRhdGVVc2VyTWFpblZpZXcSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJNYWluVmlld1JlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJNYWluVmlld1Jlc3BvbnNlIhqC0+STAhQ6ASoaDy92MS9tZS9tYWludmlldxKIAQoRUmVzZXRVc2VyUGFzc3dvcmQSKi5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0VXNlclBhc3N3b3JkUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuUmVzZXRVc2VyUGFzc3dvcmRSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvbWUvcGFzc3dvcmQSgwEKEFVwZGF0ZVVzZXJMb2NhbGUSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJMb2NhbGVSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTG9jYWxlUmVzcG9uc2UiGILT5JMCEjoBKhoNL3YxL21lL2xvY2FsZRKLAQoSVXBkYXRlVXNlckFwcFRoZW1lEisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQXBwVGhlbWVSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQXBwVGhlbWVSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvbWUvYXBwdGhlbWUSiwEKElVwZGF0ZVVzZXJUaW1lem9uZRIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclRpbWV6b25lUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclRpbWV6b25lUmVzcG9uc2UiGoLT5JMCFDoBKhoPL3YxL21lL3RpbWV6b25lEpMBChRVcGRhdGVVc2VyQXR0cmlidXRlcxItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF0dHJpYnV0ZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQXR0cmlidXRlc1Jlc3BvbnNlIhyC0+STAhY6ASoaES92MS9tZS9hdHRyaWJ1dGVzEnsKDERlbGV0ZU1lbWJlchIlLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlTWVtYmVyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlTWVtYmVyUmVzcG9uc2UiHILT5JMCFioUL3YxL21lbWJlcnMve3VzZXJJZH0ShgEKDVJlc2V0UGFzc3dvcmQSJi5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0UGFzc3dvcmRSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5SZXNldFBhc3N3b3JkUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL21lbWJlcnMvcmVzZXRwYXNzd29yZBJtCgpDcmVhdGVWaWV3EiMuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVWaWV3UmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVmlld1Jlc3BvbnNlIhSC0+STAg46ASoiCS92MS92aWV3cxJkCghHZXRWaWV3cxIhLmJsdWVhcGkuY292ZXIudjEuR2V0Vmlld3NSZXF1ZXN0GiIuYmx1ZWFwaS5jb3Zlci52MS5HZXRWaWV3c1Jlc3BvbnNlIhGC0+STAgsSCS92MS92aWV3cxJ/Cg5HZXRDdXJyZW50VmlldxInLmJsdWVhcGkuY292ZXIudjEuR2V0Q3VycmVudFZpZXdSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRDdXJyZW50Vmlld1Jlc3BvbnNlIhqC0+STAhQSEi92MS92aWV3cy97dmlld0lkfRKGAQoQR2V0RmF2b3JpdGVWaWV3cxIpLmJsdWVhcGkuY292ZXIudjEuR2V0RmF2b3JpdGVWaWV3c1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldEZhdm9yaXRlVmlld3NSZXNwb25zZSIbgtPkkwIVEhMvdjEvdmlld3MvZmF2b3JpdGVzEngKC1B1Ymxpc2hWaWV3EiQuYmx1ZWFwaS5jb3Zlci52MS5QdWJsaXNoVmlld1JlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLlB1Ymxpc2hWaWV3UmVzcG9uc2UiHILT5JMCFjoBKiIRL3YxL3ZpZXdzL3B1Ymxpc2gSfQoLQWRkRmF2b3JpdGUSJC5ibHVlYXBpLmNvdmVyLnYxLkFkZEZhdm9yaXRlUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQWRkRmF2b3JpdGVSZXNwb25zZSIhgtPkkwIbOgEqGhYvdjEvdmlld3MvZmF2b3JpdGUvYWRkEokBCg5SZW1vdmVGYXZvcml0ZRInLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlRmF2b3JpdGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5SZW1vdmVGYXZvcml0ZVJlc3BvbnNlIiSC0+STAh46ASoaGS92MS92aWV3cy9mYXZvcml0ZS9yZW1vdmUSdgoKVXBkYXRlVmlldxIjLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdSZXNwb25zZSIdgtPkkwIXOgEqGhIvdjEvdmlld3Mve3ZpZXdJZH0SjwEKEFVwZGF0ZVZpZXdMYXlvdXQSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdMYXlvdXRSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3TGF5b3V0UmVzcG9uc2UiJILT5JMCHjoBKhoZL3YxL3ZpZXdzL2xheW91dC97dmlld0lkfRKaAQoQVXBkYXRlVmlld1dpZGdldBIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld1dpZGdldFJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdXaWRnZXRSZXNwb25zZSIvgtPkkwIpOgEqGiQvdjEvdmlld3MvbGF5b3V0L3t2aWV3SWR9L3t3aWRnZXRJZH0SnwEKFFVwZGF0ZVZpZXdDb2xvclRoZW1lEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3Q29sb3JUaGVtZVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDb2xvclRoZW1lUmVzcG9uc2UiKILT5JMCIjoBKhodL3YxL3ZpZXdzL3t2aWV3SWR9L2NvbG9ydGhlbWUSlwEKElVwZGF0ZVZpZXdDdXJyZW5jeRIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0N1cnJlbmN5UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0N1cnJlbmN5UmVzcG9uc2UiJoLT5JMCIDoBKhobL3YxL3ZpZXdzL3t2aWV3SWR9L2N1cnJlbmN5EpwBChRTZXRPcmdVcGRhdGVDdXJyZW5jeRItLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5TZXRPcmdVcGRhdGVDdXJyZW5jeVJlc3BvbnNlIiWC0+STAh86ASoiGi92MS9vcmdhbml6YXRpb25zL2N1cnJlbmN5EpkBChRHZXRPcmdVcGRhdGVDdXJyZW5jeRItLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRPcmdVcGRhdGVDdXJyZW5jeVJlc3BvbnNlIiKC0+STAhwSGi92MS9vcmdhbml6YXRpb25zL2N1cnJlbmN5Eo0BChFMaXN0RXhjaGFuZ2VSYXRlcxIqLmJsdWVhcGkuY292ZXIudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RXhjaGFuZ2VSYXRlc1Jlc3BvbnNlIh+C0+STAhkSFy92MS9vcmdhbml6YXRpb25zL3JhdGVzEnMKCkRlbGV0ZVZpZXcSIy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVZpZXdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVWaWV3UmVzcG9uc2UiGoLT5JMCFCoSL3YxL3ZpZXdzL3t2aWV3SWR9Ep8BChNVcGRhdGVTaWRlTWVudVN0YXRlEiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVTaWRlTWVudVN0YXRlUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2lkZU1lbnVTdGF0ZVJlc3BvbnNlIiuC0+STAiU6ASoaIC92MS92aWV3cy97dmlld0lkfS9zaWRlbWVudXN0YXRlEqIBChNBZGRTaWRlTWVudUZhdm9yaXRlEiwuYmx1ZWFwaS5jb3Zlci52MS5BZGRTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuQWRkU2lkZU1lbnVGYXZvcml0ZVJlc3BvbnNlIi6C0+STAig6ASoiIy92MS92aWV3cy97dmlld0lkfS9zaWRlbWVudWZhdm9yaXRlEq0BChZSZW1vdmVTaWRlTWVudUZhdm9yaXRlEi8uYmx1ZWFwaS5jb3Zlci52MS5SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBowLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZVJlc3BvbnNlIjCC0+STAio6ASoiJS92MS92aWV3cy97dmlld0lkfS9zaWRlbWVudXVuZmF2b3JpdGUSgQEKD0NyZWF0ZUNvc3RHcm91cBIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ29zdEdyb3VwUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ29zdEdyb3VwUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL2Nvc3Rncm91cHMSeAoNR2V0Q29zdEdyb3VwcxImLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3Vwc1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cHNSZXNwb25zZSIWgtPkkwIQEg4vdjEvY29zdGdyb3VwcxJ4Cg1HZXRDYXRlZ29yaWVzEiYuYmx1ZWFwaS5jb3Zlci52MS5HZXRDYXRlZ29yaWVzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlIhaC0+STAhASDi92MS9jYXRlZ29yaWVzEpgBChNHZXRDb3N0R3JvdXBEZXRhaWxzEiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBEZXRhaWxzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwRGV0YWlsc1Jlc3BvbnNlIiSC0+STAh4SHC92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0SoAEKE1VwZGF0ZUNvc3RHcm91cE5hbWUSLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cE5hbWVSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBOYW1lUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9uYW1lErwBChpVcGRhdGVDb3N0R3JvdXBEZXNjcmlwdGlvbhIzLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBEZXNjcmlwdGlvblJlc3BvbnNlIjOC0+STAi06ASoaKC92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vZGVzY3JpcHRpb24SpAEKFFVwZGF0ZUNvc3RHcm91cEltYWdlEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJbWFnZVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cEltYWdlUmVzcG9uc2UiLYLT5JMCJzoBKhoiL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9pbWFnZRKgAQoTVXBkYXRlQ29zdEdyb3VwSWNvbhIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwSWNvblJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cEljb25SZXNwb25zZSIsgtPkkwImOgEqGiEvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2ljb24SuAEKGVVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWUSMi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXF1ZXN0GjMuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVzcG9uc2UiMoLT5JMCLDoBKhonL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9jb2xvcnRoZW1lEsABChtVcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnMSNC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QaNS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlIjSC0+STAi46ASoaKS92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vY29tYmluYXRpb25zErsBChxSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zEjUuYmx1ZWFwaS5jb3Zlci52MS5SZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVxdWVzdBo2LmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlIiyC0+STAiYSJC92MS9jb3N0Z3JvdXBzL3Jlc29sdmUve2Nvc3RHcm91cElkfRKsAQoVQXNzaWduQ29zdEdyb3VwTWVtYmVyEi4uYmx1ZWFwaS5jb3Zlci52MS5Bc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5Bc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXNwb25zZSIygtPkkwIsOgEqIicvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L21lbWJlci9hZGQSrwEKFVJlbW92ZUNvc3RHcm91cE1lbWJlchIuLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9tZW1iZXIvcmVtb3ZlEowBCg9EZWxldGVDb3N0R3JvdXASKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNvc3RHcm91cFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNvc3RHcm91cFJlc3BvbnNlIiSC0+STAh4qHC92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0SpgEKG0dldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybBI0LmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsUmVxdWVzdBo1LmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsUmVzcG9uc2UiGoLT5JMCFBISL3YxL2F3cy9hY2N0YWNjZXNzEooBChFMaXN0QWNjb3VudEFjY2VzcxIqLmJsdWVhcGkuY292ZXIudjEuTGlzdEFjY291bnRBY2Nlc3NSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIiaC0+STAiA6ASoiGy92MS9hd3MvYWNjdGFjY2Vzcy9hbGw6cmVhZDABEoMBChBHZXRBY2NvdW50QWNjZXNzEikuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyIjgtPkkwIdEhsvdjEvYXdzL2FjY3RhY2Nlc3Mve3RhcmdldH0SfAoNR2V0RGF0YUFjY2VzcxIvLmJsdWVhcGkuY292ZXIudjEuR2V0QW5kRGVsZXRlRGF0YUFjY2Vzc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkRhdGFBY2Nlc3MiHILT5JMCFhIUL3YxL2FjY291bnQve3RhcmdldH0SeQoQRGVsZXRlRGF0YUFjY2VzcxIvLmJsdWVhcGkuY292ZXIudjEuR2V0QW5kRGVsZXRlRGF0YUFjY2Vzc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHILT5JMCFioUL3YxL2FjY291bnQve3RhcmdldH0SgwEKE0NyZWF0ZUFjY291bnRBY2Nlc3MSLC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIh2C0+STAhc6ASoiEi92MS9hd3MvYWNjdGFjY2VzcxKcAQobQ3JlYXRlQWNjb3VudEFjY2Vzc1N0YWNrc2V0EjQuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBY2NvdW50QWNjZXNzU3RhY2tzZXRSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIiaC0+STAiA6ASoiGy92MS9hd3MvYWNjdGFjY2Vzcy9zdGFja3NldBKKAQoWQ3JlYXRlQWNjb3VudEFjY2Vzc0N1chIsLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiIYLT5JMCGzoBKiIWL3YxL2F3cy9hY2N0YWNjZXNzL2N1chJ7ChNVcGRhdGVBY2NvdW50QWNjZXNzEiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iI4LT5JMCHRobL3YxL2F3cy9hY2N0YWNjZXNzL3t0YXJnZXR9EpMBChNEZWxldGVBY2NvdW50QWNjZXNzEiwuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVBY2NvdW50QWNjZXNzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWNjb3VudEFjY2Vzc1Jlc3BvbnNlIh+C0+STAhkqFy92MS9hY2N0YWNjZXNzL3t0YXJnZXR9EnQKD1JlZ2lzdGVyQWNjb3VudBIoLmJsdWVhcGkuY292ZXIudjEuUmVnaXN0ZXJBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZOgEqIhQvdjEve3ZlbmRvcn0vYWNjb3VudBJxChJSZWdpc3RlckRhdGFBY2Nlc3MSKy5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyRGF0YUFjY2Vzc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiFoLT5JMCEDoBKiILL3YxL2FjY291bnQScAoRQWRkQmlsbGluZ0FjY291bnQSJy5ibHVlYXBpLmNvdmVyLnYxLkJpbGxpbmdBY2NvdW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUOgEqIg8vdjEvYmlsbGluZ2FjY3QSdwoOTGlzdERhdGFBY2Nlc3MSJy5ibHVlYXBpLmNvdmVyLnYxLkxpc3REYXRhQWNjZXNzUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRGF0YUFjY2VzcyIcgtPkkwIWIhQvdjEvYWNjb3VudC9hbGw6cmVhZDABEqgBChhMaXN0VW5yZWdpc3RlcmVkQWNjb3VudHMSMS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbnJlZ2lzdGVyZWRBY2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbnJlZ2lzdGVyZWRBY2NvdW50c1Jlc3BvbnNlIiWC0+STAh8iHS92MS9hY2NvdW50L3VucmVnaXN0ZXJlZDpyZWFkEnYKEFVwZGF0ZURhdGFBY2Nlc3MSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZURhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih+C0+STAhk6ASoaFC92MS9hY2NvdW50L3t0YXJnZXR9EmsKCkxpc3RBc3NldHMSIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNSZXF1ZXN0GhouYmx1ZWFwaS5jb3Zlci52MS5SZXNvdXJjZSIagtPkkwIUOgEqIg8vdjEvYXNzZXRzOnJlYWQwARKTAQoQR2V0QXNzZXRzU3VtbWFyeRIpLmJsdWVhcGkuY292ZXIudjEuR2V0QXNzZXRzU3VtbWFyeVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldEFzc2V0c1N1bW1hcnlSZXNwb25zZSIogtPkkwIiEiAvdjEvYXNzZXRzL3N1bW1hcnkve2Nvc3RHcm91cElkfRJyCgxHZXRDb3N0VXNhZ2USJS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3QaGi5ibHVlYXBpLmNvdmVyLnYxLkNvc3RJdGVtIh2C0+STAhc6ASoiEi92MS9jb3N0dXNhZ2U6cmVhZDABEsIBChxHZXRSaWdodFNpemluZ1JlY29tbWVuZGF0aW9uEjUuYmx1ZWFwaS5jb3Zlci52MS5HZXRSaWdodFNpemluZ1JlY29tbWVuZGF0aW9uUmVxdWVzdBo2LmJsdWVhcGkuY292ZXIudjEuR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlc3BvbnNlIjOC0+STAi0SKy92MS9yaWdodHNpemluZ3JlY29tbWVuZGF0aW9uL3tjb3N0R3JvdXBJZH0SmAEKEk1vZGlmeVJlc291cmNlVHlwZRIrLmJsdWVhcGkuY292ZXIudjEuTW9kaWZ5UmVzb3VyY2VUeXBlUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTW9kaWZ5UmVzb3VyY2VUeXBlUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL3t2ZW5kb3J9L3Jlc291cmNlL21vZGlmeRKYAQoRVGVybWluYXRlUmVzb3VyY2USKi5ibHVlYXBpLmNvdmVyLnYxLlRlcm1pbmF0ZVJlc291cmNlUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuVGVybWluYXRlUmVzb3VyY2VSZXNwb25zZSIqgtPkkwIkOgEqIh8vdjEve3ZlbmRvcn0vcmVzb3VyY2UvdGVybWluYXRlEo0BChBVcGxvYWRDaGFyZ2VDb2RlEikuYmx1ZWFwaS5jb3Zlci52MS5VcGxvYWRDaGFyZ2VDb2RlUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBsb2FkQ2hhcmdlQ29kZVJlc3BvbnNlIiCC0+STAho6ASoiFS92MS9jaGFyZ2Vjb2RlL3VwbG9hZCgBEnoKC0Fzc2lnblBheWVyEiQuYmx1ZWFwaS5jb3Zlci52MS5Bc3NpZ25QYXllclJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFzc2lnblBheWVyUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL3t2ZW5kb3J9L3BheWVycxJxCglHZXRQYXllcnMSIi5ibHVlYXBpLmNvdmVyLnYxLkdldFBheWVyc1JlcXVlc3QaIy5ibHVlYXBpLmNvdmVyLnYxLkdldFBheWVyc1Jlc3BvbnNlIhuC0+STAhUSEy92MS97dmVuZG9yfS9wYXllcnMShwEKC0dldEFjY291bnRzEiQuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50c1JlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRzUmVzcG9uc2UiK4LT5JMCJRIjL3YxL3t2ZW5kb3J9L2FjY291bnRzL3tjb3N0R3JvdXBJZH0ShwEKC0dldFNlcnZpY2VzEiQuYmx1ZWFwaS5jb3Zlci52MS5HZXRTZXJ2aWNlc1JlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkdldFNlcnZpY2VzUmVzcG9uc2UiK4LT5JMCJRIjL3YxL3t2ZW5kb3J9L3NlcnZpY2VzL3tjb3N0R3JvdXBJZH0SgwEKCkdldFJlZ2lvbnMSIy5ibHVlYXBpLmNvdmVyLnYxLkdldFJlZ2lvbnNSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWdpb25zUmVzcG9uc2UiKoLT5JMCJBIiL3YxL3t2ZW5kb3J9L3JlZ2lvbnMve2Nvc3RHcm91cElkfRJ3CgdHZXRUYWdzEiAuYmx1ZWFwaS5jb3Zlci52MS5HZXRUYWdzUmVxdWVzdBohLmJsdWVhcGkuY292ZXIudjEuR2V0VGFnc1Jlc3BvbnNlIieC0+STAiESHy92MS97dmVuZG9yfS90YWdzL3tjb3N0R3JvdXBJZH0SdwoITGlzdEZlZXMSIS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RGZWVzUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRmVlRGV0YWlscyIogtPkkwIiOgEqIh0vdjEvYWxsb2NhdGlvbnMvZmVlcy9hbGw6cmVhZDABEnoKClJlc3RvcmVGZWUSIy5ibHVlYXBpLmNvdmVyLnYxLlJlc3RvcmVGZWVSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5GZWVEZXRhaWxzIieC0+STAiE6ASoiHC92MS9hbGxvY2F0aW9ucy9mZWVzL3Jlc3RvcmUwARJ+Cg9HZXRDb3N0R3JvdXBGZWUSKC5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEZlZVJlcXVlc3QaGS5ibHVlYXBpLmNvdmVyLnYxLkZlZUl0ZW0iJILT5JMCHjoBKiIZL3YxL2FsbG9jYXRpb25zL2ZlZXM6cmVhZDABEnsKDkxpc3RBbGxvY2F0b3JzEicuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QWxsb2NhdG9yc1JlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNvc3RBbGxvY2F0b3JEZXRhaWxzIhaC0+STAhASDi92MS9hbGxvY2F0b3JzMAESfgoPQ3JlYXRlQWxsb2NhdG9yEiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbGxvY2F0b3JSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yRGV0YWlscyIZgtPkkwITOgEqIg4vdjEvYWxsb2NhdG9ycxKgAQoXR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXMSMC5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVxdWVzdBoxLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZSIggtPkkwIaEhgvdjEvYWxsb2NhdG9ycy9hdHRyaWJ1dGUSlAEKFEdldEFsbG9jYXRpb25Tb3VyY2VzEi0uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uU291cmNlc1JlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25Tb3VyY2VzUmVzcG9uc2UiHYLT5JMCFxIVL3YxL2FsbG9jYXRvcnMvc291cmNlEoEBCg9VcGRhdGVBbGxvY2F0b3ISJi5ibHVlYXBpLmNvdmVyLnYxLkNvc3RBbGxvY2F0b3JSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yRGV0YWlscyIegtPkkwIYOgEqGhMvdjEvYWxsb2NhdG9ycy97aWR9EnAKD0RlbGV0ZUFsbG9jYXRvchIoLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWxsb2NhdG9yUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIbgtPkkwIVKhMvdjEvYWxsb2NhdG9ycy97aWR9EpABChVQcm94eUNyZWF0ZUNvbXBsZXRpb24SLi5ibHVlYXBpLmNvdmVyLnYxLlByb3h5Q3JlYXRlQ29tcGxldGlvblJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLlByb3h5Q3JlYXRlQ29tcGxldGlvblJlc3BvbnNlIhSC0+STAg46ASoiCS92MS94L3BjYzABEooBChRTaW11bGF0ZUZlZUFsbG9jYXRvchIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRmVlRGV0YWlscyIogtPkkwIiOgEqIh0vdjEvYWxsb2NhdGlvbnMvZmVlcy9zaW11bGF0ZTABEpgBChBMaXN0QWNjb3VudFVzYWdlEikuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QWNjb3VudFVzYWdlUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudFVzYWdlRGV0YWlscyIwgtPkkwIqOgEqIiUvdjEvYWxsb2NhdGlvbnMvYWNjb3VudHVzYWdlL2FsbDpyZWFkMAESnQEKE1Jlc3RvcmVBY2NvdW50VXNhZ2USLC5ibHVlYXBpLmNvdmVyLnYxLlJlc3RvcmVBY2NvdW50VXNhZ2VSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50VXNhZ2VEZXRhaWxzIi+C0+STAik6ASoiJC92MS9hbGxvY2F0aW9ucy9hY2NvdW50dXNhZ2UvcmVzdG9yZTABEpsBChRTaW11bGF0ZUFjY291bnRVc2FnZRIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudFVzYWdlRGV0YWlscyIwgtPkkwIqOgEqIiUvdjEvYWxsb2NhdGlvbnMvYWNjb3VudHVzYWdlL3NpbXVsYXRlMAESgQEKC0xpc3RTYXZpbmdzEiEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RmVlc1JlcXVlc3QaIC5ibHVlYXBpLmNvdmVyLnYxLlNhdmluZ3NEZXRhaWxzIiuC0+STAiU6ASoiIC92MS9hbGxvY2F0aW9ucy9zYXZpbmdzL2FsbDpyZWFkMAESiQEKDlJlc3RvcmVTYXZpbmdzEicuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlU2F2aW5nc1JlcXVlc3QaIC5ibHVlYXBpLmNvdmVyLnYxLlNhdmluZ3NEZXRhaWxzIiqC0+STAiQ6ASoiHy92MS9hbGxvY2F0aW9ucy9zYXZpbmdzL3Jlc3RvcmUwARKMAQoPU2ltdWxhdGVTYXZpbmdzEiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbGxvY2F0b3JSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIrgtPkkwIlOgEqIiAvdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9zaW11bGF0ZTABEo4BChZHZXRDb3N0R3JvdXBBbGxvY2F0aW9uEi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBBbGxvY2F0aW9uUmVxdWVzdBogLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdGlvbkl0ZW0iH4LT5JMCGToBKiIUL3YxL2FsbG9jYXRpb25zOnJlYWQwARKHAQoQUHJvY2Vzc0F1dGgwVXNlchIpLmJsdWVhcGkuY292ZXIudjEuUHJvY2Vzc0F1dGgwVXNlclJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlByb2Nlc3NBdXRoMFVzZXJSZXNwb25zZSIcgtPkkwIWOgEqIhEvdjEvbWVtYmVycy9hdXRoMBKbAQobQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzEjQuYmx1ZWFwaS5jb3Zlci52MS5BZGRQYXJ0bmVyQ2VudGVyQ3JlZGVudGlhbHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAig6ASoiIy92MS9henVyZS9jcmVkZW50aWFscy9wYXJ0bmVyY2VudGVyEnUKDUFkZE1wblNldHRpbmcSJi5ibHVlYXBpLmNvdmVyLnYxLkFkZE1wblNldHRpbmdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh46ASoiGS92MS9henVyZS9jcmVkZW50aWFscy9tcG4SkwEKFUdldENvc3RHcm91cEF0dHJpYnV0ZRIuLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwQXR0cmlidXRlUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwQXR0cmlidXRlUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL2F0dHJpYnV0ZXMSbwoJR2V0QWxlcnRzEiIuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGVydHNSZXF1ZXN0GiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGVydHNSZXNwb25zZSIXgtPkkwIREg8vdjEvYWxlcnRzL2Nvc3QwARJ2CgtDcmVhdGVBbGVydBIkLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxlcnRSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbGVydFJlc3BvbnNlIhqC0+STAhQ6ASoiDy92MS9hbGVydHMvY29zdBKEAQoPR2V0QWxlcnREZXRhaWxzEiguYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGVydERldGFpbHNSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGVydERldGFpbHNSZXNwb25zZSIcgtPkkwIWEhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRJ4CgtEZWxldGVBbGVydBIkLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWxlcnRSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVBbGVydFJlc3BvbnNlIhyC0+STAhYqFC92MS9hbGVydHMvY29zdC97aWR9EpABChJVcGRhdGVBbGVydERldGFpbHMSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUFsZXJ0RGV0YWlsc1JlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUFsZXJ0RGV0YWlsc1Jlc3BvbnNlIh+C0+STAhk6ASoaFC92MS9hbGVydHMvY29zdC97aWR9EnoKC0dldENoYW5uZWxzEiQuYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsc1JlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkdldENoYW5uZWxzUmVzcG9uc2UiHILT5JMCFjoBKiIRL3YxL2NoYW5uZWxzOnJlYWQwARJ5Cg1DcmVhdGVDaGFubmVsEiYuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVDaGFubmVsUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ2hhbm5lbFJlc3BvbnNlIheC0+STAhE6ASoiDC92MS9jaGFubmVscxKHAQoRR2V0Q2hhbm5lbERldGFpbHMSKi5ibHVlYXBpLmNvdmVyLnYxLkdldENoYW5uZWxEZXRhaWxzUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuR2V0Q2hhbm5lbERldGFpbHNSZXNwb25zZSIZgtPkkwITEhEvdjEvY2hhbm5lbHMve2lkfRJ7Cg1EZWxldGVDaGFubmVsEiYuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDaGFubmVsUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ2hhbm5lbFJlc3BvbnNlIhmC0+STAhMqES92MS9jaGFubmVscy97aWR9EpMBChRVcGRhdGVDaGFubmVsRGV0YWlscxItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ2hhbm5lbERldGFpbHNSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDaGFubmVsRGV0YWlsc1Jlc3BvbnNlIhyC0+STAhY6ASoaES92MS9jaGFubmVscy97aWR9EqABChpHZXREaXNjb3VudFJlY29tbWVuZGF0aW9ucxIzLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5HZXREaXNjb3VudFJlY29tbWVuZGF0aW9uc1Jlc3BvbnNlIheC0+STAhE6ASoiDC92MS9kaXNjb3VudBKAAQoVR2V0QW5vbWFseWluQ29zdEdyb3VwEi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbm9tYWx5aW5Db3N0R3JvdXBSZXF1ZXN0Gh0uYmx1ZWFwaS5jb3Zlci52MS5Bbm9tYWx5RGF0YSIWgtPkkwIQOgEqIgsvdjEvYW5vbWFseTABEpYBCh1DcmVhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydBI2LmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiWC0+STAh86ASoiGi92MS9hbGVydHMvZXhwaXJlL2Rpc2NvdW50EpsBCh1VcGRhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydBI2LmJsdWVhcGkuY292ZXIudjEuVXBkYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoaHy92MS9hbGVydHMvZXhwaXJlL2Rpc2NvdW50L3tpZH0SrAEKGkdldERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjouYmx1ZWFwaS5jb3Zlci52MS5NYW5pcHVsYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EaXNjb3VudEV4cGlyeUFsZXJ0RGF0YSIngtPkkwIhEh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9Eq0BChtMaXN0RGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNC5ibHVlYXBpLmNvdmVyLnYxLkxpc3REaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkRpc2NvdW50RXhwaXJ5QWxlcnREYXRhIiuC0+STAiUiIy92MS9hbGVydHMvZXhwaXJlL2Rpc2NvdW50L2FsbDpyZWFkMAESnAEKHURlbGV0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjouYmx1ZWFwaS5jb3Zlci52MS5NYW5pcHVsYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IieC0+STAiEqHy92MS9hbGVydHMvZXhwaXJlL2Rpc2NvdW50L3tpZH0SeAoSQ3JlYXRlQW5vbWFseUFsZXJ0EisuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhc6ASoiEi92MS9hbGVydHMvYW5vbWFseRJ+ChJEZWxldGVBbm9tYWx5QWxlcnQSLy5ibHVlYXBpLmNvdmVyLnYxLk1hbmlwdWxhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih+C0+STAhkqFy92MS9hbGVydHMvYW5vbWFseS97aWR9EogBChBMaXN0QW5vbWFseUFsZXJ0EikuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QW5vbWFseUFsZXJ0UmVxdWVzdBoiLmJsdWVhcGkuY292ZXIudjEuQW5vbWFseUFsZXJ0RGF0YSIjgtPkkwIdIhsvdjEvYWxlcnRzL2Fub21hbHkvYWxsOnJlYWQwARKHAQoPR2V0QW5vbWFseUFsZXJ0Ei8uYmx1ZWFwaS5jb3Zlci52MS5NYW5pcHVsYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoiLmJsdWVhcGkuY292ZXIudjEuQW5vbWFseUFsZXJ0RGF0YSIfgtPkkwIZEhcvdjEvYWxlcnRzL2Fub21hbHkve2lkfRJ9ChJVcGRhdGVBbm9tYWx5QWxlcnQSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUFub21hbHlBbGVydFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIoLT5JMCHDoBKhoXL3YxL2FsZXJ0cy9hbm9tYWx5L3tpZH0ShwEKD1JlZ2lzdGVyTmV3VXNlchIoLmJsdWVhcGkuY292ZXIudjEuUmVnaXN0ZXJOZXdVc2VyUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuUmVnaXN0ZXJOZXdVc2VyUmVzcG9uc2UiH4LT5JMCGToBKiIUL3YxL21lbWJlcnMvcmVnaXN0ZXISiAEKDkdldFVzZXJQcm9maWxlEicuYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyUHJvZmlsZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkdldFVzZXJQcm9maWxlUmVzcG9uc2UiI4LT5JMCHRIbL3YxL21lbWJlcnMvcHJvZmlsZS97ZW1haWx9EpQBChFVcGRhdGVVc2VyUHJvZmlsZRIqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclByb2ZpbGVSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyUHJvZmlsZVJlc3BvbnNlIiaC0+STAiA6ASoaGy92MS9tZW1iZXJzL3Byb2ZpbGUve2VtYWlsfRJ4CgtMaXN0QnVkZ2V0cxIkLmJsdWVhcGkuY292ZXIudjEuTGlzdEJ1ZGdldHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QnVkZ2V0c1Jlc3BvbnNlIhqC0+STAhQ6ASoiDy92MS9idWRnZXQ6cmVhZDABEm0KCUdldEJ1ZGdldBIiLmJsdWVhcGkuY292ZXIudjEuR2V0QnVkZ2V0UmVxdWVzdBojLmJsdWVhcGkuY292ZXIudjEuR2V0QnVkZ2V0UmVzcG9uc2UiF4LT5JMCERIPL3YxL2J1ZGdldC97aWR9EnQKDENyZWF0ZUJ1ZGdldBIlLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQnVkZ2V0UmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQnVkZ2V0UmVzcG9uc2UiFYLT5JMCDzoBKiIKL3YxL2J1ZGdldBJ2CgxEZWxldGVCdWRnZXQSJS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUJ1ZGdldFJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUJ1ZGdldFJlc3BvbnNlIheC0+STAhEqDy92MS9idWRnZXQve2lkfRJ5CgxVcGRhdGVCdWRnZXQSJS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUJ1ZGdldFJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUJ1ZGdldFJlc3BvbnNlIhqC0+STAhQ6ASoaDy92MS9idWRnZXQve2lkfRLXAQonUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nEkAuYmx1ZWFwaS5jb3Zlci52MS5SZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmdSZXF1ZXN0GkEuYmx1ZWFwaS5jb3Zlci52MS5SZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmdSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvbWVtYmVycy9hd3Mvc3Vic2NyaXB0aW9uEqwBCh1HZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1cxI2LmJsdWVhcGkuY292ZXIudjEuR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXNSZXF1ZXN0GjcuYmx1ZWFwaS5jb3Zlci52MS5HZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1c1Jlc3BvbnNlIhqC0+STAhQSEi92MS9iaWxsaW5nL3N0YXR1cxKGAQoPQ3JlYXRlUHJvZmlsaW5nEiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVQcm9maWxpbmdSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVQcm9maWxpbmdSZXNwb25zZSIegtPkkwIYOgEqIhMvdjEvbWVtYmVycy9wcm9maWxlEpYBChRBZGRJbmZvdG9NYXJrZXRwbGFjZRItLmJsdWVhcGkuY292ZXIudjEuQWRkSW5mb3RvTWFya2V0cGxhY2VSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5BZGRJbmZvdG9NYXJrZXRwbGFjZVJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tYXJrZXRwbGFjZS9pbmZvEpwBChBHZXRSZXBvcnRTdW1tYXJ5EikuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZXBvcnRTdW1tYXJ5UmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuR2V0UmVwb3J0U3VtbWFyeVJlc3BvbnNlIjGC0+STAisSKS92MS9yZXBvcnRzL2luc2lnaHQvc3VtbWFyeS97Y29zdEdyb3VwSWR9EpwBChNMaXN0UmVjb21tZW5kYXRpb25zEisuYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25SZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25SZXNwb25zZSIogtPkkwIiEiAvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbjABEp8BChVMaXN0UmVjb21tZW5kYXRpb25zVjISLS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblYyUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL3JlY29tbWVuZGF0aW9ucy9hbGw6cmVhZDABEpsBChFHZXRSZWNvbW1lbmRhdGlvbhIqLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25SZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblJlc3BvbnNlIi2C0+STAicSJS92MS9yZWNvbW1lbmRhdGlvbnMvb3B0aW1pemF0aW9uL3tpZH0SnAEKE0dldFJlY29tbWVuZGF0aW9uVjISLC5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblYyUmVzcG9uc2UiKILT5JMCIhIgL3YxL3JlY29tbWVuZGF0aW9ucy9kZXRhaWxzL3tpZH0SmgEKE0V4ZWN1dGVPcHRpbWl6YXRpb24SLC5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVzcG9uc2UiJoLT5JMCIDoBKiIbL3YxL3JlY29tbWVuZGF0aW9ucy9leGVjdXRlEp0BChJHZXRFeGVjdXRpb25TdGF0dXMSKy5ibHVlYXBpLmNvdmVyLnYxLkdldEV4ZWN1dGlvblN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkdldEV4ZWN1dGlvblN0YXR1c1Jlc3BvbnNlIiqC0+STAiQSIi92MS9yZWNvbW1lbmRhdGlvbnMvZXhlY3V0ZS9zdGF0dXMwARKZAQoOTWFya0FzRXhlY3V0ZWQSJy5ibHVlYXBpLmNvdmVyLnYxLk1hcmtBc0V4ZWN1dGVkUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuTWFya0FzRXhlY3V0ZWRSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi9leGVjdXRlZBK5AQoaVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb24SMy5ibHVlYXBpLmNvdmVyLnYxLlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb25SZXNwb25zZSIwgtPkkwIqOgEqIiUvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi91bmRvEqQBChNPcHRpbWl6YXRpb25IaXN0b3J5EiwuYmx1ZWFwaS5jb3Zlci52MS5PcHRpbWl6YXRpb25IaXN0b3J5UmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuT3B0aW1pemF0aW9uSGlzdG9yeVJlc3BvbnNlIjCC0+STAioSKC92MS9yZWNvbW1lbmRhdGlvbnMvb3B0aW1pemF0aW9uL2hpc3RvcnkSvwEKGlNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yEjMuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBFdmVudEluZGljYXRvclJlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yUmVzcG9uc2UiNoLT5JMCMDoBKiIrL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9ldmVudEluZGljYXRvchK4AQoaU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnMSMy5ibHVlYXBpLmNvdmVyLnYxLlNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnNSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2Fub21hbHkSkAEKEVNldE9yZ0Zpc2NhbE1vbnRoEiouYmx1ZWFwaS5jb3Zlci52MS5TZXRPcmdGaXNjYWxNb250aFJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlNldE9yZ0Zpc2NhbE1vbnRoUmVzcG9uc2UiIoLT5JMCHDoBKiIXL3YxL3JlcG9ydHMvZmlzY2FsbW9udGgSjQEKEUdldE9yZ0Zpc2NhbE1vbnRoEiouYmx1ZWFwaS5jb3Zlci52MS5HZXRPcmdGaXNjYWxNb250aFJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkdldE9yZ0Zpc2NhbE1vbnRoUmVzcG9uc2UiH4LT5JMCGRIXL3YxL3JlcG9ydHMvZmlzY2FsbW9udGgSogEKFFRyYW5zZmVyT3JnYW5pemF0aW9uEi0uYmx1ZWFwaS5jb3Zlci52MS5UcmFuc2Zlck9yZ2FuaXphdGlvblJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlRyYW5zZmVyT3JnYW5pemF0aW9uUmVzcG9uc2UiK4LT5JMCJRIjL3YxL29yZ2FuaXphdGlvbnMvdHJhbnNmZXIve3RhcmdldH0SqQEKGVVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUkSMi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUlSZXF1ZXN0GjMuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJUmVzcG9uc2UiI4LT5JMCHToBKhoYL3YxL21lL2Nvc3Rncm91cGNyZWF0aW9uEnYKDUxpc3RVbml0VHlwZXMSJi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0VHlwZXNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5pdFR5cGVzUmVzcG9uc2UiFILT5JMCDhIML3YxL3VuaXRjb3N0EnwKDkNyZWF0ZVVuaXRUeXBlEicuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0VHlwZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRUeXBlUmVzcG9uc2UiF4LT5JMCEToBKiIML3YxL3VuaXRjb3N0EnUKC0dldFVuaXRUeXBlEiQuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0VHlwZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkdldFVuaXRUeXBlUmVzcG9uc2UiGYLT5JMCExIRL3YxL3VuaXRjb3N0L3tpZH0SgQEKDlVwZGF0ZVVuaXRUeXBlEicuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0VHlwZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVuaXRUeXBlUmVzcG9uc2UiHILT5JMCFjoBKhoRL3YxL3VuaXRjb3N0L3tpZH0SfgoORGVsZXRlVW5pdFR5cGUSJy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRUeXBlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVW5pdFR5cGVSZXNwb25zZSIZgtPkkwITKhEvdjEvdW5pdGNvc3Qve2lkfRJ2CgpNZXJnZVVuaXRzEiMuYmx1ZWFwaS5jb3Zlci52MS5NZXJnZVVuaXRzUmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VVbml0c1Jlc3BvbnNlIh2C0+STAhc6ASoiEi92MS91bml0Y29zdC9tZXJnZRKRAQoSTGlzdFN1Z2dlc3RlZFVuaXRzEisuYmx1ZWFwaS5jb3Zlci52MS5MaXN0U3VnZ2VzdGVkVW5pdHNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5MaXN0U3VnZ2VzdGVkVW5pdHNSZXNwb25zZSIggtPkkwIaEhgvdjEvdW5pdGNvc3QvYXV0b3N1Z2dlc3QSnQEKE01lcmdlU3VnZ2VzdGVkVW5pdHMSLC5ibHVlYXBpLmNvdmVyLnYxLk1lcmdlU3VnZ2VzdGVkVW5pdHNSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5NZXJnZVN1Z2dlc3RlZFVuaXRzUmVzcG9uc2UiKYLT5JMCIzoBKiIeL3YxL3VuaXRjb3N0L2F1dG9zdWdnZXN0L21lcmdlEqoBChdDcmVhdGVVbml0RnJvbVN1Z2dlc3RlZBIwLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXF1ZXN0GjEuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0RnJvbVN1Z2dlc3RlZFJlc3BvbnNlIiqC0+STAiQ6ASoiHy92MS91bml0Y29zdC9hdXRvc3VnZ2VzdC9jcmVhdGUSmAEKE0xpc3RTaGFyZWRSZXNvdXJjZXMSLC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5MaXN0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiJILT5JMCHhIcL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcxKgAQoUQ3JlYXRlU2hhcmVkUmVzb3VyY2USLi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIieC0+STAiE6ASoiHC92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMSmQEKEUdldFNoYXJlZFJlc291cmNlEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIpgtPkkwIjEiEvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzL3tpZH0SpQEKFFVwZGF0ZVNoYXJlZFJlc291cmNlEi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIsgtPkkwImOgEqGiEvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzL3tpZH0SogEKFERlbGV0ZVNoYXJlZFJlc291cmNlEi4uYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIpgtPkkwIjKiEvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzL3tpZH0ShAEKD0xpc3RVbml0TWV0cmljcxIoLmJsdWVhcGkuY292ZXIudjEuTGlzdFVuaXRNZXRyaWNzUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuTGlzdFVuaXRNZXRyaWNzUmVzcG9uc2UiHILT5JMCFhIUL3YxL3VuaXRjb3N0L21ldHJpY3MSigEKEENyZWF0ZVVuaXRNZXRyaWMSKS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRNZXRyaWNSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0TWV0cmljUmVzcG9uc2UiH4LT5JMCGToBKiIUL3YxL3VuaXRjb3N0L21ldHJpY3MSgwEKDUdldFVuaXRNZXRyaWMSJi5ibHVlYXBpLmNvdmVyLnYxLkdldFVuaXRNZXRyaWNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0TWV0cmljUmVzcG9uc2UiIYLT5JMCGxIZL3YxL3VuaXRjb3N0L21ldHJpY3Mve2lkfRKPAQoQVXBkYXRlVW5pdE1ldHJpYxIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVW5pdE1ldHJpY1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVuaXRNZXRyaWNSZXNwb25zZSIkgtPkkwIeOgEqGhkvdjEvdW5pdGNvc3QvbWV0cmljcy97aWR9EowBChBEZWxldGVVbml0TWV0cmljEikuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVbml0TWV0cmljUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVW5pdE1ldHJpY1Jlc3BvbnNlIiGC0+STAhsqGS92MS91bml0Y29zdC9tZXRyaWNzL3tpZH0StgEKGENvbmZpcm1Hb29nbGVTaGVldEFjY2VzcxIxLmJsdWVhcGkuY292ZXIudjEuQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzUmVxdWVzdBoyLmJsdWVhcGkuY292ZXIudjEuQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzUmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL3VuaXRjb3N0L21ldHJpY3MvZ29vZ2xlc2hlZXQvY29uZmlybRKkAQoSUHJldmlld0dvb2dsZVNoZWV0EisuYmx1ZWFwaS5jb3Zlci52MS5QcmV2aWV3R29vZ2xlU2hlZXRSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5QcmV2aWV3R29vZ2xlU2hlZXRSZXNwb25zZSIzgtPkkwItOgEqIigvdjEvdW5pdGNvc3QvbWV0cmljcy9nb29nbGVzaGVldC9wcmV2aWV3EqoBChVHZXRDbG91ZHdhdGNoTWV0YWRhdGESLi5ibHVlYXBpLmNvdmVyLnYxLkdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlc3BvbnNlIjCC0+STAioSKC92MS91bml0Y29zdC9tZXRyaWNzL2Nsb3Vkd2F0Y2gvbWV0YWRhdGEShAEKD1ZlcmlmeUFQSUFjY2VzcxIoLmJsdWVhcGkuY292ZXIudjEuVmVyaWZ5QVBJQWNjZXNzUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuVmVyaWZ5QVBJQWNjZXNzUmVzcG9uc2UiHILT5JMCFhIUL3YxL2FwaWFjY2Vzcy92ZXJpZnkSiQEKEUdldEFJQ29zdEFuZFVzYWdlEiouYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UiG4LT5JMCFToBKiIQL3YxL2FpL2Nvc3R1c2FnZRKXAQoVR2V0Q29udGFpbmVyQ29zdFVzYWdlEisuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEvY29udGFpbmVycy9jb3N0dXNhZ2UShwEKEFBvcHVsYXRlRGVtb0RhdGESKS5ibHVlYXBpLmNvdmVyLnYxLlBvcHVsYXRlRGVtb0RhdGFSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5Qb3B1bGF0ZURlbW9EYXRhUmVzcG9uc2UiHILT5JMCFjoBKiIRL3YxL2RlbW8vcG9wdWxhdGUSewoNUmVzZXREZW1vRGF0YRImLmJsdWVhcGkuY292ZXIudjEuUmVzZXREZW1vRGF0YVJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0RGVtb0RhdGFSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvZGVtby9yZXNldBKZAQoPR2V0RGlzY291bnRQbGFuEiguYmx1ZWFwaS5jb3Zlci52MS5HZXREaXNjb3VudFBsYW5SZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5HZXREaXNjb3VudFBsYW5SZXNwb25zZSIxgtPkkwIrOgEqIiYvdjEve3ZlbmRvcn0vZGlzY291bnRwbGFuL3tvcmdJZH06cmVhZBJ/Cg5HZXRDb3N0VXNhZ2VWMhInLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VWMlJlc3BvbnNlIhiC0+STAhI6ASoiDS92MS9jb3N0dXNhZ2UwARKoAQoVTGlzdE5vbnBlcmZvcm1pbmdSYXRlEi4uYmx1ZWFwaS5jb3Zlci52MS5MaXN0Tm9ucGVyZm9ybWluZ1JhdGVSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5MaXN0Tm9ucGVyZm9ybWluZ1JhdGVSZXNwb25zZSIugtPkkwIoOgEqIiMvdjEvcmVwb3J0cy9yYXRlL25vbnBlcmZvcm1pbmc6cmVhZBKoAQoVTGlzdFVudGFnZ2VkUmVzb3VyY2VzEi4uYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW50YWdnZWRSZXNvdXJjZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW50YWdnZWRSZXNvdXJjZXNSZXNwb25zZSIugtPkkwIoOgEqIiMvdjEvcmVwb3J0cy9yZXNvdXJjZXMvdW50YWdnZWQ6cmVhZBJ/Cg1MaXN0Rm9yZWNhc3RzEiYuYmx1ZWFwaS5jb3Zlci52MS5MaXN0Rm9yZWNhc3RzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuTGlzdEZvcmVjYXN0c1Jlc3BvbnNlIh2C0+STAhc6ASoiEi92MS9mb3JlY2FzdHM6cmVhZBKJAQoSQ3JlYXRlQ29zdEZvcmVjYXN0EisuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVDb3N0Rm9yZWNhc3RSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZSIYgtPkkwISOgEqIg0vdjEvZm9yZWNhc3RzEoIBCg9HZXRDb3N0Rm9yZWNhc3QSKC5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RGb3JlY2FzdFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RGb3JlY2FzdFJlc3BvbnNlIhqC0+STAhQSEi92MS9mb3JlY2FzdHMve2lkfRKOAQoSVXBkYXRlQ29zdEZvcmVjYXN0EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0Rm9yZWNhc3RSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZSIdgtPkkwIXOgEqGhIvdjEvZm9yZWNhc3RzL3tpZH0SiwEKEkRlbGV0ZUNvc3RGb3JlY2FzdBIrLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ29zdEZvcmVjYXN0UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ29zdEZvcmVjYXN0UmVzcG9uc2UiGoLT5JMCFCoSL3YxL2ZvcmVjYXN0cy97aWR9EpsBChRHZXRDb3N0Rm9yZWNhc3RzRGF0YRItLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0Rm9yZWNhc3RzRGF0YVJlc3BvbnNlIiKC0+STAhw6ASoiFy92MS9mb3JlY2FzdHMvZGF0YTpyZWFkMAEalwGSQZMBEkIoQkVUQSkgQ292ZXIgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvY292ZXIaTQoSU2VydmljZSBkZWZpbml0aW9uEjdodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vY292ZXIvQksKF2Nsb3VkLmFscGhhdXMuYXBpLmNvdmVyQgpDb3ZlclByb3RvWiRnaXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvY292ZXJiBnByb3RvMw", [optimizationrecommendation_pb_1.file_api_cover_optimizationrecommendation, recommendation_pb_1.file_api_cover_recommendation_recommendation, attribute_pb_1.file_api_cover_attribute, user_pb_1.file_api_cover_user, view_pb_1.file_api_cover_view, unitcost_pb_1.file_api_cover_unitcost, costgroup_pb_1.file_api_cover_costgroup, accountaccess_pb_1.file_api_cover_accountaccess, costforecast_pb_1.file_api_cover_costforecast, discountplan_pb_1.file_api_cover_discountplan, discountrecommendation_pb_1.file_api_cover_discountrecommendation, rightsizingrecommendation_pb_1.file_api_cover_rightsizingrecommendation, alert_pb_1.file_api_cover_alert, budget_pb_1.file_api_cover_budget, insightreport_pb_1.file_api_cover_insightreport, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
39
+ /**
40
+ * Describes the message blueapi.cover.v1.GetCostForecastsDataRequest.
41
+ * Use `create(GetCostForecastsDataRequestSchema)` to create a new message.
42
+ */
43
+ exports.GetCostForecastsDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 0);
44
+ /**
45
+ * @generated from enum blueapi.cover.v1.GetCostForecastsDataRequest.Granularity
46
+ */
47
+ var GetCostForecastsDataRequest_Granularity;
48
+ (function (GetCostForecastsDataRequest_Granularity) {
49
+ /**
50
+ * @generated from enum value: GRANULARITY_UNSPECIFIED = 0;
51
+ */
52
+ GetCostForecastsDataRequest_Granularity[GetCostForecastsDataRequest_Granularity["GRANULARITY_UNSPECIFIED"] = 0] = "GRANULARITY_UNSPECIFIED";
53
+ /**
54
+ * @generated from enum value: DAILY = 1;
55
+ */
56
+ GetCostForecastsDataRequest_Granularity[GetCostForecastsDataRequest_Granularity["DAILY"] = 1] = "DAILY";
57
+ /**
58
+ * @generated from enum value: MONTHLY = 2;
59
+ */
60
+ GetCostForecastsDataRequest_Granularity[GetCostForecastsDataRequest_Granularity["MONTHLY"] = 2] = "MONTHLY";
61
+ })(GetCostForecastsDataRequest_Granularity || (exports.GetCostForecastsDataRequest_Granularity = GetCostForecastsDataRequest_Granularity = {}));
62
+ /**
63
+ * Describes the enum blueapi.cover.v1.GetCostForecastsDataRequest.Granularity.
64
+ */
65
+ exports.GetCostForecastsDataRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 0, 0);
66
+ /**
67
+ * Describes the message blueapi.cover.v1.GetCostForecastsDataResponse.
68
+ * Use `create(GetCostForecastsDataResponseSchema)` to create a new message.
69
+ */
70
+ exports.GetCostForecastsDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1);
71
+ /**
72
+ * Describes the message blueapi.cover.v1.ListForecastsRequest.
73
+ * Use `create(ListForecastsRequestSchema)` to create a new message.
74
+ */
75
+ exports.ListForecastsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 2);
76
+ /**
77
+ * Describes the message blueapi.cover.v1.ListForecastsResponse.
78
+ * Use `create(ListForecastsResponseSchema)` to create a new message.
79
+ */
80
+ exports.ListForecastsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 3);
81
+ /**
82
+ * Describes the message blueapi.cover.v1.CreateCostForecastRequest.
83
+ * Use `create(CreateCostForecastRequestSchema)` to create a new message.
84
+ */
85
+ exports.CreateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 4);
86
+ /**
87
+ * Describes the message blueapi.cover.v1.CreateCostForecastResponse.
88
+ * Use `create(CreateCostForecastResponseSchema)` to create a new message.
89
+ */
90
+ exports.CreateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 5);
91
+ /**
92
+ * Describes the message blueapi.cover.v1.GetCostForecastRequest.
93
+ * Use `create(GetCostForecastRequestSchema)` to create a new message.
94
+ */
95
+ exports.GetCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6);
96
+ /**
97
+ * Describes the message blueapi.cover.v1.GetCostForecastResponse.
98
+ * Use `create(GetCostForecastResponseSchema)` to create a new message.
99
+ */
100
+ exports.GetCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7);
101
+ /**
102
+ * Describes the message blueapi.cover.v1.UpdateCostForecastRequest.
103
+ * Use `create(UpdateCostForecastRequestSchema)` to create a new message.
104
+ */
105
+ exports.UpdateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8);
106
+ /**
107
+ * Describes the message blueapi.cover.v1.UpdateCostForecastResponse.
108
+ * Use `create(UpdateCostForecastResponseSchema)` to create a new message.
109
+ */
110
+ exports.UpdateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9);
111
+ /**
112
+ * Describes the message blueapi.cover.v1.DeleteCostForecastRequest.
113
+ * Use `create(DeleteCostForecastRequestSchema)` to create a new message.
114
+ */
115
+ exports.DeleteCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 10);
116
+ /**
117
+ * Describes the message blueapi.cover.v1.DeleteCostForecastResponse.
118
+ * Use `create(DeleteCostForecastResponseSchema)` to create a new message.
119
+ */
120
+ exports.DeleteCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 11);
38
121
  /**
39
122
  * Describes the message blueapi.cover.v1.GetCostUsageV2Response.
40
123
  * Use `create(GetCostUsageV2ResponseSchema)` to create a new message.
41
124
  */
42
- exports.GetCostUsageV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 0);
125
+ exports.GetCostUsageV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 12);
43
126
  /**
44
127
  * Describes the message blueapi.cover.v1.GetCostUsageV2Request.
45
128
  * Use `create(GetCostUsageV2RequestSchema)` to create a new message.
46
129
  */
47
- exports.GetCostUsageV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1);
130
+ exports.GetCostUsageV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 13);
48
131
  /**
49
132
  * @generated from enum blueapi.cover.v1.GetCostUsageV2Request.Granularity
50
133
  */
@@ -66,7 +149,7 @@ var GetCostUsageV2Request_Granularity;
66
149
  /**
67
150
  * Describes the enum blueapi.cover.v1.GetCostUsageV2Request.Granularity.
68
151
  */
69
- exports.GetCostUsageV2Request_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 1, 0);
152
+ exports.GetCostUsageV2Request_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 13, 0);
70
153
  /**
71
154
  * @generated from enum blueapi.cover.v1.GetCostUsageV2Request.Category
72
155
  */
@@ -88,37 +171,37 @@ var GetCostUsageV2Request_Category;
88
171
  /**
89
172
  * Describes the enum blueapi.cover.v1.GetCostUsageV2Request.Category.
90
173
  */
91
- exports.GetCostUsageV2Request_CategorySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 1, 1);
174
+ exports.GetCostUsageV2Request_CategorySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 13, 1);
92
175
  /**
93
176
  * Describes the message blueapi.cover.v1.PopulateDemoDataRequest.
94
177
  * Use `create(PopulateDemoDataRequestSchema)` to create a new message.
95
178
  */
96
- exports.PopulateDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 2);
179
+ exports.PopulateDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 14);
97
180
  /**
98
181
  * Describes the message blueapi.cover.v1.PopulateDemoDataResponse.
99
182
  * Use `create(PopulateDemoDataResponseSchema)` to create a new message.
100
183
  */
101
- exports.PopulateDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 3);
184
+ exports.PopulateDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 15);
102
185
  /**
103
186
  * Describes the message blueapi.cover.v1.ResetDemoDataRequest.
104
187
  * Use `create(ResetDemoDataRequestSchema)` to create a new message.
105
188
  */
106
- exports.ResetDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 4);
189
+ exports.ResetDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 16);
107
190
  /**
108
191
  * Describes the message blueapi.cover.v1.ResetDemoDataResponse.
109
192
  * Use `create(ResetDemoDataResponseSchema)` to create a new message.
110
193
  */
111
- exports.ResetDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 5);
194
+ exports.ResetDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 17);
112
195
  /**
113
196
  * Describes the message blueapi.cover.v1.ContainerCostUsageRequest.
114
197
  * Use `create(ContainerCostUsageRequestSchema)` to create a new message.
115
198
  */
116
- exports.ContainerCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6);
199
+ exports.ContainerCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 18);
117
200
  /**
118
201
  * Describes the message blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.
119
202
  * Use `create(ContainerCostUsageRequest_FilterCriteriaSchema)` to create a new message.
120
203
  */
121
- exports.ContainerCostUsageRequest_FilterCriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6, 0);
204
+ exports.ContainerCostUsageRequest_FilterCriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 18, 0);
122
205
  /**
123
206
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.FilterOperator
124
207
  */
@@ -140,7 +223,7 @@ var ContainerCostUsageRequest_FilterCriteria_FilterOperator;
140
223
  /**
141
224
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.FilterOperator.
142
225
  */
143
- exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 0, 0);
226
+ exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 18, 0, 0);
144
227
  /**
145
228
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.TimeGranularity
146
229
  */
@@ -162,7 +245,7 @@ var ContainerCostUsageRequest_TimeGranularity;
162
245
  /**
163
246
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.TimeGranularity.
164
247
  */
165
- exports.ContainerCostUsageRequest_TimeGranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 0);
248
+ exports.ContainerCostUsageRequest_TimeGranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 18, 0);
166
249
  /**
167
250
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.MetricType
168
251
  */
@@ -192,7 +275,7 @@ var ContainerCostUsageRequest_MetricType;
192
275
  /**
193
276
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.MetricType.
194
277
  */
195
- exports.ContainerCostUsageRequest_MetricTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 1);
278
+ exports.ContainerCostUsageRequest_MetricTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 18, 1);
196
279
  /**
197
280
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.ServiceType
198
281
  */
@@ -214,52 +297,52 @@ var ContainerCostUsageRequest_ServiceType;
214
297
  /**
215
298
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.ServiceType.
216
299
  */
217
- exports.ContainerCostUsageRequest_ServiceTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 2);
300
+ exports.ContainerCostUsageRequest_ServiceTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 18, 2);
218
301
  /**
219
302
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.
220
303
  * Use `create(ContainerCostUsageResponseSchema)` to create a new message.
221
304
  */
222
- exports.ContainerCostUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7);
305
+ exports.ContainerCostUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19);
223
306
  /**
224
307
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.CostMetric.
225
308
  * Use `create(ContainerCostUsageResponse_CostMetricSchema)` to create a new message.
226
309
  */
227
- exports.ContainerCostUsageResponse_CostMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 0);
310
+ exports.ContainerCostUsageResponse_CostMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19, 0);
228
311
  /**
229
312
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.UsageMetric.
230
313
  * Use `create(ContainerCostUsageResponse_UsageMetricSchema)` to create a new message.
231
314
  */
232
- exports.ContainerCostUsageResponse_UsageMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 1);
315
+ exports.ContainerCostUsageResponse_UsageMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19, 1);
233
316
  /**
234
317
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.MetricDataPoint.
235
318
  * Use `create(ContainerCostUsageResponse_MetricDataPointSchema)` to create a new message.
236
319
  */
237
- exports.ContainerCostUsageResponse_MetricDataPointSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 2);
320
+ exports.ContainerCostUsageResponse_MetricDataPointSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19, 2);
238
321
  /**
239
322
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.ResourceHighlight.
240
323
  * Use `create(ContainerCostUsageResponse_ResourceHighlightSchema)` to create a new message.
241
324
  */
242
- exports.ContainerCostUsageResponse_ResourceHighlightSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 3);
325
+ exports.ContainerCostUsageResponse_ResourceHighlightSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19, 3);
243
326
  /**
244
327
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.ResourceHighlights.
245
328
  * Use `create(ContainerCostUsageResponse_ResourceHighlightsSchema)` to create a new message.
246
329
  */
247
- exports.ContainerCostUsageResponse_ResourceHighlightsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 4);
330
+ exports.ContainerCostUsageResponse_ResourceHighlightsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19, 4);
248
331
  /**
249
332
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.GroupedResult.
250
333
  * Use `create(ContainerCostUsageResponse_GroupedResultSchema)` to create a new message.
251
334
  */
252
- exports.ContainerCostUsageResponse_GroupedResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 5);
335
+ exports.ContainerCostUsageResponse_GroupedResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19, 5);
253
336
  /**
254
337
  * Describes the message blueapi.cover.v1.GetAICostAndUsageRequest.
255
338
  * Use `create(GetAICostAndUsageRequestSchema)` to create a new message.
256
339
  */
257
- exports.GetAICostAndUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8);
340
+ exports.GetAICostAndUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 20);
258
341
  /**
259
342
  * Describes the message blueapi.cover.v1.GetAICostAndUsageRequest.Filter.
260
343
  * Use `create(GetAICostAndUsageRequest_FilterSchema)` to create a new message.
261
344
  */
262
- exports.GetAICostAndUsageRequest_FilterSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8, 0);
345
+ exports.GetAICostAndUsageRequest_FilterSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 20, 0);
263
346
  /**
264
347
  * @generated from enum blueapi.cover.v1.GetAICostAndUsageRequest.Filter.Operator
265
348
  */
@@ -281,7 +364,7 @@ var GetAICostAndUsageRequest_Filter_Operator;
281
364
  /**
282
365
  * Describes the enum blueapi.cover.v1.GetAICostAndUsageRequest.Filter.Operator.
283
366
  */
284
- exports.GetAICostAndUsageRequest_Filter_OperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 8, 0, 0);
367
+ exports.GetAICostAndUsageRequest_Filter_OperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 20, 0, 0);
285
368
  /**
286
369
  * @generated from enum blueapi.cover.v1.GetAICostAndUsageRequest.Granularity
287
370
  */
@@ -303,1752 +386,1767 @@ var GetAICostAndUsageRequest_Granularity;
303
386
  /**
304
387
  * Describes the enum blueapi.cover.v1.GetAICostAndUsageRequest.Granularity.
305
388
  */
306
- exports.GetAICostAndUsageRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 8, 0);
389
+ exports.GetAICostAndUsageRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 20, 0);
307
390
  /**
308
391
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.
309
392
  * Use `create(GetAICostAndUsageResponseSchema)` to create a new message.
310
393
  */
311
- exports.GetAICostAndUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9);
394
+ exports.GetAICostAndUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21);
312
395
  /**
313
396
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Cost.
314
397
  * Use `create(GetAICostAndUsageResponse_CostSchema)` to create a new message.
315
398
  */
316
- exports.GetAICostAndUsageResponse_CostSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 0);
399
+ exports.GetAICostAndUsageResponse_CostSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21, 0);
317
400
  /**
318
401
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Usage.
319
402
  * Use `create(GetAICostAndUsageResponse_UsageSchema)` to create a new message.
320
403
  */
321
- exports.GetAICostAndUsageResponse_UsageSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 1);
404
+ exports.GetAICostAndUsageResponse_UsageSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21, 1);
322
405
  /**
323
406
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Metric.
324
407
  * Use `create(GetAICostAndUsageResponse_MetricSchema)` to create a new message.
325
408
  */
326
- exports.GetAICostAndUsageResponse_MetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 2);
409
+ exports.GetAICostAndUsageResponse_MetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21, 2);
327
410
  /**
328
411
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Result.
329
412
  * Use `create(GetAICostAndUsageResponse_ResultSchema)` to create a new message.
330
413
  */
331
- exports.GetAICostAndUsageResponse_ResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 3);
414
+ exports.GetAICostAndUsageResponse_ResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21, 3);
332
415
  /**
333
416
  * Describes the message blueapi.cover.v1.GetExecutionStatusRequest.
334
417
  * Use `create(GetExecutionStatusRequestSchema)` to create a new message.
335
418
  */
336
- exports.GetExecutionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 10);
419
+ exports.GetExecutionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 22);
337
420
  /**
338
421
  * Describes the message blueapi.cover.v1.GetExecutionStatusResponse.
339
422
  * Use `create(GetExecutionStatusResponseSchema)` to create a new message.
340
423
  */
341
- exports.GetExecutionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 11);
424
+ exports.GetExecutionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 23);
342
425
  /**
343
426
  * Describes the message blueapi.cover.v1.VerifyAPIAccessRequest.
344
427
  * Use `create(VerifyAPIAccessRequestSchema)` to create a new message.
345
428
  */
346
- exports.VerifyAPIAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 12);
429
+ exports.VerifyAPIAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 24);
347
430
  /**
348
431
  * Describes the message blueapi.cover.v1.VerifyAPIAccessResponse.
349
432
  * Use `create(VerifyAPIAccessResponseSchema)` to create a new message.
350
433
  */
351
- exports.VerifyAPIAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 13);
434
+ exports.VerifyAPIAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 25);
352
435
  /**
353
436
  * Describes the message blueapi.cover.v1.GetRecommendationV2Request.
354
437
  * Use `create(GetRecommendationV2RequestSchema)` to create a new message.
355
438
  */
356
- exports.GetRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 14);
439
+ exports.GetRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 26);
357
440
  /**
358
441
  * Describes the message blueapi.cover.v1.GetRecommendationV2Response.
359
442
  * Use `create(GetRecommendationV2ResponseSchema)` to create a new message.
360
443
  */
361
- exports.GetRecommendationV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 15);
444
+ exports.GetRecommendationV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 27);
362
445
  /**
363
446
  * Describes the message blueapi.cover.v1.OnboardOrgRequest.
364
447
  * Use `create(OnboardOrgRequestSchema)` to create a new message.
365
448
  */
366
- exports.OnboardOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 16);
449
+ exports.OnboardOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 28);
367
450
  /**
368
451
  * Describes the message blueapi.cover.v1.OnboardOrgResponse.
369
452
  * Use `create(OnboardOrgResponseSchema)` to create a new message.
370
453
  */
371
- exports.OnboardOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 17);
454
+ exports.OnboardOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 29);
372
455
  /**
373
456
  * Describes the message blueapi.cover.v1.InviteMemberRequest.
374
457
  * Use `create(InviteMemberRequestSchema)` to create a new message.
375
458
  */
376
- exports.InviteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 18);
459
+ exports.InviteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 30);
377
460
  /**
378
461
  * Describes the message blueapi.cover.v1.InviteMemberResponse.
379
462
  * Use `create(InviteMemberResponseSchema)` to create a new message.
380
463
  */
381
- exports.InviteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19);
464
+ exports.InviteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 31);
382
465
  /**
383
466
  * Describes the message blueapi.cover.v1.ActivateUserRequest.
384
467
  * Use `create(ActivateUserRequestSchema)` to create a new message.
385
468
  */
386
- exports.ActivateUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 20);
469
+ exports.ActivateUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 32);
387
470
  /**
388
471
  * Describes the message blueapi.cover.v1.ActivateUserResponse.
389
472
  * Use `create(ActivateUserResponseSchema)` to create a new message.
390
473
  */
391
- exports.ActivateUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21);
474
+ exports.ActivateUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 33);
392
475
  /**
393
476
  * Describes the message blueapi.cover.v1.CreateMemberRequest.
394
477
  * Use `create(CreateMemberRequestSchema)` to create a new message.
395
478
  */
396
- exports.CreateMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 22);
479
+ exports.CreateMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 34);
397
480
  /**
398
481
  * Describes the message blueapi.cover.v1.CreateMemberResponse.
399
482
  * Use `create(CreateMemberResponseSchema)` to create a new message.
400
483
  */
401
- exports.CreateMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 23);
484
+ exports.CreateMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35);
402
485
  /**
403
486
  * Describes the message blueapi.cover.v1.GetMembersRequest.
404
487
  * Use `create(GetMembersRequestSchema)` to create a new message.
405
488
  */
406
- exports.GetMembersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 24);
489
+ exports.GetMembersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36);
407
490
  /**
408
491
  * Describes the message blueapi.cover.v1.GetMembersResponse.
409
492
  * Use `create(GetMembersResponseSchema)` to create a new message.
410
493
  */
411
- exports.GetMembersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 25);
494
+ exports.GetMembersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37);
412
495
  /**
413
496
  * Describes the message blueapi.cover.v1.GetMemberDetailsRequest.
414
497
  * Use `create(GetMemberDetailsRequestSchema)` to create a new message.
415
498
  */
416
- exports.GetMemberDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 26);
499
+ exports.GetMemberDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 38);
417
500
  /**
418
501
  * Describes the message blueapi.cover.v1.GetMemberDetailsResponse.
419
502
  * Use `create(GetMemberDetailsResponseSchema)` to create a new message.
420
503
  */
421
- exports.GetMemberDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 27);
504
+ exports.GetMemberDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39);
422
505
  /**
423
506
  * Describes the message blueapi.cover.v1.GetMemberCostGroupRequest.
424
507
  * Use `create(GetMemberCostGroupRequestSchema)` to create a new message.
425
508
  */
426
- exports.GetMemberCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 28);
509
+ exports.GetMemberCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 40);
427
510
  /**
428
511
  * Describes the message blueapi.cover.v1.GetMemberCostGroupResponse.
429
512
  * Use `create(GetMemberCostGroupResponseSchema)` to create a new message.
430
513
  */
431
- exports.GetMemberCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 29);
514
+ exports.GetMemberCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 41);
432
515
  /**
433
516
  * Describes the message blueapi.cover.v1.UpdateMemberPermissionRequest.
434
517
  * Use `create(UpdateMemberPermissionRequestSchema)` to create a new message.
435
518
  */
436
- exports.UpdateMemberPermissionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 30);
519
+ exports.UpdateMemberPermissionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 42);
437
520
  /**
438
521
  * Describes the message blueapi.cover.v1.UpdateMemberPermissionResponse.
439
522
  * Use `create(UpdateMemberPermissionResponseSchema)` to create a new message.
440
523
  */
441
- exports.UpdateMemberPermissionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 31);
524
+ exports.UpdateMemberPermissionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 43);
442
525
  /**
443
526
  * Describes the message blueapi.cover.v1.GetUserDetailsRequest.
444
527
  * Use `create(GetUserDetailsRequestSchema)` to create a new message.
445
528
  */
446
- exports.GetUserDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 32);
529
+ exports.GetUserDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 44);
447
530
  /**
448
531
  * Describes the message blueapi.cover.v1.GetUserDetailsResponse.
449
532
  * Use `create(GetUserDetailsResponseSchema)` to create a new message.
450
533
  */
451
- exports.GetUserDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 33);
534
+ exports.GetUserDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 45);
452
535
  /**
453
536
  * Describes the message blueapi.cover.v1.UpdateUserAvatarRequest.
454
537
  * Use `create(UpdateUserAvatarRequestSchema)` to create a new message.
455
538
  */
456
- exports.UpdateUserAvatarRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 34);
539
+ exports.UpdateUserAvatarRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 46);
457
540
  /**
458
541
  * Describes the message blueapi.cover.v1.UpdateUserAvatarResponse.
459
542
  * Use `create(UpdateUserAvatarResponseSchema)` to create a new message.
460
543
  */
461
- exports.UpdateUserAvatarResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35);
544
+ exports.UpdateUserAvatarResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 47);
462
545
  /**
463
546
  * Describes the message blueapi.cover.v1.UpdateUserIconRequest.
464
547
  * Use `create(UpdateUserIconRequestSchema)` to create a new message.
465
548
  */
466
- exports.UpdateUserIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36);
549
+ exports.UpdateUserIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 48);
467
550
  /**
468
551
  * Describes the message blueapi.cover.v1.UpdateUserIconResponse.
469
552
  * Use `create(UpdateUserIconResponseSchema)` to create a new message.
470
553
  */
471
- exports.UpdateUserIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37);
554
+ exports.UpdateUserIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 49);
472
555
  /**
473
556
  * Describes the message blueapi.cover.v1.UpdateUserColorThemeRequest.
474
557
  * Use `create(UpdateUserColorThemeRequestSchema)` to create a new message.
475
558
  */
476
- exports.UpdateUserColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 38);
559
+ exports.UpdateUserColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 50);
477
560
  /**
478
561
  * Describes the message blueapi.cover.v1.UpdateUserColorThemeResponse.
479
562
  * Use `create(UpdateUserColorThemeResponseSchema)` to create a new message.
480
563
  */
481
- exports.UpdateUserColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39);
564
+ exports.UpdateUserColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 51);
482
565
  /**
483
566
  * Describes the message blueapi.cover.v1.UpdateUserNameRequest.
484
567
  * Use `create(UpdateUserNameRequestSchema)` to create a new message.
485
568
  */
486
- exports.UpdateUserNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 40);
569
+ exports.UpdateUserNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 52);
487
570
  /**
488
571
  * Describes the message blueapi.cover.v1.UpdateUserNameResponse.
489
572
  * Use `create(UpdateUserNameResponseSchema)` to create a new message.
490
573
  */
491
- exports.UpdateUserNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 41);
574
+ exports.UpdateUserNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 53);
492
575
  /**
493
576
  * Describes the message blueapi.cover.v1.UpdateUserEmailRequest.
494
577
  * Use `create(UpdateUserEmailRequestSchema)` to create a new message.
495
578
  */
496
- exports.UpdateUserEmailRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 42);
579
+ exports.UpdateUserEmailRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 54);
497
580
  /**
498
581
  * Describes the message blueapi.cover.v1.UpdateUserEmailResponse.
499
582
  * Use `create(UpdateUserEmailResponseSchema)` to create a new message.
500
583
  */
501
- exports.UpdateUserEmailResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 43);
584
+ exports.UpdateUserEmailResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 55);
502
585
  /**
503
586
  * Describes the message blueapi.cover.v1.UpdateUserMainViewRequest.
504
587
  * Use `create(UpdateUserMainViewRequestSchema)` to create a new message.
505
588
  */
506
- exports.UpdateUserMainViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 44);
589
+ exports.UpdateUserMainViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 56);
507
590
  /**
508
591
  * Describes the message blueapi.cover.v1.UpdateUserMainViewResponse.
509
592
  * Use `create(UpdateUserMainViewResponseSchema)` to create a new message.
510
593
  */
511
- exports.UpdateUserMainViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 45);
594
+ exports.UpdateUserMainViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 57);
512
595
  /**
513
596
  * Describes the message blueapi.cover.v1.ResetUserPasswordRequest.
514
597
  * Use `create(ResetUserPasswordRequestSchema)` to create a new message.
515
598
  */
516
- exports.ResetUserPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 46);
599
+ exports.ResetUserPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 58);
517
600
  /**
518
601
  * Describes the message blueapi.cover.v1.ResetUserPasswordResponse.
519
602
  * Use `create(ResetUserPasswordResponseSchema)` to create a new message.
520
603
  */
521
- exports.ResetUserPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 47);
604
+ exports.ResetUserPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 59);
522
605
  /**
523
606
  * Describes the message blueapi.cover.v1.UpdateUserLocaleRequest.
524
607
  * Use `create(UpdateUserLocaleRequestSchema)` to create a new message.
525
608
  */
526
- exports.UpdateUserLocaleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 48);
609
+ exports.UpdateUserLocaleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 60);
527
610
  /**
528
611
  * Describes the message blueapi.cover.v1.UpdateUserLocaleResponse.
529
612
  * Use `create(UpdateUserLocaleResponseSchema)` to create a new message.
530
613
  */
531
- exports.UpdateUserLocaleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 49);
614
+ exports.UpdateUserLocaleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 61);
532
615
  /**
533
616
  * Describes the message blueapi.cover.v1.UpdateUserAppThemeRequest.
534
617
  * Use `create(UpdateUserAppThemeRequestSchema)` to create a new message.
535
618
  */
536
- exports.UpdateUserAppThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 50);
619
+ exports.UpdateUserAppThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 62);
537
620
  /**
538
621
  * Describes the message blueapi.cover.v1.UpdateUserAppThemeResponse.
539
622
  * Use `create(UpdateUserAppThemeResponseSchema)` to create a new message.
540
623
  */
541
- exports.UpdateUserAppThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 51);
624
+ exports.UpdateUserAppThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 63);
542
625
  /**
543
626
  * Describes the message blueapi.cover.v1.UpdateUserTimezoneRequest.
544
627
  * Use `create(UpdateUserTimezoneRequestSchema)` to create a new message.
545
628
  */
546
- exports.UpdateUserTimezoneRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 52);
629
+ exports.UpdateUserTimezoneRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 64);
547
630
  /**
548
631
  * Describes the message blueapi.cover.v1.UpdateUserTimezoneResponse.
549
632
  * Use `create(UpdateUserTimezoneResponseSchema)` to create a new message.
550
633
  */
551
- exports.UpdateUserTimezoneResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 53);
634
+ exports.UpdateUserTimezoneResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 65);
552
635
  /**
553
636
  * Describes the message blueapi.cover.v1.UpdateUserAttributesRequest.
554
637
  * Use `create(UpdateUserAttributesRequestSchema)` to create a new message.
555
638
  */
556
- exports.UpdateUserAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 54);
639
+ exports.UpdateUserAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 66);
557
640
  /**
558
641
  * Describes the message blueapi.cover.v1.UpdateUserAttributesResponse.
559
642
  * Use `create(UpdateUserAttributesResponseSchema)` to create a new message.
560
643
  */
561
- exports.UpdateUserAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 55);
644
+ exports.UpdateUserAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 67);
562
645
  /**
563
646
  * Describes the message blueapi.cover.v1.DeleteMemberRequest.
564
647
  * Use `create(DeleteMemberRequestSchema)` to create a new message.
565
648
  */
566
- exports.DeleteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 56);
649
+ exports.DeleteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 68);
567
650
  /**
568
651
  * Describes the message blueapi.cover.v1.DeleteMemberResponse.
569
652
  * Use `create(DeleteMemberResponseSchema)` to create a new message.
570
653
  */
571
- exports.DeleteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 57);
654
+ exports.DeleteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 69);
572
655
  /**
573
656
  * Describes the message blueapi.cover.v1.ResetPasswordRequest.
574
657
  * Use `create(ResetPasswordRequestSchema)` to create a new message.
575
658
  */
576
- exports.ResetPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 58);
659
+ exports.ResetPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 70);
577
660
  /**
578
661
  * Describes the message blueapi.cover.v1.ResetPasswordResponse.
579
662
  * Use `create(ResetPasswordResponseSchema)` to create a new message.
580
663
  */
581
- exports.ResetPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 59);
664
+ exports.ResetPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 71);
582
665
  /**
583
666
  * Describes the message blueapi.cover.v1.CreateViewRequest.
584
667
  * Use `create(CreateViewRequestSchema)` to create a new message.
585
668
  */
586
- exports.CreateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 60);
669
+ exports.CreateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 72);
587
670
  /**
588
671
  * Describes the message blueapi.cover.v1.CreateViewResponse.
589
672
  * Use `create(CreateViewResponseSchema)` to create a new message.
590
673
  */
591
- exports.CreateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 61);
674
+ exports.CreateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 73);
592
675
  /**
593
676
  * Describes the message blueapi.cover.v1.GetViewsRequest.
594
677
  * Use `create(GetViewsRequestSchema)` to create a new message.
595
678
  */
596
- exports.GetViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 62);
679
+ exports.GetViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 74);
597
680
  /**
598
681
  * Describes the message blueapi.cover.v1.GetViewsResponse.
599
682
  * Use `create(GetViewsResponseSchema)` to create a new message.
600
683
  */
601
- exports.GetViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 63);
684
+ exports.GetViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 75);
602
685
  /**
603
686
  * Describes the message blueapi.cover.v1.GetCurrentViewRequest.
604
687
  * Use `create(GetCurrentViewRequestSchema)` to create a new message.
605
688
  */
606
- exports.GetCurrentViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 64);
689
+ exports.GetCurrentViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 76);
607
690
  /**
608
691
  * Describes the message blueapi.cover.v1.GetCurrentViewResponse.
609
692
  * Use `create(GetCurrentViewResponseSchema)` to create a new message.
610
693
  */
611
- exports.GetCurrentViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 65);
694
+ exports.GetCurrentViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 77);
612
695
  /**
613
696
  * Describes the message blueapi.cover.v1.GetFavoriteViewsRequest.
614
697
  * Use `create(GetFavoriteViewsRequestSchema)` to create a new message.
615
698
  */
616
- exports.GetFavoriteViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 66);
699
+ exports.GetFavoriteViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 78);
617
700
  /**
618
701
  * Describes the message blueapi.cover.v1.GetFavoriteViewsResponse.
619
702
  * Use `create(GetFavoriteViewsResponseSchema)` to create a new message.
620
703
  */
621
- exports.GetFavoriteViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 67);
704
+ exports.GetFavoriteViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 79);
622
705
  /**
623
706
  * Describes the message blueapi.cover.v1.PublishViewRequest.
624
707
  * Use `create(PublishViewRequestSchema)` to create a new message.
625
708
  */
626
- exports.PublishViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 68);
709
+ exports.PublishViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 80);
627
710
  /**
628
711
  * Describes the message blueapi.cover.v1.PublishViewResponse.
629
712
  * Use `create(PublishViewResponseSchema)` to create a new message.
630
713
  */
631
- exports.PublishViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 69);
714
+ exports.PublishViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 81);
632
715
  /**
633
716
  * Describes the message blueapi.cover.v1.AddFavoriteRequest.
634
717
  * Use `create(AddFavoriteRequestSchema)` to create a new message.
635
718
  */
636
- exports.AddFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 70);
719
+ exports.AddFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 82);
637
720
  /**
638
721
  * Describes the message blueapi.cover.v1.AddFavoriteResponse.
639
722
  * Use `create(AddFavoriteResponseSchema)` to create a new message.
640
723
  */
641
- exports.AddFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 71);
724
+ exports.AddFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 83);
642
725
  /**
643
726
  * Describes the message blueapi.cover.v1.RemoveFavoriteRequest.
644
727
  * Use `create(RemoveFavoriteRequestSchema)` to create a new message.
645
728
  */
646
- exports.RemoveFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 72);
729
+ exports.RemoveFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 84);
647
730
  /**
648
731
  * Describes the message blueapi.cover.v1.RemoveFavoriteResponse.
649
732
  * Use `create(RemoveFavoriteResponseSchema)` to create a new message.
650
733
  */
651
- exports.RemoveFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 73);
734
+ exports.RemoveFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 85);
652
735
  /**
653
736
  * Describes the message blueapi.cover.v1.UpdateViewRequest.
654
737
  * Use `create(UpdateViewRequestSchema)` to create a new message.
655
738
  */
656
- exports.UpdateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 74);
739
+ exports.UpdateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 86);
657
740
  /**
658
741
  * Describes the message blueapi.cover.v1.UpdateViewResponse.
659
742
  * Use `create(UpdateViewResponseSchema)` to create a new message.
660
743
  */
661
- exports.UpdateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 75);
744
+ exports.UpdateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 87);
662
745
  /**
663
746
  * Describes the message blueapi.cover.v1.UpdateViewLayoutRequest.
664
747
  * Use `create(UpdateViewLayoutRequestSchema)` to create a new message.
665
748
  */
666
- exports.UpdateViewLayoutRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 76);
749
+ exports.UpdateViewLayoutRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 88);
667
750
  /**
668
751
  * Describes the message blueapi.cover.v1.UpdateViewLayoutResponse.
669
752
  * Use `create(UpdateViewLayoutResponseSchema)` to create a new message.
670
753
  */
671
- exports.UpdateViewLayoutResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 77);
754
+ exports.UpdateViewLayoutResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 89);
672
755
  /**
673
756
  * Describes the message blueapi.cover.v1.UpdateViewWidgetRequest.
674
757
  * Use `create(UpdateViewWidgetRequestSchema)` to create a new message.
675
758
  */
676
- exports.UpdateViewWidgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 78);
759
+ exports.UpdateViewWidgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 90);
677
760
  /**
678
761
  * Describes the message blueapi.cover.v1.UpdateViewWidgetResponse.
679
762
  * Use `create(UpdateViewWidgetResponseSchema)` to create a new message.
680
763
  */
681
- exports.UpdateViewWidgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 79);
764
+ exports.UpdateViewWidgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 91);
682
765
  /**
683
766
  * Describes the message blueapi.cover.v1.UpdateViewColorThemeRequest.
684
767
  * Use `create(UpdateViewColorThemeRequestSchema)` to create a new message.
685
768
  */
686
- exports.UpdateViewColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 80);
769
+ exports.UpdateViewColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 92);
687
770
  /**
688
771
  * Describes the message blueapi.cover.v1.UpdateViewColorThemeResponse.
689
772
  * Use `create(UpdateViewColorThemeResponseSchema)` to create a new message.
690
773
  */
691
- exports.UpdateViewColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 81);
774
+ exports.UpdateViewColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 93);
692
775
  /**
693
776
  * Describes the message blueapi.cover.v1.UpdateViewCurrencyRequest.
694
777
  * Use `create(UpdateViewCurrencyRequestSchema)` to create a new message.
695
778
  */
696
- exports.UpdateViewCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 82);
779
+ exports.UpdateViewCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 94);
697
780
  /**
698
781
  * Describes the message blueapi.cover.v1.UpdateViewCurrencyResponse.
699
782
  * Use `create(UpdateViewCurrencyResponseSchema)` to create a new message.
700
783
  */
701
- exports.UpdateViewCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 83);
784
+ exports.UpdateViewCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 95);
702
785
  /**
703
786
  * Describes the message blueapi.cover.v1.SetOrgUpdateCurrencyRequest.
704
787
  * Use `create(SetOrgUpdateCurrencyRequestSchema)` to create a new message.
705
788
  */
706
- exports.SetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 84);
789
+ exports.SetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 96);
707
790
  /**
708
791
  * Describes the message blueapi.cover.v1.SetOrgUpdateCurrencyResponse.
709
792
  * Use `create(SetOrgUpdateCurrencyResponseSchema)` to create a new message.
710
793
  */
711
- exports.SetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 85);
794
+ exports.SetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 97);
712
795
  /**
713
796
  * Describes the message blueapi.cover.v1.GetOrgUpdateCurrencyRequest.
714
797
  * Use `create(GetOrgUpdateCurrencyRequestSchema)` to create a new message.
715
798
  */
716
- exports.GetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 86);
799
+ exports.GetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 98);
717
800
  /**
718
801
  * Describes the message blueapi.cover.v1.GetOrgUpdateCurrencyResponse.
719
802
  * Use `create(GetOrgUpdateCurrencyResponseSchema)` to create a new message.
720
803
  */
721
- exports.GetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 87);
804
+ exports.GetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 99);
722
805
  /**
723
806
  * Describes the message blueapi.cover.v1.ListExchangeRatesRequest.
724
807
  * Use `create(ListExchangeRatesRequestSchema)` to create a new message.
725
808
  */
726
- exports.ListExchangeRatesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 88);
809
+ exports.ListExchangeRatesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 100);
727
810
  /**
728
811
  * Describes the message blueapi.cover.v1.ListExchangeRatesResponse.
729
812
  * Use `create(ListExchangeRatesResponseSchema)` to create a new message.
730
813
  */
731
- exports.ListExchangeRatesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 89);
814
+ exports.ListExchangeRatesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 101);
732
815
  /**
733
816
  * Describes the message blueapi.cover.v1.ExchangeRates.
734
817
  * Use `create(ExchangeRatesSchema)` to create a new message.
735
818
  */
736
- exports.ExchangeRatesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 90);
819
+ exports.ExchangeRatesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 102);
737
820
  /**
738
821
  * Describes the message blueapi.cover.v1.DeleteViewRequest.
739
822
  * Use `create(DeleteViewRequestSchema)` to create a new message.
740
823
  */
741
- exports.DeleteViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 91);
824
+ exports.DeleteViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 103);
742
825
  /**
743
826
  * Describes the message blueapi.cover.v1.DeleteViewResponse.
744
827
  * Use `create(DeleteViewResponseSchema)` to create a new message.
745
828
  */
746
- exports.DeleteViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 92);
829
+ exports.DeleteViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 104);
747
830
  /**
748
831
  * Describes the message blueapi.cover.v1.UpdateSideMenuStateRequest.
749
832
  * Use `create(UpdateSideMenuStateRequestSchema)` to create a new message.
750
833
  */
751
- exports.UpdateSideMenuStateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 93);
834
+ exports.UpdateSideMenuStateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 105);
752
835
  /**
753
836
  * Describes the message blueapi.cover.v1.UpdateSideMenuStateResponse.
754
837
  * Use `create(UpdateSideMenuStateResponseSchema)` to create a new message.
755
838
  */
756
- exports.UpdateSideMenuStateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 94);
839
+ exports.UpdateSideMenuStateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 106);
757
840
  /**
758
841
  * Describes the message blueapi.cover.v1.AddSideMenuFavoriteRequest.
759
842
  * Use `create(AddSideMenuFavoriteRequestSchema)` to create a new message.
760
843
  */
761
- exports.AddSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 95);
844
+ exports.AddSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 107);
762
845
  /**
763
846
  * Describes the message blueapi.cover.v1.AddSideMenuFavoriteResponse.
764
847
  * Use `create(AddSideMenuFavoriteResponseSchema)` to create a new message.
765
848
  */
766
- exports.AddSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 96);
849
+ exports.AddSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 108);
767
850
  /**
768
851
  * Describes the message blueapi.cover.v1.RemoveSideMenuFavoriteRequest.
769
852
  * Use `create(RemoveSideMenuFavoriteRequestSchema)` to create a new message.
770
853
  */
771
- exports.RemoveSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 97);
854
+ exports.RemoveSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 109);
772
855
  /**
773
856
  * Describes the message blueapi.cover.v1.RemoveSideMenuFavoriteResponse.
774
857
  * Use `create(RemoveSideMenuFavoriteResponseSchema)` to create a new message.
775
858
  */
776
- exports.RemoveSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 98);
859
+ exports.RemoveSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 110);
777
860
  /**
778
861
  * Describes the message blueapi.cover.v1.CreateCostGroupRequest.
779
862
  * Use `create(CreateCostGroupRequestSchema)` to create a new message.
780
863
  */
781
- exports.CreateCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 99);
864
+ exports.CreateCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 111);
782
865
  /**
783
866
  * Describes the message blueapi.cover.v1.CreateCostGroupResponse.
784
867
  * Use `create(CreateCostGroupResponseSchema)` to create a new message.
785
868
  */
786
- exports.CreateCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 100);
869
+ exports.CreateCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 112);
787
870
  /**
788
871
  * Describes the message blueapi.cover.v1.GetCostGroupsRequest.
789
872
  * Use `create(GetCostGroupsRequestSchema)` to create a new message.
790
873
  */
791
- exports.GetCostGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 101);
874
+ exports.GetCostGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 113);
792
875
  /**
793
876
  * Describes the message blueapi.cover.v1.GetCostGroupsResponse.
794
877
  * Use `create(GetCostGroupsResponseSchema)` to create a new message.
795
878
  */
796
- exports.GetCostGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 102);
879
+ exports.GetCostGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 114);
797
880
  /**
798
881
  * Describes the message blueapi.cover.v1.GetCostGroupDetailsRequest.
799
882
  * Use `create(GetCostGroupDetailsRequestSchema)` to create a new message.
800
883
  */
801
- exports.GetCostGroupDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 103);
884
+ exports.GetCostGroupDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 115);
802
885
  /**
803
886
  * Describes the message blueapi.cover.v1.GetCostGroupDetailsResponse.
804
887
  * Use `create(GetCostGroupDetailsResponseSchema)` to create a new message.
805
888
  */
806
- exports.GetCostGroupDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 104);
889
+ exports.GetCostGroupDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 116);
807
890
  /**
808
891
  * Describes the message blueapi.cover.v1.UpdateCostGroupNameRequest.
809
892
  * Use `create(UpdateCostGroupNameRequestSchema)` to create a new message.
810
893
  */
811
- exports.UpdateCostGroupNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 105);
894
+ exports.UpdateCostGroupNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 117);
812
895
  /**
813
896
  * Describes the message blueapi.cover.v1.UpdateCostGroupNameResponse.
814
897
  * Use `create(UpdateCostGroupNameResponseSchema)` to create a new message.
815
898
  */
816
- exports.UpdateCostGroupNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 106);
899
+ exports.UpdateCostGroupNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 118);
817
900
  /**
818
901
  * Describes the message blueapi.cover.v1.UpdateCostGroupDescriptionRequest.
819
902
  * Use `create(UpdateCostGroupDescriptionRequestSchema)` to create a new message.
820
903
  */
821
- exports.UpdateCostGroupDescriptionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 107);
904
+ exports.UpdateCostGroupDescriptionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 119);
822
905
  /**
823
906
  * Describes the message blueapi.cover.v1.UpdateCostGroupDescriptionResponse.
824
907
  * Use `create(UpdateCostGroupDescriptionResponseSchema)` to create a new message.
825
908
  */
826
- exports.UpdateCostGroupDescriptionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 108);
909
+ exports.UpdateCostGroupDescriptionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 120);
827
910
  /**
828
911
  * Describes the message blueapi.cover.v1.UpdateCostGroupImageRequest.
829
912
  * Use `create(UpdateCostGroupImageRequestSchema)` to create a new message.
830
913
  */
831
- exports.UpdateCostGroupImageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 109);
914
+ exports.UpdateCostGroupImageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 121);
832
915
  /**
833
916
  * Describes the message blueapi.cover.v1.UpdateCostGroupImageResponse.
834
917
  * Use `create(UpdateCostGroupImageResponseSchema)` to create a new message.
835
918
  */
836
- exports.UpdateCostGroupImageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 110);
919
+ exports.UpdateCostGroupImageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 122);
837
920
  /**
838
921
  * Describes the message blueapi.cover.v1.UpdateCostGroupIconRequest.
839
922
  * Use `create(UpdateCostGroupIconRequestSchema)` to create a new message.
840
923
  */
841
- exports.UpdateCostGroupIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 111);
924
+ exports.UpdateCostGroupIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 123);
842
925
  /**
843
926
  * Describes the message blueapi.cover.v1.UpdateCostGroupIconResponse.
844
927
  * Use `create(UpdateCostGroupIconResponseSchema)` to create a new message.
845
928
  */
846
- exports.UpdateCostGroupIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 112);
929
+ exports.UpdateCostGroupIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 124);
847
930
  /**
848
931
  * Describes the message blueapi.cover.v1.UpdateCostGroupColorThemeRequest.
849
932
  * Use `create(UpdateCostGroupColorThemeRequestSchema)` to create a new message.
850
933
  */
851
- exports.UpdateCostGroupColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 113);
934
+ exports.UpdateCostGroupColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 125);
852
935
  /**
853
936
  * Describes the message blueapi.cover.v1.UpdateCostGroupColorThemeResponse.
854
937
  * Use `create(UpdateCostGroupColorThemeResponseSchema)` to create a new message.
855
938
  */
856
- exports.UpdateCostGroupColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 114);
939
+ exports.UpdateCostGroupColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 126);
857
940
  /**
858
941
  * Describes the message blueapi.cover.v1.UpdateCostGroupCombinationsRequest.
859
942
  * Use `create(UpdateCostGroupCombinationsRequestSchema)` to create a new message.
860
943
  */
861
- exports.UpdateCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 115);
944
+ exports.UpdateCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 127);
862
945
  /**
863
946
  * Describes the message blueapi.cover.v1.UpdateCostGroupCombinationsResponse.
864
947
  * Use `create(UpdateCostGroupCombinationsResponseSchema)` to create a new message.
865
948
  */
866
- exports.UpdateCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 116);
949
+ exports.UpdateCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 128);
867
950
  /**
868
951
  * Describes the message blueapi.cover.v1.AssignCostGroupMemberRequest.
869
952
  * Use `create(AssignCostGroupMemberRequestSchema)` to create a new message.
870
953
  */
871
- exports.AssignCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 117);
954
+ exports.AssignCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 129);
872
955
  /**
873
956
  * Describes the message blueapi.cover.v1.AssignCostGroupMemberResponse.
874
957
  * Use `create(AssignCostGroupMemberResponseSchema)` to create a new message.
875
958
  */
876
- exports.AssignCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 118);
959
+ exports.AssignCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 130);
877
960
  /**
878
961
  * Describes the message blueapi.cover.v1.RemoveCostGroupMemberRequest.
879
962
  * Use `create(RemoveCostGroupMemberRequestSchema)` to create a new message.
880
963
  */
881
- exports.RemoveCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 119);
964
+ exports.RemoveCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 131);
882
965
  /**
883
966
  * Describes the message blueapi.cover.v1.RemoveCostGroupMemberResponse.
884
967
  * Use `create(RemoveCostGroupMemberResponseSchema)` to create a new message.
885
968
  */
886
- exports.RemoveCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 120);
969
+ exports.RemoveCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 132);
887
970
  /**
888
971
  * Describes the message blueapi.cover.v1.DeleteCostGroupRequest.
889
972
  * Use `create(DeleteCostGroupRequestSchema)` to create a new message.
890
973
  */
891
- exports.DeleteCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 121);
974
+ exports.DeleteCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 133);
892
975
  /**
893
976
  * Describes the message blueapi.cover.v1.DeleteCostGroupResponse.
894
977
  * Use `create(DeleteCostGroupResponseSchema)` to create a new message.
895
978
  */
896
- exports.DeleteCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 122);
979
+ exports.DeleteCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 134);
897
980
  /**
898
981
  * Describes the message blueapi.cover.v1.GetAccountAccessTemplateUrlRequest.
899
982
  * Use `create(GetAccountAccessTemplateUrlRequestSchema)` to create a new message.
900
983
  */
901
- exports.GetAccountAccessTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 123);
984
+ exports.GetAccountAccessTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 135);
902
985
  /**
903
986
  * Describes the message blueapi.cover.v1.GetAccountAccessTemplateUrlResponse.
904
987
  * Use `create(GetAccountAccessTemplateUrlResponseSchema)` to create a new message.
905
988
  */
906
- exports.GetAccountAccessTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 124);
989
+ exports.GetAccountAccessTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 136);
907
990
  /**
908
991
  * Describes the message blueapi.cover.v1.ListAccountAccessRequest.
909
992
  * Use `create(ListAccountAccessRequestSchema)` to create a new message.
910
993
  */
911
- exports.ListAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 125);
994
+ exports.ListAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 137);
912
995
  /**
913
996
  * Describes the message blueapi.cover.v1.GetAccountAccessRequest.
914
997
  * Use `create(GetAccountAccessRequestSchema)` to create a new message.
915
998
  */
916
- exports.GetAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 126);
999
+ exports.GetAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 138);
917
1000
  /**
918
1001
  * Describes the message blueapi.cover.v1.AccountAccess.
919
1002
  * Use `create(AccountAccessSchema)` to create a new message.
920
1003
  */
921
- exports.AccountAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 127);
1004
+ exports.AccountAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 139);
922
1005
  /**
923
1006
  * Describes the message blueapi.cover.v1.CreateAccountAccessRequest.
924
1007
  * Use `create(CreateAccountAccessRequestSchema)` to create a new message.
925
1008
  */
926
- exports.CreateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 128);
1009
+ exports.CreateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 140);
927
1010
  /**
928
1011
  * Describes the message blueapi.cover.v1.CreateAccountAccessStacksetRequest.
929
1012
  * Use `create(CreateAccountAccessStacksetRequestSchema)` to create a new message.
930
1013
  */
931
- exports.CreateAccountAccessStacksetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 129);
1014
+ exports.CreateAccountAccessStacksetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 141);
932
1015
  /**
933
1016
  * Describes the message blueapi.cover.v1.UpdateAccountAccessRequest.
934
1017
  * Use `create(UpdateAccountAccessRequestSchema)` to create a new message.
935
1018
  */
936
- exports.UpdateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 130);
1019
+ exports.UpdateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 142);
937
1020
  /**
938
1021
  * Describes the message blueapi.cover.v1.DeleteAccountAccessRequest.
939
1022
  * Use `create(DeleteAccountAccessRequestSchema)` to create a new message.
940
1023
  */
941
- exports.DeleteAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 131);
1024
+ exports.DeleteAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 143);
942
1025
  /**
943
1026
  * Describes the message blueapi.cover.v1.DeleteAccountAccessResponse.
944
1027
  * Use `create(DeleteAccountAccessResponseSchema)` to create a new message.
945
1028
  */
946
- exports.DeleteAccountAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 132);
1029
+ exports.DeleteAccountAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 144);
947
1030
  /**
948
1031
  * Describes the message blueapi.cover.v1.RegisterAccountRequest.
949
1032
  * Use `create(RegisterAccountRequestSchema)` to create a new message.
950
1033
  */
951
- exports.RegisterAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 133);
1034
+ exports.RegisterAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 145);
952
1035
  /**
953
1036
  * Describes the message blueapi.cover.v1.ListAssetsRequest.
954
1037
  * Use `create(ListAssetsRequestSchema)` to create a new message.
955
1038
  */
956
- exports.ListAssetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 134);
1039
+ exports.ListAssetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 146);
957
1040
  /**
958
1041
  * Describes the message blueapi.cover.v1.ListAssetsFilters.
959
1042
  * Use `create(ListAssetsFiltersSchema)` to create a new message.
960
1043
  */
961
- exports.ListAssetsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 135);
1044
+ exports.ListAssetsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 147);
962
1045
  /**
963
1046
  * Describes the message blueapi.cover.v1.Resource.
964
1047
  * Use `create(ResourceSchema)` to create a new message.
965
1048
  */
966
- exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 136);
1049
+ exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 148);
967
1050
  /**
968
1051
  * Describes the message blueapi.cover.v1.GetAssetsSummaryRequest.
969
1052
  * Use `create(GetAssetsSummaryRequestSchema)` to create a new message.
970
1053
  */
971
- exports.GetAssetsSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 137);
1054
+ exports.GetAssetsSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 149);
972
1055
  /**
973
1056
  * Describes the message blueapi.cover.v1.GetAssetsSummaryResponse.
974
1057
  * Use `create(GetAssetsSummaryResponseSchema)` to create a new message.
975
1058
  */
976
- exports.GetAssetsSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 138);
1059
+ exports.GetAssetsSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 150);
977
1060
  /**
978
1061
  * Describes the message blueapi.cover.v1.AssetsSummary.
979
1062
  * Use `create(AssetsSummarySchema)` to create a new message.
980
1063
  */
981
- exports.AssetsSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 139);
1064
+ exports.AssetsSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 151);
982
1065
  /**
983
1066
  * Describes the message blueapi.cover.v1.ResolveCostGroupCombinationsRequest.
984
1067
  * Use `create(ResolveCostGroupCombinationsRequestSchema)` to create a new message.
985
1068
  */
986
- exports.ResolveCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 140);
1069
+ exports.ResolveCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 152);
987
1070
  /**
988
1071
  * Describes the message blueapi.cover.v1.ResolveCostGroupCombinationsResponse.
989
1072
  * Use `create(ResolveCostGroupCombinationsResponseSchema)` to create a new message.
990
1073
  */
991
- exports.ResolveCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 141);
1074
+ exports.ResolveCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 153);
992
1075
  /**
993
1076
  * Describes the message blueapi.cover.v1.GetCostUsageRequest.
994
1077
  * Use `create(GetCostUsageRequestSchema)` to create a new message.
995
1078
  */
996
- exports.GetCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 142);
1079
+ exports.GetCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 154);
997
1080
  /**
998
1081
  * Describes the message blueapi.cover.v1.GetCostUsageRequestAwsOptions.
999
1082
  * Use `create(GetCostUsageRequestAwsOptionsSchema)` to create a new message.
1000
1083
  */
1001
- exports.GetCostUsageRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 143);
1084
+ exports.GetCostUsageRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 155);
1002
1085
  /**
1003
1086
  * Describes the message blueapi.cover.v1.GetCostUsageRequestAzureOptions.
1004
1087
  * Use `create(GetCostUsageRequestAzureOptionsSchema)` to create a new message.
1005
1088
  */
1006
- exports.GetCostUsageRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 144);
1089
+ exports.GetCostUsageRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 156);
1007
1090
  /**
1008
1091
  * Describes the message blueapi.cover.v1.GetCostUsageRequestGcpOptions.
1009
1092
  * Use `create(GetCostUsageRequestGcpOptionsSchema)` to create a new message.
1010
1093
  */
1011
- exports.GetCostUsageRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 145);
1094
+ exports.GetCostUsageRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 157);
1012
1095
  /**
1013
1096
  * Describes the message blueapi.cover.v1.GetCostUsageRequestAzureCspOptions.
1014
1097
  * Use `create(GetCostUsageRequestAzureCspOptionsSchema)` to create a new message.
1015
1098
  */
1016
- exports.GetCostUsageRequestAzureCspOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 146);
1099
+ exports.GetCostUsageRequestAzureCspOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 158);
1017
1100
  /**
1018
1101
  * Describes the message blueapi.cover.v1.GetCostUsageRequestCustomOptions.
1019
1102
  * Use `create(GetCostUsageRequestCustomOptionsSchema)` to create a new message.
1020
1103
  */
1021
- exports.GetCostUsageRequestCustomOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 147);
1104
+ exports.GetCostUsageRequestCustomOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 159);
1022
1105
  /**
1023
1106
  * Describes the message blueapi.cover.v1.ReadCostsRequestOptionsFilters.
1024
1107
  * Use `create(ReadCostsRequestOptionsFiltersSchema)` to create a new message.
1025
1108
  */
1026
- exports.ReadCostsRequestOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 148);
1109
+ exports.ReadCostsRequestOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 160);
1027
1110
  /**
1028
1111
  * Describes the message blueapi.cover.v1.CostItem.
1029
1112
  * Use `create(CostItemSchema)` to create a new message.
1030
1113
  */
1031
- exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 149);
1114
+ exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 161);
1032
1115
  /**
1033
1116
  * Describes the message blueapi.cover.v1.GetRightSizingRecommendationRequest.
1034
1117
  * Use `create(GetRightSizingRecommendationRequestSchema)` to create a new message.
1035
1118
  */
1036
- exports.GetRightSizingRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 150);
1119
+ exports.GetRightSizingRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 162);
1037
1120
  /**
1038
1121
  * Describes the message blueapi.cover.v1.GetRightSizingRecommendationResponse.
1039
1122
  * Use `create(GetRightSizingRecommendationResponseSchema)` to create a new message.
1040
1123
  */
1041
- exports.GetRightSizingRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 151);
1124
+ exports.GetRightSizingRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 163);
1042
1125
  /**
1043
1126
  * Describes the message blueapi.cover.v1.ModifyResourceTypeRequest.
1044
1127
  * Use `create(ModifyResourceTypeRequestSchema)` to create a new message.
1045
1128
  */
1046
- exports.ModifyResourceTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 152);
1129
+ exports.ModifyResourceTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 164);
1047
1130
  /**
1048
1131
  * Describes the message blueapi.cover.v1.ModifyResourceTypeResponse.
1049
1132
  * Use `create(ModifyResourceTypeResponseSchema)` to create a new message.
1050
1133
  */
1051
- exports.ModifyResourceTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 153);
1134
+ exports.ModifyResourceTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 165);
1052
1135
  /**
1053
1136
  * Describes the message blueapi.cover.v1.TerminateResourceRequest.
1054
1137
  * Use `create(TerminateResourceRequestSchema)` to create a new message.
1055
1138
  */
1056
- exports.TerminateResourceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 154);
1139
+ exports.TerminateResourceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 166);
1057
1140
  /**
1058
1141
  * Describes the message blueapi.cover.v1.TerminateResourceResponse.
1059
1142
  * Use `create(TerminateResourceResponseSchema)` to create a new message.
1060
1143
  */
1061
- exports.TerminateResourceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 155);
1144
+ exports.TerminateResourceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 167);
1062
1145
  /**
1063
1146
  * Describes the message blueapi.cover.v1.UploadChargeCodeRequest.
1064
1147
  * Use `create(UploadChargeCodeRequestSchema)` to create a new message.
1065
1148
  */
1066
- exports.UploadChargeCodeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 156);
1149
+ exports.UploadChargeCodeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 168);
1067
1150
  /**
1068
1151
  * Describes the message blueapi.cover.v1.UploadChargeCodeResponse.
1069
1152
  * Use `create(UploadChargeCodeResponseSchema)` to create a new message.
1070
1153
  */
1071
- exports.UploadChargeCodeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 157);
1154
+ exports.UploadChargeCodeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 169);
1072
1155
  /**
1073
1156
  * Describes the message blueapi.cover.v1.AssignPayerRequest.
1074
1157
  * Use `create(AssignPayerRequestSchema)` to create a new message.
1075
1158
  */
1076
- exports.AssignPayerRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 158);
1159
+ exports.AssignPayerRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 170);
1077
1160
  /**
1078
1161
  * Describes the message blueapi.cover.v1.AssignPayerResponse.
1079
1162
  * Use `create(AssignPayerResponseSchema)` to create a new message.
1080
1163
  */
1081
- exports.AssignPayerResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 159);
1164
+ exports.AssignPayerResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 171);
1082
1165
  /**
1083
1166
  * Describes the message blueapi.cover.v1.GetPayersRequest.
1084
1167
  * Use `create(GetPayersRequestSchema)` to create a new message.
1085
1168
  */
1086
- exports.GetPayersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 160);
1169
+ exports.GetPayersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 172);
1087
1170
  /**
1088
1171
  * Describes the message blueapi.cover.v1.GetPayersResponse.
1089
1172
  * Use `create(GetPayersResponseSchema)` to create a new message.
1090
1173
  */
1091
- exports.GetPayersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 161);
1174
+ exports.GetPayersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 173);
1092
1175
  /**
1093
1176
  * Describes the message blueapi.cover.v1.GetAccountsRequest.
1094
1177
  * Use `create(GetAccountsRequestSchema)` to create a new message.
1095
1178
  */
1096
- exports.GetAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 162);
1179
+ exports.GetAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 174);
1097
1180
  /**
1098
1181
  * Describes the message blueapi.cover.v1.GetAccountsResponse.
1099
1182
  * Use `create(GetAccountsResponseSchema)` to create a new message.
1100
1183
  */
1101
- exports.GetAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 163);
1184
+ exports.GetAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 175);
1102
1185
  /**
1103
1186
  * Describes the message blueapi.cover.v1.GetServicesRequest.
1104
1187
  * Use `create(GetServicesRequestSchema)` to create a new message.
1105
1188
  */
1106
- exports.GetServicesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 164);
1189
+ exports.GetServicesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 176);
1107
1190
  /**
1108
1191
  * Describes the message blueapi.cover.v1.GetServicesResponse.
1109
1192
  * Use `create(GetServicesResponseSchema)` to create a new message.
1110
1193
  */
1111
- exports.GetServicesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 165);
1194
+ exports.GetServicesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 177);
1112
1195
  /**
1113
1196
  * Describes the message blueapi.cover.v1.GetRegionsRequest.
1114
1197
  * Use `create(GetRegionsRequestSchema)` to create a new message.
1115
1198
  */
1116
- exports.GetRegionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 166);
1199
+ exports.GetRegionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 178);
1117
1200
  /**
1118
1201
  * Describes the message blueapi.cover.v1.GetRegionsResponse.
1119
1202
  * Use `create(GetRegionsResponseSchema)` to create a new message.
1120
1203
  */
1121
- exports.GetRegionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 167);
1204
+ exports.GetRegionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 179);
1122
1205
  /**
1123
1206
  * Describes the message blueapi.cover.v1.GetTagsRequest.
1124
1207
  * Use `create(GetTagsRequestSchema)` to create a new message.
1125
1208
  */
1126
- exports.GetTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 168);
1209
+ exports.GetTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 180);
1127
1210
  /**
1128
1211
  * Describes the message blueapi.cover.v1.GetTagsResponse.
1129
1212
  * Use `create(GetTagsResponseSchema)` to create a new message.
1130
1213
  */
1131
- exports.GetTagsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 169);
1214
+ exports.GetTagsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 181);
1132
1215
  /**
1133
1216
  * Describes the message blueapi.cover.v1.ListFeesRequest.
1134
1217
  * Use `create(ListFeesRequestSchema)` to create a new message.
1135
1218
  */
1136
- exports.ListFeesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 170);
1219
+ exports.ListFeesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182);
1137
1220
  /**
1138
1221
  * Describes the message blueapi.cover.v1.FeeDetails.
1139
1222
  * Use `create(FeeDetailsSchema)` to create a new message.
1140
1223
  */
1141
- exports.FeeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 171);
1224
+ exports.FeeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 183);
1142
1225
  /**
1143
1226
  * Describes the message blueapi.cover.v1.RestoreFeeRequest.
1144
1227
  * Use `create(RestoreFeeRequestSchema)` to create a new message.
1145
1228
  */
1146
- exports.RestoreFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 172);
1229
+ exports.RestoreFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184);
1147
1230
  /**
1148
1231
  * Describes the message blueapi.cover.v1.GetCostGroupFeeRequest.
1149
1232
  * Use `create(GetCostGroupFeeRequestSchema)` to create a new message.
1150
1233
  */
1151
- exports.GetCostGroupFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 173);
1234
+ exports.GetCostGroupFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 185);
1152
1235
  /**
1153
1236
  * Describes the message blueapi.cover.v1.FeeItem.
1154
1237
  * Use `create(FeeItemSchema)` to create a new message.
1155
1238
  */
1156
- exports.FeeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 174);
1239
+ exports.FeeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 186);
1157
1240
  /**
1158
1241
  * Describes the message blueapi.cover.v1.Allocator.
1159
1242
  * Use `create(AllocatorSchema)` to create a new message.
1160
1243
  */
1161
- exports.AllocatorSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 175);
1244
+ exports.AllocatorSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 187);
1162
1245
  /**
1163
1246
  * Describes the message blueapi.cover.v1.Criteria.
1164
1247
  * Use `create(CriteriaSchema)` to create a new message.
1165
1248
  */
1166
- exports.CriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 176);
1249
+ exports.CriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 188);
1167
1250
  /**
1168
1251
  * Describes the message blueapi.cover.v1.CostAllocatorDetails.
1169
1252
  * Use `create(CostAllocatorDetailsSchema)` to create a new message.
1170
1253
  */
1171
- exports.CostAllocatorDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 177);
1254
+ exports.CostAllocatorDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 189);
1172
1255
  /**
1173
1256
  * Describes the message blueapi.cover.v1.CostAllocatorRequest.
1174
1257
  * Use `create(CostAllocatorRequestSchema)` to create a new message.
1175
1258
  */
1176
- exports.CostAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 178);
1259
+ exports.CostAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 190);
1177
1260
  /**
1178
1261
  * Describes the message blueapi.cover.v1.ListAllocatorsRequest.
1179
1262
  * Use `create(ListAllocatorsRequestSchema)` to create a new message.
1180
1263
  */
1181
- exports.ListAllocatorsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 179);
1264
+ exports.ListAllocatorsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 191);
1182
1265
  /**
1183
1266
  * Describes the message blueapi.cover.v1.CreateAllocatorRequest.
1184
1267
  * Use `create(CreateAllocatorRequestSchema)` to create a new message.
1185
1268
  */
1186
- exports.CreateAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 180);
1269
+ exports.CreateAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 192);
1187
1270
  /**
1188
1271
  * Describes the message blueapi.cover.v1.GetAllocationAttributesRequest.
1189
1272
  * Use `create(GetAllocationAttributesRequestSchema)` to create a new message.
1190
1273
  */
1191
- exports.GetAllocationAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 181);
1274
+ exports.GetAllocationAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 193);
1192
1275
  /**
1193
1276
  * Describes the message blueapi.cover.v1.GetAllocationAttributesResponse.
1194
1277
  * Use `create(GetAllocationAttributesResponseSchema)` to create a new message.
1195
1278
  */
1196
- exports.GetAllocationAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182);
1279
+ exports.GetAllocationAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 194);
1197
1280
  /**
1198
1281
  * Describes the message blueapi.cover.v1.GetAllocationAttributesResponse.AllocationAttribute.
1199
1282
  * Use `create(GetAllocationAttributesResponse_AllocationAttributeSchema)` to create a new message.
1200
1283
  */
1201
- exports.GetAllocationAttributesResponse_AllocationAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182, 0);
1284
+ exports.GetAllocationAttributesResponse_AllocationAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 194, 0);
1202
1285
  /**
1203
1286
  * Describes the message blueapi.cover.v1.GetAllocationSourcesRequest.
1204
1287
  * Use `create(GetAllocationSourcesRequestSchema)` to create a new message.
1205
1288
  */
1206
- exports.GetAllocationSourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 183);
1289
+ exports.GetAllocationSourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 195);
1207
1290
  /**
1208
1291
  * Describes the message blueapi.cover.v1.GetAllocationSourcesResponse.
1209
1292
  * Use `create(GetAllocationSourcesResponseSchema)` to create a new message.
1210
1293
  */
1211
- exports.GetAllocationSourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184);
1294
+ exports.GetAllocationSourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 196);
1212
1295
  /**
1213
1296
  * Describes the message blueapi.cover.v1.GetAllocationSourcesResponse.AllocationSources.
1214
1297
  * Use `create(GetAllocationSourcesResponse_AllocationSourcesSchema)` to create a new message.
1215
1298
  */
1216
- exports.GetAllocationSourcesResponse_AllocationSourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184, 0);
1299
+ exports.GetAllocationSourcesResponse_AllocationSourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 196, 0);
1217
1300
  /**
1218
1301
  * Describes the message blueapi.cover.v1.DeleteAllocatorRequest.
1219
1302
  * Use `create(DeleteAllocatorRequestSchema)` to create a new message.
1220
1303
  */
1221
- exports.DeleteAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 185);
1304
+ exports.DeleteAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 197);
1222
1305
  /**
1223
1306
  * Describes the message blueapi.cover.v1.ProxyCreateCompletionRequest.
1224
1307
  * Use `create(ProxyCreateCompletionRequestSchema)` to create a new message.
1225
1308
  */
1226
- exports.ProxyCreateCompletionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 186);
1309
+ exports.ProxyCreateCompletionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 198);
1227
1310
  /**
1228
1311
  * Describes the message blueapi.cover.v1.ProxyCreateCompletionResponse.
1229
1312
  * Use `create(ProxyCreateCompletionResponseSchema)` to create a new message.
1230
1313
  */
1231
- exports.ProxyCreateCompletionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 187);
1314
+ exports.ProxyCreateCompletionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 199);
1232
1315
  /**
1233
1316
  * Describes the message blueapi.cover.v1.AccountUsageDetails.
1234
1317
  * Use `create(AccountUsageDetailsSchema)` to create a new message.
1235
1318
  */
1236
- exports.AccountUsageDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 188);
1319
+ exports.AccountUsageDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 200);
1237
1320
  /**
1238
1321
  * Describes the message blueapi.cover.v1.ListAccountUsageRequest.
1239
1322
  * Use `create(ListAccountUsageRequestSchema)` to create a new message.
1240
1323
  */
1241
- exports.ListAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 189);
1324
+ exports.ListAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 201);
1242
1325
  /**
1243
1326
  * Describes the message blueapi.cover.v1.RestoreAccountUsageRequest.
1244
1327
  * Use `create(RestoreAccountUsageRequestSchema)` to create a new message.
1245
1328
  */
1246
- exports.RestoreAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 190);
1329
+ exports.RestoreAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 202);
1247
1330
  /**
1248
1331
  * Describes the message blueapi.cover.v1.RestoreSavingsRequest.
1249
1332
  * Use `create(RestoreSavingsRequestSchema)` to create a new message.
1250
1333
  */
1251
- exports.RestoreSavingsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 191);
1334
+ exports.RestoreSavingsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 203);
1252
1335
  /**
1253
1336
  * Describes the message blueapi.cover.v1.SavingsDetails.
1254
1337
  * Use `create(SavingsDetailsSchema)` to create a new message.
1255
1338
  */
1256
- exports.SavingsDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 192);
1339
+ exports.SavingsDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 204);
1257
1340
  /**
1258
1341
  * Describes the message blueapi.cover.v1.GetCostGroupAllocationRequest.
1259
1342
  * Use `create(GetCostGroupAllocationRequestSchema)` to create a new message.
1260
1343
  */
1261
- exports.GetCostGroupAllocationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 193);
1344
+ exports.GetCostGroupAllocationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 205);
1262
1345
  /**
1263
1346
  * Describes the message blueapi.cover.v1.AllocationItem.
1264
1347
  * Use `create(AllocationItemSchema)` to create a new message.
1265
1348
  */
1266
- exports.AllocationItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 194);
1349
+ exports.AllocationItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 206);
1267
1350
  /**
1268
1351
  * Describes the message blueapi.cover.v1.ProcessAuth0UserRequest.
1269
1352
  * Use `create(ProcessAuth0UserRequestSchema)` to create a new message.
1270
1353
  */
1271
- exports.ProcessAuth0UserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 195);
1354
+ exports.ProcessAuth0UserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 207);
1272
1355
  /**
1273
1356
  * Describes the message blueapi.cover.v1.ProcessAuth0UserResponse.
1274
1357
  * Use `create(ProcessAuth0UserResponseSchema)` to create a new message.
1275
1358
  */
1276
- exports.ProcessAuth0UserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 196);
1359
+ exports.ProcessAuth0UserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 208);
1277
1360
  /**
1278
1361
  * Describes the message blueapi.cover.v1.DataAccess.
1279
1362
  * Use `create(DataAccessSchema)` to create a new message.
1280
1363
  */
1281
- exports.DataAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 197);
1364
+ exports.DataAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 209);
1282
1365
  /**
1283
1366
  * Describes the message blueapi.cover.v1.RegisterDataAccessRequest.
1284
1367
  * Use `create(RegisterDataAccessRequestSchema)` to create a new message.
1285
1368
  */
1286
- exports.RegisterDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 198);
1369
+ exports.RegisterDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 210);
1287
1370
  /**
1288
1371
  * Describes the message blueapi.cover.v1.UpdateDataAccessRequest.
1289
1372
  * Use `create(UpdateDataAccessRequestSchema)` to create a new message.
1290
1373
  */
1291
- exports.UpdateDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 199);
1374
+ exports.UpdateDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 211);
1292
1375
  /**
1293
1376
  * Describes the message blueapi.cover.v1.ListDataAccessRequest.
1294
1377
  * Use `create(ListDataAccessRequestSchema)` to create a new message.
1295
1378
  */
1296
- exports.ListDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 200);
1379
+ exports.ListDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212);
1297
1380
  /**
1298
1381
  * Describes the message blueapi.cover.v1.ListUnregisteredAccountsRequest.
1299
1382
  * Use `create(ListUnregisteredAccountsRequestSchema)` to create a new message.
1300
1383
  */
1301
- exports.ListUnregisteredAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 201);
1384
+ exports.ListUnregisteredAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 213);
1302
1385
  /**
1303
1386
  * Describes the message blueapi.cover.v1.ListUnregisteredAccountsResponse.
1304
1387
  * Use `create(ListUnregisteredAccountsResponseSchema)` to create a new message.
1305
1388
  */
1306
- exports.ListUnregisteredAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 202);
1389
+ exports.ListUnregisteredAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 214);
1307
1390
  /**
1308
1391
  * Describes the message blueapi.cover.v1.UnregisteredAccts.
1309
1392
  * Use `create(UnregisteredAcctsSchema)` to create a new message.
1310
1393
  */
1311
- exports.UnregisteredAcctsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 203);
1394
+ exports.UnregisteredAcctsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 215);
1312
1395
  /**
1313
1396
  * Describes the message blueapi.cover.v1.BillingAccountRequest.
1314
1397
  * Use `create(BillingAccountRequestSchema)` to create a new message.
1315
1398
  */
1316
- exports.BillingAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 204);
1399
+ exports.BillingAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 216);
1317
1400
  /**
1318
1401
  * Describes the message blueapi.cover.v1.GetAndDeleteDataAccessRequest.
1319
1402
  * Use `create(GetAndDeleteDataAccessRequestSchema)` to create a new message.
1320
1403
  */
1321
- exports.GetAndDeleteDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 205);
1404
+ exports.GetAndDeleteDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 217);
1322
1405
  /**
1323
1406
  * Describes the message blueapi.cover.v1.AddPartnerCenterCredentialsRequest.
1324
1407
  * Use `create(AddPartnerCenterCredentialsRequestSchema)` to create a new message.
1325
1408
  */
1326
- exports.AddPartnerCenterCredentialsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 206);
1409
+ exports.AddPartnerCenterCredentialsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 218);
1327
1410
  /**
1328
1411
  * Describes the message blueapi.cover.v1.AddMpnSettingRequest.
1329
1412
  * Use `create(AddMpnSettingRequestSchema)` to create a new message.
1330
1413
  */
1331
- exports.AddMpnSettingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 207);
1414
+ exports.AddMpnSettingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 219);
1332
1415
  /**
1333
1416
  * Describes the message blueapi.cover.v1.GetCostGroupAttributeRequest.
1334
1417
  * Use `create(GetCostGroupAttributeRequestSchema)` to create a new message.
1335
1418
  */
1336
- exports.GetCostGroupAttributeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 208);
1419
+ exports.GetCostGroupAttributeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 220);
1337
1420
  /**
1338
1421
  * Describes the message blueapi.cover.v1.GetCostGroupAttributeResponse.
1339
1422
  * Use `create(GetCostGroupAttributeResponseSchema)` to create a new message.
1340
1423
  */
1341
- exports.GetCostGroupAttributeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 209);
1424
+ exports.GetCostGroupAttributeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 221);
1342
1425
  /**
1343
1426
  * Describes the message blueapi.cover.v1.GetCategoriesRequest.
1344
1427
  * Use `create(GetCategoriesRequestSchema)` to create a new message.
1345
1428
  */
1346
- exports.GetCategoriesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 210);
1429
+ exports.GetCategoriesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 222);
1347
1430
  /**
1348
1431
  * Describes the message blueapi.cover.v1.GetCategoriesResponse.
1349
1432
  * Use `create(GetCategoriesResponseSchema)` to create a new message.
1350
1433
  */
1351
- exports.GetCategoriesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 211);
1434
+ exports.GetCategoriesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 223);
1352
1435
  /**
1353
1436
  * Describes the message blueapi.cover.v1.GetAlertsRequest.
1354
1437
  * Use `create(GetAlertsRequestSchema)` to create a new message.
1355
1438
  */
1356
- exports.GetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212);
1439
+ exports.GetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 224);
1357
1440
  /**
1358
1441
  * Describes the message blueapi.cover.v1.GetAlertsResponse.
1359
1442
  * Use `create(GetAlertsResponseSchema)` to create a new message.
1360
1443
  */
1361
- exports.GetAlertsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 213);
1444
+ exports.GetAlertsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 225);
1362
1445
  /**
1363
1446
  * Describes the message blueapi.cover.v1.CreateAlertRequest.
1364
1447
  * Use `create(CreateAlertRequestSchema)` to create a new message.
1365
1448
  */
1366
- exports.CreateAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 214);
1449
+ exports.CreateAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 226);
1367
1450
  /**
1368
1451
  * Describes the message blueapi.cover.v1.CreateAlertResponse.
1369
1452
  * Use `create(CreateAlertResponseSchema)` to create a new message.
1370
1453
  */
1371
- exports.CreateAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 215);
1454
+ exports.CreateAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 227);
1372
1455
  /**
1373
1456
  * Describes the message blueapi.cover.v1.GetAlertDetailsRequest.
1374
1457
  * Use `create(GetAlertDetailsRequestSchema)` to create a new message.
1375
1458
  */
1376
- exports.GetAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 216);
1459
+ exports.GetAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 228);
1377
1460
  /**
1378
1461
  * Describes the message blueapi.cover.v1.GetAlertDetailsResponse.
1379
1462
  * Use `create(GetAlertDetailsResponseSchema)` to create a new message.
1380
1463
  */
1381
- exports.GetAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 217);
1464
+ exports.GetAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 229);
1382
1465
  /**
1383
1466
  * Describes the message blueapi.cover.v1.DeleteAlertRequest.
1384
1467
  * Use `create(DeleteAlertRequestSchema)` to create a new message.
1385
1468
  */
1386
- exports.DeleteAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 218);
1469
+ exports.DeleteAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 230);
1387
1470
  /**
1388
1471
  * Describes the message blueapi.cover.v1.DeleteAlertResponse.
1389
1472
  * Use `create(DeleteAlertResponseSchema)` to create a new message.
1390
1473
  */
1391
- exports.DeleteAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 219);
1474
+ exports.DeleteAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 231);
1392
1475
  /**
1393
1476
  * Describes the message blueapi.cover.v1.UpdateAlertDetailsRequest.
1394
1477
  * Use `create(UpdateAlertDetailsRequestSchema)` to create a new message.
1395
1478
  */
1396
- exports.UpdateAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 220);
1479
+ exports.UpdateAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 232);
1397
1480
  /**
1398
1481
  * Describes the message blueapi.cover.v1.UpdateAlertDetailsResponse.
1399
1482
  * Use `create(UpdateAlertDetailsResponseSchema)` to create a new message.
1400
1483
  */
1401
- exports.UpdateAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 221);
1484
+ exports.UpdateAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 233);
1402
1485
  /**
1403
1486
  * Describes the message blueapi.cover.v1.GetChannelsRequest.
1404
1487
  * Use `create(GetChannelsRequestSchema)` to create a new message.
1405
1488
  */
1406
- exports.GetChannelsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 222);
1489
+ exports.GetChannelsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 234);
1407
1490
  /**
1408
1491
  * Describes the message blueapi.cover.v1.GetChannelsResponse.
1409
1492
  * Use `create(GetChannelsResponseSchema)` to create a new message.
1410
1493
  */
1411
- exports.GetChannelsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 223);
1494
+ exports.GetChannelsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 235);
1412
1495
  /**
1413
1496
  * Describes the message blueapi.cover.v1.CreateChannelRequest.
1414
1497
  * Use `create(CreateChannelRequestSchema)` to create a new message.
1415
1498
  */
1416
- exports.CreateChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 224);
1499
+ exports.CreateChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 236);
1417
1500
  /**
1418
1501
  * Describes the message blueapi.cover.v1.CreateChannelResponse.
1419
1502
  * Use `create(CreateChannelResponseSchema)` to create a new message.
1420
1503
  */
1421
- exports.CreateChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 225);
1504
+ exports.CreateChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 237);
1422
1505
  /**
1423
1506
  * Describes the message blueapi.cover.v1.GetChannelDetailsRequest.
1424
1507
  * Use `create(GetChannelDetailsRequestSchema)` to create a new message.
1425
1508
  */
1426
- exports.GetChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 226);
1509
+ exports.GetChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 238);
1427
1510
  /**
1428
1511
  * Describes the message blueapi.cover.v1.GetChannelDetailsResponse.
1429
1512
  * Use `create(GetChannelDetailsResponseSchema)` to create a new message.
1430
1513
  */
1431
- exports.GetChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 227);
1514
+ exports.GetChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 239);
1432
1515
  /**
1433
1516
  * Describes the message blueapi.cover.v1.DeleteChannelRequest.
1434
1517
  * Use `create(DeleteChannelRequestSchema)` to create a new message.
1435
1518
  */
1436
- exports.DeleteChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 228);
1519
+ exports.DeleteChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 240);
1437
1520
  /**
1438
1521
  * Describes the message blueapi.cover.v1.DeleteChannelResponse.
1439
1522
  * Use `create(DeleteChannelResponseSchema)` to create a new message.
1440
1523
  */
1441
- exports.DeleteChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 229);
1524
+ exports.DeleteChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 241);
1442
1525
  /**
1443
1526
  * Describes the message blueapi.cover.v1.UpdateChannelDetailsRequest.
1444
1527
  * Use `create(UpdateChannelDetailsRequestSchema)` to create a new message.
1445
1528
  */
1446
- exports.UpdateChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 230);
1529
+ exports.UpdateChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 242);
1447
1530
  /**
1448
1531
  * Describes the message blueapi.cover.v1.UpdateChannelDetailsResponse.
1449
1532
  * Use `create(UpdateChannelDetailsResponseSchema)` to create a new message.
1450
1533
  */
1451
- exports.UpdateChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 231);
1534
+ exports.UpdateChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 243);
1452
1535
  /**
1453
1536
  * Describes the message blueapi.cover.v1.GetDiscountRecommendationsRequest.
1454
1537
  * Use `create(GetDiscountRecommendationsRequestSchema)` to create a new message.
1455
1538
  */
1456
- exports.GetDiscountRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 232);
1539
+ exports.GetDiscountRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 244);
1457
1540
  /**
1458
1541
  * Describes the message blueapi.cover.v1.GetDiscountRecommendationsResponse.
1459
1542
  * Use `create(GetDiscountRecommendationsResponseSchema)` to create a new message.
1460
1543
  */
1461
- exports.GetDiscountRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 233);
1544
+ exports.GetDiscountRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 245);
1462
1545
  /**
1463
1546
  * Describes the message blueapi.cover.v1.GetAnomalyinCostGroupRequest.
1464
1547
  * Use `create(GetAnomalyinCostGroupRequestSchema)` to create a new message.
1465
1548
  */
1466
- exports.GetAnomalyinCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 234);
1549
+ exports.GetAnomalyinCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 246);
1467
1550
  /**
1468
1551
  * Describes the message blueapi.cover.v1.AnomalyData.
1469
1552
  * Use `create(AnomalyDataSchema)` to create a new message.
1470
1553
  */
1471
- exports.AnomalyDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 235);
1554
+ exports.AnomalyDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 247);
1472
1555
  /**
1473
1556
  * Describes the message blueapi.cover.v1.CreateDiscountExpirationAlertRequest.
1474
1557
  * Use `create(CreateDiscountExpirationAlertRequestSchema)` to create a new message.
1475
1558
  */
1476
- exports.CreateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 236);
1559
+ exports.CreateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 248);
1477
1560
  /**
1478
1561
  * Describes the message blueapi.cover.v1.ManipulateDiscountExpirationAlertRequest.
1479
1562
  * Use `create(ManipulateDiscountExpirationAlertRequestSchema)` to create a new message.
1480
1563
  */
1481
- exports.ManipulateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 237);
1564
+ exports.ManipulateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 249);
1482
1565
  /**
1483
1566
  * Describes the message blueapi.cover.v1.UpdateDiscountExpirationAlertRequest.
1484
1567
  * Use `create(UpdateDiscountExpirationAlertRequestSchema)` to create a new message.
1485
1568
  */
1486
- exports.UpdateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 238);
1569
+ exports.UpdateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 250);
1487
1570
  /**
1488
1571
  * Describes the message blueapi.cover.v1.DiscountExpiryAlertData.
1489
1572
  * Use `create(DiscountExpiryAlertDataSchema)` to create a new message.
1490
1573
  */
1491
- exports.DiscountExpiryAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 239);
1574
+ exports.DiscountExpiryAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 251);
1492
1575
  /**
1493
1576
  * Describes the message blueapi.cover.v1.ListDiscountExpirationAlertRequest.
1494
1577
  * Use `create(ListDiscountExpirationAlertRequestSchema)` to create a new message.
1495
1578
  */
1496
- exports.ListDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 240);
1579
+ exports.ListDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 252);
1497
1580
  /**
1498
1581
  * Describes the message blueapi.cover.v1.CreateAnomalyAlertRequest.
1499
1582
  * Use `create(CreateAnomalyAlertRequestSchema)` to create a new message.
1500
1583
  */
1501
- exports.CreateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 241);
1584
+ exports.CreateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 253);
1502
1585
  /**
1503
1586
  * Describes the message blueapi.cover.v1.ManipulateAnomalyAlertRequest.
1504
1587
  * Use `create(ManipulateAnomalyAlertRequestSchema)` to create a new message.
1505
1588
  */
1506
- exports.ManipulateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 242);
1589
+ exports.ManipulateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 254);
1507
1590
  /**
1508
1591
  * Describes the message blueapi.cover.v1.AnomalyAlertData.
1509
1592
  * Use `create(AnomalyAlertDataSchema)` to create a new message.
1510
1593
  */
1511
- exports.AnomalyAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 243);
1594
+ exports.AnomalyAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 255);
1512
1595
  /**
1513
1596
  * Describes the message blueapi.cover.v1.ListAnomalyAlertRequest.
1514
1597
  * Use `create(ListAnomalyAlertRequestSchema)` to create a new message.
1515
1598
  */
1516
- exports.ListAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 244);
1599
+ exports.ListAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 256);
1517
1600
  /**
1518
1601
  * Describes the message blueapi.cover.v1.UpdateAnomalyAlertRequest.
1519
1602
  * Use `create(UpdateAnomalyAlertRequestSchema)` to create a new message.
1520
1603
  */
1521
- exports.UpdateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 245);
1604
+ exports.UpdateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 257);
1522
1605
  /**
1523
1606
  * Describes the message blueapi.cover.v1.RegisterNewUserRequest.
1524
1607
  * Use `create(RegisterNewUserRequestSchema)` to create a new message.
1525
1608
  */
1526
- exports.RegisterNewUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 246);
1609
+ exports.RegisterNewUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 258);
1527
1610
  /**
1528
1611
  * Describes the message blueapi.cover.v1.RegisterNewUserResponse.
1529
1612
  * Use `create(RegisterNewUserResponseSchema)` to create a new message.
1530
1613
  */
1531
- exports.RegisterNewUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 247);
1614
+ exports.RegisterNewUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 259);
1532
1615
  /**
1533
1616
  * Describes the message blueapi.cover.v1.GetUserProfileRequest.
1534
1617
  * Use `create(GetUserProfileRequestSchema)` to create a new message.
1535
1618
  */
1536
- exports.GetUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 248);
1619
+ exports.GetUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 260);
1537
1620
  /**
1538
1621
  * Describes the message blueapi.cover.v1.GetUserProfileResponse.
1539
1622
  * Use `create(GetUserProfileResponseSchema)` to create a new message.
1540
1623
  */
1541
- exports.GetUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 249);
1624
+ exports.GetUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 261);
1542
1625
  /**
1543
1626
  * Describes the message blueapi.cover.v1.UpdateUserProfileRequest.
1544
1627
  * Use `create(UpdateUserProfileRequestSchema)` to create a new message.
1545
1628
  */
1546
- exports.UpdateUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 250);
1629
+ exports.UpdateUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 262);
1547
1630
  /**
1548
1631
  * Describes the message blueapi.cover.v1.UpdateUserProfileResponse.
1549
1632
  * Use `create(UpdateUserProfileResponseSchema)` to create a new message.
1550
1633
  */
1551
- exports.UpdateUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 251);
1634
+ exports.UpdateUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 263);
1552
1635
  /**
1553
1636
  * Describes the message blueapi.cover.v1.ListBudgetsRequest.
1554
1637
  * Use `create(ListBudgetsRequestSchema)` to create a new message.
1555
1638
  */
1556
- exports.ListBudgetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 252);
1639
+ exports.ListBudgetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 264);
1557
1640
  /**
1558
1641
  * Describes the message blueapi.cover.v1.ListBudgetsResponse.
1559
1642
  * Use `create(ListBudgetsResponseSchema)` to create a new message.
1560
1643
  */
1561
- exports.ListBudgetsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 253);
1644
+ exports.ListBudgetsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 265);
1562
1645
  /**
1563
1646
  * Describes the message blueapi.cover.v1.GetBudgetRequest.
1564
1647
  * Use `create(GetBudgetRequestSchema)` to create a new message.
1565
1648
  */
1566
- exports.GetBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 254);
1649
+ exports.GetBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 266);
1567
1650
  /**
1568
1651
  * Describes the message blueapi.cover.v1.GetBudgetResponse.
1569
1652
  * Use `create(GetBudgetResponseSchema)` to create a new message.
1570
1653
  */
1571
- exports.GetBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 255);
1654
+ exports.GetBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 267);
1572
1655
  /**
1573
1656
  * Describes the message blueapi.cover.v1.CreateBudgetRequest.
1574
1657
  * Use `create(CreateBudgetRequestSchema)` to create a new message.
1575
1658
  */
1576
- exports.CreateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 256);
1659
+ exports.CreateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 268);
1577
1660
  /**
1578
1661
  * Describes the message blueapi.cover.v1.CreateBudgetResponse.
1579
1662
  * Use `create(CreateBudgetResponseSchema)` to create a new message.
1580
1663
  */
1581
- exports.CreateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 257);
1664
+ exports.CreateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 269);
1582
1665
  /**
1583
1666
  * Describes the message blueapi.cover.v1.DeleteBudgetRequest.
1584
1667
  * Use `create(DeleteBudgetRequestSchema)` to create a new message.
1585
1668
  */
1586
- exports.DeleteBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 258);
1669
+ exports.DeleteBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 270);
1587
1670
  /**
1588
1671
  * Describes the message blueapi.cover.v1.DeleteBudgetResponse.
1589
1672
  * Use `create(DeleteBudgetResponseSchema)` to create a new message.
1590
1673
  */
1591
- exports.DeleteBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 259);
1674
+ exports.DeleteBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 271);
1592
1675
  /**
1593
1676
  * Describes the message blueapi.cover.v1.UpdateBudgetRequest.
1594
1677
  * Use `create(UpdateBudgetRequestSchema)` to create a new message.
1595
1678
  */
1596
- exports.UpdateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 260);
1679
+ exports.UpdateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 272);
1597
1680
  /**
1598
1681
  * Describes the message blueapi.cover.v1.UpdateBudgetResponse.
1599
1682
  * Use `create(UpdateBudgetResponseSchema)` to create a new message.
1600
1683
  */
1601
- exports.UpdateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 261);
1684
+ exports.UpdateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273);
1602
1685
  /**
1603
1686
  * Describes the message blueapi.cover.v1.ResolveAWSMarketplaceTokenForOnboardingRequest.
1604
1687
  * Use `create(ResolveAWSMarketplaceTokenForOnboardingRequestSchema)` to create a new message.
1605
1688
  */
1606
- exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 262);
1689
+ exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274);
1607
1690
  /**
1608
1691
  * Describes the message blueapi.cover.v1.ResolveAWSMarketplaceTokenForOnboardingResponse.
1609
1692
  * Use `create(ResolveAWSMarketplaceTokenForOnboardingResponseSchema)` to create a new message.
1610
1693
  */
1611
- exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 263);
1694
+ exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 275);
1612
1695
  /**
1613
1696
  * Describes the message blueapi.cover.v1.GetCustomerSubscriptionStatusRequest.
1614
1697
  * Use `create(GetCustomerSubscriptionStatusRequestSchema)` to create a new message.
1615
1698
  */
1616
- exports.GetCustomerSubscriptionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 264);
1699
+ exports.GetCustomerSubscriptionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 276);
1617
1700
  /**
1618
1701
  * Describes the message blueapi.cover.v1.GetCustomerSubscriptionStatusResponse.
1619
1702
  * Use `create(GetCustomerSubscriptionStatusResponseSchema)` to create a new message.
1620
1703
  */
1621
- exports.GetCustomerSubscriptionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 265);
1704
+ exports.GetCustomerSubscriptionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 277);
1622
1705
  /**
1623
1706
  * Describes the message blueapi.cover.v1.CreateProfilingRequest.
1624
1707
  * Use `create(CreateProfilingRequestSchema)` to create a new message.
1625
1708
  */
1626
- exports.CreateProfilingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 266);
1709
+ exports.CreateProfilingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278);
1627
1710
  /**
1628
1711
  * Describes the message blueapi.cover.v1.CreateProfilingResponse.
1629
1712
  * Use `create(CreateProfilingResponseSchema)` to create a new message.
1630
1713
  */
1631
- exports.CreateProfilingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 267);
1714
+ exports.CreateProfilingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 279);
1632
1715
  /**
1633
1716
  * Describes the message blueapi.cover.v1.AddInfotoMarketplaceRequest.
1634
1717
  * Use `create(AddInfotoMarketplaceRequestSchema)` to create a new message.
1635
1718
  */
1636
- exports.AddInfotoMarketplaceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 268);
1719
+ exports.AddInfotoMarketplaceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 280);
1637
1720
  /**
1638
1721
  * Describes the message blueapi.cover.v1.AddInfotoMarketplaceResponse.
1639
1722
  * Use `create(AddInfotoMarketplaceResponseSchema)` to create a new message.
1640
1723
  */
1641
- exports.AddInfotoMarketplaceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 269);
1724
+ exports.AddInfotoMarketplaceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 281);
1642
1725
  /**
1643
1726
  * Describes the message blueapi.cover.v1.GetReportSummaryRequest.
1644
1727
  * Use `create(GetReportSummaryRequestSchema)` to create a new message.
1645
1728
  */
1646
- exports.GetReportSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 270);
1729
+ exports.GetReportSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 282);
1647
1730
  /**
1648
1731
  * Describes the message blueapi.cover.v1.GetReportSummaryResponse.
1649
1732
  * Use `create(GetReportSummaryResponseSchema)` to create a new message.
1650
1733
  */
1651
- exports.GetReportSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 271);
1734
+ exports.GetReportSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 283);
1652
1735
  /**
1653
1736
  * Describes the message blueapi.cover.v1.ListRecommendationRequest.
1654
1737
  * Use `create(ListRecommendationRequestSchema)` to create a new message.
1655
1738
  */
1656
- exports.ListRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 272);
1739
+ exports.ListRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 284);
1657
1740
  /**
1658
1741
  * Describes the message blueapi.cover.v1.ListRecommendationV2Request.
1659
1742
  * Use `create(ListRecommendationV2RequestSchema)` to create a new message.
1660
1743
  */
1661
- exports.ListRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273);
1744
+ exports.ListRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 285);
1662
1745
  /**
1663
1746
  * Describes the message blueapi.cover.v1.ListRecommendationV2Request.RateSettings.
1664
1747
  * Use `create(ListRecommendationV2Request_RateSettingsSchema)` to create a new message.
1665
1748
  */
1666
- exports.ListRecommendationV2Request_RateSettingsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273, 0);
1749
+ exports.ListRecommendationV2Request_RateSettingsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 285, 0);
1667
1750
  /**
1668
1751
  * Describes the message blueapi.cover.v1.ListRecommendationResponse.
1669
1752
  * Use `create(ListRecommendationResponseSchema)` to create a new message.
1670
1753
  */
1671
- exports.ListRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274);
1754
+ exports.ListRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 286);
1672
1755
  /**
1673
1756
  * Describes the message blueapi.cover.v1.ListRecommendationResponse.PurchaseOption.
1674
1757
  * Use `create(ListRecommendationResponse_PurchaseOptionSchema)` to create a new message.
1675
1758
  */
1676
- exports.ListRecommendationResponse_PurchaseOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274, 0);
1759
+ exports.ListRecommendationResponse_PurchaseOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 286, 0);
1677
1760
  /**
1678
1761
  * Describes the message blueapi.cover.v1.GetRecommendationRequest.
1679
1762
  * Use `create(GetRecommendationRequestSchema)` to create a new message.
1680
1763
  */
1681
- exports.GetRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 275);
1764
+ exports.GetRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 287);
1682
1765
  /**
1683
1766
  * Describes the message blueapi.cover.v1.GetRecommendationResponse.
1684
1767
  * Use `create(GetRecommendationResponseSchema)` to create a new message.
1685
1768
  */
1686
- exports.GetRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 276);
1769
+ exports.GetRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 288);
1687
1770
  /**
1688
1771
  * Describes the message blueapi.cover.v1.ExecuteOptimizationRequest.
1689
1772
  * Use `create(ExecuteOptimizationRequestSchema)` to create a new message.
1690
1773
  */
1691
- exports.ExecuteOptimizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 277);
1774
+ exports.ExecuteOptimizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 289);
1692
1775
  /**
1693
1776
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.
1694
1777
  * Use `create(ExecuteOptimizationResponseSchema)` to create a new message.
1695
1778
  */
1696
- exports.ExecuteOptimizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278);
1779
+ exports.ExecuteOptimizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290);
1697
1780
  /**
1698
1781
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.AWSOption.
1699
1782
  * Use `create(ExecuteOptimizationResponse_AWSOptionSchema)` to create a new message.
1700
1783
  */
1701
- exports.ExecuteOptimizationResponse_AWSOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278, 0);
1784
+ exports.ExecuteOptimizationResponse_AWSOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290, 0);
1702
1785
  /**
1703
1786
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.GCPOption.
1704
1787
  * Use `create(ExecuteOptimizationResponse_GCPOptionSchema)` to create a new message.
1705
1788
  */
1706
- exports.ExecuteOptimizationResponse_GCPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278, 1);
1789
+ exports.ExecuteOptimizationResponse_GCPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290, 1);
1707
1790
  /**
1708
1791
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.AzureCSPOption.
1709
1792
  * Use `create(ExecuteOptimizationResponse_AzureCSPOptionSchema)` to create a new message.
1710
1793
  */
1711
- exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278, 2);
1794
+ exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290, 2);
1712
1795
  /**
1713
1796
  * Describes the message blueapi.cover.v1.MarkAsExecutedRequest.
1714
1797
  * Use `create(MarkAsExecutedRequestSchema)` to create a new message.
1715
1798
  */
1716
- exports.MarkAsExecutedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 279);
1799
+ exports.MarkAsExecutedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 291);
1717
1800
  /**
1718
1801
  * Describes the message blueapi.cover.v1.MarkAsExecutedResponse.
1719
1802
  * Use `create(MarkAsExecutedResponseSchema)` to create a new message.
1720
1803
  */
1721
- exports.MarkAsExecutedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 280);
1804
+ exports.MarkAsExecutedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 292);
1722
1805
  /**
1723
1806
  * Describes the message blueapi.cover.v1.UndoExecutedRecommendationRequest.
1724
1807
  * Use `create(UndoExecutedRecommendationRequestSchema)` to create a new message.
1725
1808
  */
1726
- exports.UndoExecutedRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 281);
1809
+ exports.UndoExecutedRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 293);
1727
1810
  /**
1728
1811
  * Describes the message blueapi.cover.v1.UndoExecutedRecommendationResponse.
1729
1812
  * Use `create(UndoExecutedRecommendationResponseSchema)` to create a new message.
1730
1813
  */
1731
- exports.UndoExecutedRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 282);
1814
+ exports.UndoExecutedRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 294);
1732
1815
  /**
1733
1816
  * Describes the message blueapi.cover.v1.OptimizationHistoryRequest.
1734
1817
  * Use `create(OptimizationHistoryRequestSchema)` to create a new message.
1735
1818
  */
1736
- exports.OptimizationHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 283);
1819
+ exports.OptimizationHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 295);
1737
1820
  /**
1738
1821
  * Describes the message blueapi.cover.v1.OptimizationHistoryResponse.
1739
1822
  * Use `create(OptimizationHistoryResponseSchema)` to create a new message.
1740
1823
  */
1741
- exports.OptimizationHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 284);
1824
+ exports.OptimizationHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 296);
1742
1825
  /**
1743
1826
  * Describes the message blueapi.cover.v1.SetCostGroupEventIndicatorRequest.
1744
1827
  * Use `create(SetCostGroupEventIndicatorRequestSchema)` to create a new message.
1745
1828
  */
1746
- exports.SetCostGroupEventIndicatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 285);
1829
+ exports.SetCostGroupEventIndicatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 297);
1747
1830
  /**
1748
1831
  * Describes the message blueapi.cover.v1.SetCostGroupEventIndicatorResponse.
1749
1832
  * Use `create(SetCostGroupEventIndicatorResponseSchema)` to create a new message.
1750
1833
  */
1751
- exports.SetCostGroupEventIndicatorResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 286);
1834
+ exports.SetCostGroupEventIndicatorResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 298);
1752
1835
  /**
1753
1836
  * Describes the message blueapi.cover.v1.SetCostGroupAnomalyOptionsRequest.
1754
1837
  * Use `create(SetCostGroupAnomalyOptionsRequestSchema)` to create a new message.
1755
1838
  */
1756
- exports.SetCostGroupAnomalyOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 287);
1839
+ exports.SetCostGroupAnomalyOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 299);
1757
1840
  /**
1758
1841
  * Describes the message blueapi.cover.v1.SetCostGroupAnomalyOptionsResponse.
1759
1842
  * Use `create(SetCostGroupAnomalyOptionsResponseSchema)` to create a new message.
1760
1843
  */
1761
- exports.SetCostGroupAnomalyOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 288);
1844
+ exports.SetCostGroupAnomalyOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 300);
1762
1845
  /**
1763
1846
  * Describes the message blueapi.cover.v1.SetOrgFiscalMonthRequest.
1764
1847
  * Use `create(SetOrgFiscalMonthRequestSchema)` to create a new message.
1765
1848
  */
1766
- exports.SetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 289);
1849
+ exports.SetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 301);
1767
1850
  /**
1768
1851
  * Describes the message blueapi.cover.v1.SetOrgFiscalMonthResponse.
1769
1852
  * Use `create(SetOrgFiscalMonthResponseSchema)` to create a new message.
1770
1853
  */
1771
- exports.SetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290);
1854
+ exports.SetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 302);
1772
1855
  /**
1773
1856
  * Describes the message blueapi.cover.v1.GetOrgFiscalMonthRequest.
1774
1857
  * Use `create(GetOrgFiscalMonthRequestSchema)` to create a new message.
1775
1858
  */
1776
- exports.GetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 291);
1859
+ exports.GetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 303);
1777
1860
  /**
1778
1861
  * Describes the message blueapi.cover.v1.GetOrgFiscalMonthResponse.
1779
1862
  * Use `create(GetOrgFiscalMonthResponseSchema)` to create a new message.
1780
1863
  */
1781
- exports.GetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 292);
1864
+ exports.GetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 304);
1782
1865
  /**
1783
1866
  * Describes the message blueapi.cover.v1.TransferOrganizationRequest.
1784
1867
  * Use `create(TransferOrganizationRequestSchema)` to create a new message.
1785
1868
  */
1786
- exports.TransferOrganizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 293);
1869
+ exports.TransferOrganizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 305);
1787
1870
  /**
1788
1871
  * Describes the message blueapi.cover.v1.TransferOrganizationResponse.
1789
1872
  * Use `create(TransferOrganizationResponseSchema)` to create a new message.
1790
1873
  */
1791
- exports.TransferOrganizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 294);
1874
+ exports.TransferOrganizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306);
1792
1875
  /**
1793
1876
  * Describes the message blueapi.cover.v1.UpdateCostGroupCreationUIRequest.
1794
1877
  * Use `create(UpdateCostGroupCreationUIRequestSchema)` to create a new message.
1795
1878
  */
1796
- exports.UpdateCostGroupCreationUIRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 295);
1879
+ exports.UpdateCostGroupCreationUIRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 307);
1797
1880
  /**
1798
1881
  * Describes the message blueapi.cover.v1.UpdateCostGroupCreationUIResponse.
1799
1882
  * Use `create(UpdateCostGroupCreationUIResponseSchema)` to create a new message.
1800
1883
  */
1801
- exports.UpdateCostGroupCreationUIResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 296);
1884
+ exports.UpdateCostGroupCreationUIResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308);
1802
1885
  /**
1803
1886
  * Describes the message blueapi.cover.v1.ListUnitTypesRequest.
1804
1887
  * Use `create(ListUnitTypesRequestSchema)` to create a new message.
1805
1888
  */
1806
- exports.ListUnitTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 297);
1889
+ exports.ListUnitTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 309);
1807
1890
  /**
1808
1891
  * Describes the message blueapi.cover.v1.ListUnitTypesResponse.
1809
1892
  * Use `create(ListUnitTypesResponseSchema)` to create a new message.
1810
1893
  */
1811
- exports.ListUnitTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 298);
1894
+ exports.ListUnitTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 310);
1812
1895
  /**
1813
1896
  * Describes the message blueapi.cover.v1.CreateUnitTypeRequest.
1814
1897
  * Use `create(CreateUnitTypeRequestSchema)` to create a new message.
1815
1898
  */
1816
- exports.CreateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 299);
1899
+ exports.CreateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 311);
1817
1900
  /**
1818
1901
  * Describes the message blueapi.cover.v1.CreateUnitTypeResponse.
1819
1902
  * Use `create(CreateUnitTypeResponseSchema)` to create a new message.
1820
1903
  */
1821
- exports.CreateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 300);
1904
+ exports.CreateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 312);
1822
1905
  /**
1823
1906
  * Describes the message blueapi.cover.v1.GetUnitTypeRequest.
1824
1907
  * Use `create(GetUnitTypeRequestSchema)` to create a new message.
1825
1908
  */
1826
- exports.GetUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 301);
1909
+ exports.GetUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 313);
1827
1910
  /**
1828
1911
  * Describes the message blueapi.cover.v1.GetUnitTypeResponse.
1829
1912
  * Use `create(GetUnitTypeResponseSchema)` to create a new message.
1830
1913
  */
1831
- exports.GetUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 302);
1914
+ exports.GetUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 314);
1832
1915
  /**
1833
1916
  * Describes the message blueapi.cover.v1.UpdateUnitTypeRequest.
1834
1917
  * Use `create(UpdateUnitTypeRequestSchema)` to create a new message.
1835
1918
  */
1836
- exports.UpdateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 303);
1919
+ exports.UpdateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 315);
1837
1920
  /**
1838
1921
  * Describes the message blueapi.cover.v1.UpdateUnitTypeResponse.
1839
1922
  * Use `create(UpdateUnitTypeResponseSchema)` to create a new message.
1840
1923
  */
1841
- exports.UpdateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 304);
1924
+ exports.UpdateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 316);
1842
1925
  /**
1843
1926
  * Describes the message blueapi.cover.v1.DeleteUnitTypeRequest.
1844
1927
  * Use `create(DeleteUnitTypeRequestSchema)` to create a new message.
1845
1928
  */
1846
- exports.DeleteUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 305);
1929
+ exports.DeleteUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 317);
1847
1930
  /**
1848
1931
  * Describes the message blueapi.cover.v1.DeleteUnitTypeResponse.
1849
1932
  * Use `create(DeleteUnitTypeResponseSchema)` to create a new message.
1850
1933
  */
1851
- exports.DeleteUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306);
1934
+ exports.DeleteUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 318);
1852
1935
  /**
1853
1936
  * Describes the message blueapi.cover.v1.MergeUnitsRequest.
1854
1937
  * Use `create(MergeUnitsRequestSchema)` to create a new message.
1855
1938
  */
1856
- exports.MergeUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 307);
1939
+ exports.MergeUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 319);
1857
1940
  /**
1858
1941
  * Describes the message blueapi.cover.v1.MergeUnitsResponse.
1859
1942
  * Use `create(MergeUnitsResponseSchema)` to create a new message.
1860
1943
  */
1861
- exports.MergeUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308);
1944
+ exports.MergeUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 320);
1862
1945
  /**
1863
1946
  * Describes the message blueapi.cover.v1.ListSuggestedUnitsRequest.
1864
1947
  * Use `create(ListSuggestedUnitsRequestSchema)` to create a new message.
1865
1948
  */
1866
- exports.ListSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 309);
1949
+ exports.ListSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 321);
1867
1950
  /**
1868
1951
  * Describes the message blueapi.cover.v1.ListSuggestedUnitsResponse.
1869
1952
  * Use `create(ListSuggestedUnitsResponseSchema)` to create a new message.
1870
1953
  */
1871
- exports.ListSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 310);
1954
+ exports.ListSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 322);
1872
1955
  /**
1873
1956
  * Describes the message blueapi.cover.v1.MergeSuggestedUnitsRequest.
1874
1957
  * Use `create(MergeSuggestedUnitsRequestSchema)` to create a new message.
1875
1958
  */
1876
- exports.MergeSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 311);
1959
+ exports.MergeSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 323);
1877
1960
  /**
1878
1961
  * Describes the message blueapi.cover.v1.MergeSuggestedUnitsResponse.
1879
1962
  * Use `create(MergeSuggestedUnitsResponseSchema)` to create a new message.
1880
1963
  */
1881
- exports.MergeSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 312);
1964
+ exports.MergeSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 324);
1882
1965
  /**
1883
1966
  * Describes the message blueapi.cover.v1.CreateUnitFromSuggestedRequest.
1884
1967
  * Use `create(CreateUnitFromSuggestedRequestSchema)` to create a new message.
1885
1968
  */
1886
- exports.CreateUnitFromSuggestedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 313);
1969
+ exports.CreateUnitFromSuggestedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 325);
1887
1970
  /**
1888
1971
  * Describes the message blueapi.cover.v1.CreateUnitFromSuggestedResponse.
1889
1972
  * Use `create(CreateUnitFromSuggestedResponseSchema)` to create a new message.
1890
1973
  */
1891
- exports.CreateUnitFromSuggestedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 314);
1974
+ exports.CreateUnitFromSuggestedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 326);
1892
1975
  /**
1893
1976
  * Describes the message blueapi.cover.v1.ListSharedResourcesRequest.
1894
1977
  * Use `create(ListSharedResourcesRequestSchema)` to create a new message.
1895
1978
  */
1896
- exports.ListSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 315);
1979
+ exports.ListSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 327);
1897
1980
  /**
1898
1981
  * Describes the message blueapi.cover.v1.ListSharedResourcesResponse.
1899
1982
  * Use `create(ListSharedResourcesResponseSchema)` to create a new message.
1900
1983
  */
1901
- exports.ListSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 316);
1984
+ exports.ListSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 328);
1902
1985
  /**
1903
1986
  * Describes the message blueapi.cover.v1.CreateSharedResourcesRequest.
1904
1987
  * Use `create(CreateSharedResourcesRequestSchema)` to create a new message.
1905
1988
  */
1906
- exports.CreateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 317);
1989
+ exports.CreateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 329);
1907
1990
  /**
1908
1991
  * Describes the message blueapi.cover.v1.CreateSharedResourcesResponse.
1909
1992
  * Use `create(CreateSharedResourcesResponseSchema)` to create a new message.
1910
1993
  */
1911
- exports.CreateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 318);
1994
+ exports.CreateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 330);
1912
1995
  /**
1913
1996
  * Describes the message blueapi.cover.v1.GetSharedResourcesRequest.
1914
1997
  * Use `create(GetSharedResourcesRequestSchema)` to create a new message.
1915
1998
  */
1916
- exports.GetSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 319);
1999
+ exports.GetSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 331);
1917
2000
  /**
1918
2001
  * Describes the message blueapi.cover.v1.GetSharedResourcesResponse.
1919
2002
  * Use `create(GetSharedResourcesResponseSchema)` to create a new message.
1920
2003
  */
1921
- exports.GetSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 320);
2004
+ exports.GetSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 332);
1922
2005
  /**
1923
2006
  * Describes the message blueapi.cover.v1.UpdateSharedResourcesRequest.
1924
2007
  * Use `create(UpdateSharedResourcesRequestSchema)` to create a new message.
1925
2008
  */
1926
- exports.UpdateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 321);
2009
+ exports.UpdateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 333);
1927
2010
  /**
1928
2011
  * Describes the message blueapi.cover.v1.UpdateSharedResourcesResponse.
1929
2012
  * Use `create(UpdateSharedResourcesResponseSchema)` to create a new message.
1930
2013
  */
1931
- exports.UpdateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 322);
2014
+ exports.UpdateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 334);
1932
2015
  /**
1933
2016
  * Describes the message blueapi.cover.v1.DeleteSharedResourcesRequest.
1934
2017
  * Use `create(DeleteSharedResourcesRequestSchema)` to create a new message.
1935
2018
  */
1936
- exports.DeleteSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 323);
2019
+ exports.DeleteSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 335);
1937
2020
  /**
1938
2021
  * Describes the message blueapi.cover.v1.DeleteSharedResourcesResponse.
1939
2022
  * Use `create(DeleteSharedResourcesResponseSchema)` to create a new message.
1940
2023
  */
1941
- exports.DeleteSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 324);
2024
+ exports.DeleteSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 336);
1942
2025
  /**
1943
2026
  * Describes the message blueapi.cover.v1.ListUnitMetricsRequest.
1944
2027
  * Use `create(ListUnitMetricsRequestSchema)` to create a new message.
1945
2028
  */
1946
- exports.ListUnitMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 325);
2029
+ exports.ListUnitMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 337);
1947
2030
  /**
1948
2031
  * Describes the message blueapi.cover.v1.ListUnitMetricsResponse.
1949
2032
  * Use `create(ListUnitMetricsResponseSchema)` to create a new message.
1950
2033
  */
1951
- exports.ListUnitMetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 326);
2034
+ exports.ListUnitMetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 338);
1952
2035
  /**
1953
2036
  * Describes the message blueapi.cover.v1.CreateUnitMetricRequest.
1954
2037
  * Use `create(CreateUnitMetricRequestSchema)` to create a new message.
1955
2038
  */
1956
- exports.CreateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 327);
2039
+ exports.CreateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 339);
1957
2040
  /**
1958
2041
  * Describes the message blueapi.cover.v1.CreateUnitMetricResponse.
1959
2042
  * Use `create(CreateUnitMetricResponseSchema)` to create a new message.
1960
2043
  */
1961
- exports.CreateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 328);
2044
+ exports.CreateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340);
1962
2045
  /**
1963
2046
  * Describes the message blueapi.cover.v1.GetUnitMetricRequest.
1964
2047
  * Use `create(GetUnitMetricRequestSchema)` to create a new message.
1965
2048
  */
1966
- exports.GetUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 329);
2049
+ exports.GetUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 341);
1967
2050
  /**
1968
2051
  * Describes the message blueapi.cover.v1.GetUnitMetricResponse.
1969
2052
  * Use `create(GetUnitMetricResponseSchema)` to create a new message.
1970
2053
  */
1971
- exports.GetUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 330);
2054
+ exports.GetUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 342);
1972
2055
  /**
1973
2056
  * Describes the message blueapi.cover.v1.UpdateUnitMetricRequest.
1974
2057
  * Use `create(UpdateUnitMetricRequestSchema)` to create a new message.
1975
2058
  */
1976
- exports.UpdateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 331);
2059
+ exports.UpdateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 343);
1977
2060
  /**
1978
2061
  * Describes the message blueapi.cover.v1.UpdateUnitMetricResponse.
1979
2062
  * Use `create(UpdateUnitMetricResponseSchema)` to create a new message.
1980
2063
  */
1981
- exports.UpdateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 332);
2064
+ exports.UpdateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344);
1982
2065
  /**
1983
2066
  * Describes the message blueapi.cover.v1.DeleteUnitMetricRequest.
1984
2067
  * Use `create(DeleteUnitMetricRequestSchema)` to create a new message.
1985
2068
  */
1986
- exports.DeleteUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 333);
2069
+ exports.DeleteUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 345);
1987
2070
  /**
1988
2071
  * Describes the message blueapi.cover.v1.DeleteUnitMetricResponse.
1989
2072
  * Use `create(DeleteUnitMetricResponseSchema)` to create a new message.
1990
2073
  */
1991
- exports.DeleteUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 334);
2074
+ exports.DeleteUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 346);
1992
2075
  /**
1993
2076
  * Describes the message blueapi.cover.v1.PreviewGoogleSheetRequest.
1994
2077
  * Use `create(PreviewGoogleSheetRequestSchema)` to create a new message.
1995
2078
  */
1996
- exports.PreviewGoogleSheetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 335);
2079
+ exports.PreviewGoogleSheetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 347);
1997
2080
  /**
1998
2081
  * Describes the message blueapi.cover.v1.PreviewGoogleSheetResponse.
1999
2082
  * Use `create(PreviewGoogleSheetResponseSchema)` to create a new message.
2000
2083
  */
2001
- exports.PreviewGoogleSheetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 336);
2084
+ exports.PreviewGoogleSheetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 348);
2002
2085
  /**
2003
2086
  * Describes the message blueapi.cover.v1.ConfirmGoogleSheetAccessRequest.
2004
2087
  * Use `create(ConfirmGoogleSheetAccessRequestSchema)` to create a new message.
2005
2088
  */
2006
- exports.ConfirmGoogleSheetAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 337);
2089
+ exports.ConfirmGoogleSheetAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 349);
2007
2090
  /**
2008
2091
  * Describes the message blueapi.cover.v1.ConfirmGoogleSheetAccessResponse.
2009
2092
  * Use `create(ConfirmGoogleSheetAccessResponseSchema)` to create a new message.
2010
2093
  */
2011
- exports.ConfirmGoogleSheetAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 338);
2094
+ exports.ConfirmGoogleSheetAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 350);
2012
2095
  /**
2013
2096
  * Describes the message blueapi.cover.v1.GetCloudwatchMetadataRequest.
2014
2097
  * Use `create(GetCloudwatchMetadataRequestSchema)` to create a new message.
2015
2098
  */
2016
- exports.GetCloudwatchMetadataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 339);
2099
+ exports.GetCloudwatchMetadataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 351);
2017
2100
  /**
2018
2101
  * Describes the message blueapi.cover.v1.GetCloudwatchMetadataResponse.
2019
2102
  * Use `create(GetCloudwatchMetadataResponseSchema)` to create a new message.
2020
2103
  */
2021
- exports.GetCloudwatchMetadataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340);
2104
+ exports.GetCloudwatchMetadataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 352);
2022
2105
  /**
2023
2106
  * Describes the message blueapi.cover.v1.GetCloudwatchMetadataResponse.Dimension.
2024
2107
  * Use `create(GetCloudwatchMetadataResponse_DimensionSchema)` to create a new message.
2025
2108
  */
2026
- exports.GetCloudwatchMetadataResponse_DimensionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340, 0);
2109
+ exports.GetCloudwatchMetadataResponse_DimensionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 352, 0);
2027
2110
  /**
2028
2111
  * Describes the message blueapi.cover.v1.GetDiscountPlanRequest.
2029
2112
  * Use `create(GetDiscountPlanRequestSchema)` to create a new message.
2030
2113
  */
2031
- exports.GetDiscountPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 341);
2114
+ exports.GetDiscountPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 353);
2032
2115
  /**
2033
2116
  * Describes the message blueapi.cover.v1.GetDiscountPlanResponse.
2034
2117
  * Use `create(GetDiscountPlanResponseSchema)` to create a new message.
2035
2118
  */
2036
- exports.GetDiscountPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 342);
2119
+ exports.GetDiscountPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 354);
2037
2120
  /**
2038
2121
  * Describes the message blueapi.cover.v1.ListNonperformingRateRequest.
2039
2122
  * Use `create(ListNonperformingRateRequestSchema)` to create a new message.
2040
2123
  */
2041
- exports.ListNonperformingRateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 343);
2124
+ exports.ListNonperformingRateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 355);
2042
2125
  /**
2043
2126
  * Describes the message blueapi.cover.v1.ListNonperformingRateResponse.
2044
2127
  * Use `create(ListNonperformingRateResponseSchema)` to create a new message.
2045
2128
  */
2046
- exports.ListNonperformingRateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344);
2129
+ exports.ListNonperformingRateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 356);
2047
2130
  /**
2048
2131
  * Describes the message blueapi.cover.v1.ListNonperformingRateResponse.Nonperforming.
2049
2132
  * Use `create(ListNonperformingRateResponse_NonperformingSchema)` to create a new message.
2050
2133
  */
2051
- exports.ListNonperformingRateResponse_NonperformingSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344, 0);
2134
+ exports.ListNonperformingRateResponse_NonperformingSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 356, 0);
2135
+ /**
2136
+ * Describes the message blueapi.cover.v1.ListUntaggedResourcesRequest.
2137
+ * Use `create(ListUntaggedResourcesRequestSchema)` to create a new message.
2138
+ */
2139
+ exports.ListUntaggedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 357);
2140
+ /**
2141
+ * Describes the message blueapi.cover.v1.ListUntaggedResourcesResponse.
2142
+ * Use `create(ListUntaggedResourcesResponseSchema)` to create a new message.
2143
+ */
2144
+ exports.ListUntaggedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 358);
2145
+ /**
2146
+ * Describes the message blueapi.cover.v1.ListUntaggedResourcesResponse.UntaggedResources.
2147
+ * Use `create(ListUntaggedResourcesResponse_UntaggedResourcesSchema)` to create a new message.
2148
+ */
2149
+ exports.ListUntaggedResourcesResponse_UntaggedResourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 358, 0);
2052
2150
  /**
2053
2151
  * Status of upload file
2054
2152
  *