From 988bb4afb720de089cfbade7cb5b251069226d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Wed, 13 Nov 2024 23:21:30 +0000 Subject: [PATCH 01/16] Adjust topic initial regret initialization --- .../inference_synthesis/network_regrets.go | 57 ++++--- .../network_regrets_test.go | 143 ++++++++++++++++++ 2 files changed, 181 insertions(+), 19 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index eba78f2eb..061876a1f 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -118,6 +118,7 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { networkLossesByWorker := ConvertValueBundleToNetworkLossesByWorker(args.NetworkLosses) blockHeight := args.Nonce.BlockHeight + fallbackRegrets := make([]alloraMath.Dec, 0) workersRegrets := make([]alloraMath.Dec, 0) // R_ij - Inferer Regrets @@ -157,6 +158,7 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { if shouldAddWorkerRegret { workersRegrets = append(workersRegrets, newInfererRegret.Value) } + fallbackRegrets = append(fallbackRegrets, newInfererRegret.Value) // For batch event emission workersForEvent = append(workersForEvent, infererLoss.Worker) @@ -201,6 +203,7 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { if shouldAddWorkerRegret { workersRegrets = append(workersRegrets, newForecasterRegret.Value) } + fallbackRegrets = append(fallbackRegrets, newForecasterRegret.Value) // For batch event emission workersForEvent = append(workersForEvent, forecasterLoss.Worker) @@ -377,15 +380,25 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { } } - // Recalculate topic initial regret + // Get the initial topic std dev regrets + // If we don't have enough workers with enough experience, use the fallback regrets + initialTopicStdDevRegrets := make([]alloraMath.Dec, 0) if len(workersRegrets) > 0 { + initialTopicStdDevRegrets = workersRegrets + } else if len(fallbackRegrets) >= 10 { + initialTopicStdDevRegrets = fallbackRegrets + } + // Recalculate topic initial regret + if len(initialTopicStdDevRegrets) > 0 { + usingFallbackRegrets := len(workersRegrets) == 0 updatedTopicInitialRegret, err := CalcTopicInitialRegret( - workersRegrets, + initialTopicStdDevRegrets, args.EpsilonTopic, args.PNorm, args.CNorm, args.InitialRegretQuantile, args.PNormSafeDiv, + usingFallbackRegrets, ) if err != nil { return errorsmod.Wrapf(err, "Error calculating topic initial regret") @@ -394,20 +407,21 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { if err != nil { return errorsmod.Wrapf(err, "Error updating topic initial regret") } - - // For batch event emission - emissions.EmitNewTopicInitialRegretSetEvent(args.Ctx, args.TopicId, blockHeight, updatedTopicInitialRegret) } return nil } // Calculate the initial regret for all new workers in the topic -// denominator = std(regrets[i-1, :]) + epsilon -// offset = cnorm - 8.25 / pnorm -// dummy_regret[i] = np.percentile(regrets[i-1, :], 25.) + offset * denominator -// It is assumed that the regrets are filtered by experience for each actor -// i.e. if they have not been included in the topic for enough epochs, their regret is ignored. +// When using experienced workers' regrets: +// +// denominator = std(regrets) + epsilon +// offset = cnorm - 8.25 / pnorm +// initialRegret = percentile(regrets, 25) + offset * denominator +// +// When using fallback regrets (not enough experienced workers): +// +// initialRegret = percentile(regrets, 25) func CalcTopicInitialRegret( regrets []alloraMath.Dec, epsilon alloraMath.Dec, @@ -415,19 +429,31 @@ func CalcTopicInitialRegret( cNorm alloraMath.Dec, quantileRegret alloraMath.Dec, pNormDiv alloraMath.Dec, + usingFallbackRegrets bool, ) (initialRegret alloraMath.Dec, err error) { - // Calculate the Denominator + quantile, err := alloraMath.GetQuantileOfDecs(regrets, quantileRegret) + if err != nil { + return alloraMath.ZeroDec(), err + } + + // If using fallback regrets, just return the quantile + if usingFallbackRegrets { + return quantile, nil + } + + // Normal case with experienced workers - calculate with offset and std dev stdDevRegrets, err := alloraMath.StdDev(regrets) if err != nil { return alloraMath.ZeroDec(), err } + // Calculate the Denominator denominator, err := stdDevRegrets.Add(epsilon) if err != nil { return alloraMath.ZeroDec(), err } - // calculate the offset + // Calculate the offset eightPointTwoFiveDividedByPnorm, err := pNormDiv.Quo(pNorm) if err != nil { return alloraMath.ZeroDec(), err @@ -438,18 +464,11 @@ func CalcTopicInitialRegret( return alloraMath.ZeroDec(), err } - // calculate the dummy regret offSetTimesDenominator, err := offset.Mul(denominator) if err != nil { return alloraMath.ZeroDec(), err } - // Calculate quantile - quantile, err := alloraMath.GetQuantileOfDecs(regrets, quantileRegret) - if err != nil { - return alloraMath.ZeroDec(), err - } - initialRegret, err = quantile.Add(offSetTimesDenominator) if err != nil { return alloraMath.ZeroDec(), err diff --git a/x/emissions/keeper/inference_synthesis/network_regrets_test.go b/x/emissions/keeper/inference_synthesis/network_regrets_test.go index ee87d9dfb..d9e66c98e 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets_test.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets_test.go @@ -3,6 +3,7 @@ package inferencesynthesis_test import ( "context" "fmt" + "slices" alloraMath "github.com/allora-network/allora-chain/math" "github.com/allora-network/allora-chain/test/testutil" @@ -744,6 +745,7 @@ func (s *InferenceSynthesisTestSuite) TestCalcTopicInitialRegret() { cNorm, percentileRegert, pnormDiv, + false, ) require.NoError(err) testutil.InEpsilon5(s.T(), calculatedInitialRegret, "0.3354820760526412097325669544281814") @@ -950,3 +952,144 @@ func (s *InferenceSynthesisTestSuite) TestNotUpdateTopicInitialRegret() { require.NoError(err) require.Equal(topic.InitialRegret, initialRegret) } + +func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegrets() { + require := s.Require() + k := s.emissionsKeeper + + // Setup topic + topicId := uint64(1) + blockHeight := int64(1003) + nonce := emissionstypes.Nonce{BlockHeight: blockHeight} + alpha := alloraMath.MustNewDecFromString("0.5") // Set high alpha so workers need 2 inclusions to be experienced + pNorm := alloraMath.MustNewDecFromString("3.0") + cNorm := alloraMath.MustNewDecFromString("0.75") + epsilon := alloraMath.MustNewDecFromString("1e-4") + initialRegretQuantile := alloraMath.MustNewDecFromString("0.25") + pnormSafeDiv := alloraMath.MustNewDecFromString("1.0") + + // Create topic + topic := s.mockTopic() + topic.AlphaRegret = alpha + err := k.SetTopic(s.ctx, topicId, topic) + require.NoError(err) + + // Setup workers + inferer0 := s.addrsStr[0] + inferer1 := s.addrsStr[1] + inferer2 := s.addrsStr[2] + inferer3 := s.addrsStr[3] + inferer4 := s.addrsStr[4] + inferer5 := s.addrsStr[5] + inferer6 := s.addrsStr[6] + inferer7 := s.addrsStr[7] + inferer8 := s.addrsStr[8] + inferer9 := s.addrsStr[9] + infererAddresses := []string{inferer0, inferer1, inferer2, inferer3, inferer4, + inferer5, inferer6, inferer7, inferer8, inferer9} + + forecaster0 := s.addrsStr[10] + forecaster1 := s.addrsStr[11] + forecasterAddresses := []string{forecaster0, forecaster1} + + // Add workers with only 1 inclusion each (not experienced) + for _, worker := range infererAddresses { + err := k.IncrementCountInfererInclusionsInTopic(s.ctx, topicId, worker) + require.NoError(err) + } + for _, worker := range forecasterAddresses { + err := k.IncrementCountForecasterInclusionsInTopic(s.ctx, topicId, worker) + require.NoError(err) + } + + // Set initial regrets with fixed values + timestampedValue0_1 := emissionstypes.TimestampedValue{ + BlockHeight: blockHeight, + Value: alloraMath.MustNewDecFromString("0.1"), + } + timestampedValue0_2 := emissionstypes.TimestampedValue{ + BlockHeight: blockHeight, + Value: alloraMath.MustNewDecFromString("0.2"), + } + + for i, inferer := range infererAddresses { + if i < 5 { + err = k.SetInfererNetworkRegret(s.ctx, topicId, inferer, timestampedValue0_1) + } else { + err = k.SetInfererNetworkRegret(s.ctx, topicId, inferer, timestampedValue0_2) + } + require.NoError(err) + } + + for _, forecaster := range forecasterAddresses { + err = k.SetForecasterNetworkRegret(s.ctx, topicId, forecaster, timestampedValue0_2) + require.NoError(err) + } + + // Create network losses value bundle + networkLosses := emissionstypes.ValueBundle{ + TopicId: topicId, + ReputerRequestNonce: &emissionstypes.ReputerRequestNonce{ReputerNonce: &nonce}, + Reputer: s.addrsStr[12], + ExtraData: nil, + CombinedValue: alloraMath.MustNewDecFromString("0.1"), + InfererValues: []*emissionstypes.WorkerAttributedValue{ + {Worker: inferer0, Value: alloraMath.MustNewDecFromString("0.2")}, + {Worker: inferer1, Value: alloraMath.MustNewDecFromString("0.2")}, + {Worker: inferer2, Value: alloraMath.MustNewDecFromString("0.2")}, + {Worker: inferer3, Value: alloraMath.MustNewDecFromString("0.2")}, + {Worker: inferer4, Value: alloraMath.MustNewDecFromString("0.2")}, + {Worker: inferer5, Value: alloraMath.MustNewDecFromString("0.3")}, + {Worker: inferer6, Value: alloraMath.MustNewDecFromString("0.3")}, + {Worker: inferer7, Value: alloraMath.MustNewDecFromString("0.3")}, + {Worker: inferer8, Value: alloraMath.MustNewDecFromString("0.3")}, + {Worker: inferer9, Value: alloraMath.MustNewDecFromString("0.3")}, + }, + ForecasterValues: []*emissionstypes.WorkerAttributedValue{ + {Worker: forecaster0, Value: alloraMath.MustNewDecFromString("0.3")}, + {Worker: forecaster1, Value: alloraMath.MustNewDecFromString("0.3")}, + }, + NaiveValue: alloraMath.MustNewDecFromString("0.1"), + } + + // Call GetCalcSetNetworkRegrets + err = inferencesynthesis.GetCalcSetNetworkRegrets( + inferencesynthesis.GetCalcSetNetworkRegretsArgs{ + Ctx: s.ctx, + K: k, + TopicId: topicId, + NetworkLosses: networkLosses, + Nonce: nonce, + AlphaRegret: alpha, + CNorm: cNorm, + PNorm: pNorm, + EpsilonTopic: epsilon, + InitialRegretQuantile: initialRegretQuantile, + PNormSafeDiv: pnormSafeDiv, + }) + require.NoError(err) + + // Get the updated topic + updatedTopic, err := k.GetTopic(s.ctx, topicId) + require.NoError(err) + + // Since we're using fallback regrets (no experienced workers but >10 total workers), + // the initial regret should just be the 25th percentile without the offset calculation + expectedRegrets := make([]alloraMath.Dec, 0) + for _, worker := range append(infererAddresses, forecasterAddresses...) { + var regret emissionstypes.TimestampedValue + var err error + if slices.Contains(infererAddresses, worker) { + regret, _, err = k.GetInfererNetworkRegret(s.ctx, topicId, worker) + } else { + regret, _, err = k.GetForecasterNetworkRegret(s.ctx, topicId, worker) + } + require.NoError(err) + expectedRegrets = append(expectedRegrets, regret.Value) + } + + expectedInitialRegret, err := alloraMath.GetQuantileOfDecs(expectedRegrets, initialRegretQuantile) + require.NoError(err) + + require.Equal(expectedInitialRegret, updatedTopic.InitialRegret) +} From 7347b8b901587a9b537eb7420fde15b93564ad03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Wed, 13 Nov 2024 23:57:16 +0000 Subject: [PATCH 02/16] Fix fallback regrets check --- x/emissions/keeper/inference_synthesis/network_regrets.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index 061876a1f..ebbcdc9a9 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -383,9 +383,9 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // Get the initial topic std dev regrets // If we don't have enough workers with enough experience, use the fallback regrets initialTopicStdDevRegrets := make([]alloraMath.Dec, 0) - if len(workersRegrets) > 0 { + if len(workersRegrets) >= 10 { initialTopicStdDevRegrets = workersRegrets - } else if len(fallbackRegrets) >= 10 { + } else if len(fallbackRegrets) > 0 { initialTopicStdDevRegrets = fallbackRegrets } // Recalculate topic initial regret From 5acb090ad5d31496d1fd5e03124c96f3ea7142b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Wed, 13 Nov 2024 23:58:57 +0000 Subject: [PATCH 03/16] Fix fmt and comment --- .../network_regrets_test.go | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets_test.go b/x/emissions/keeper/inference_synthesis/network_regrets_test.go index d9e66c98e..9f8851940 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets_test.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets_test.go @@ -956,7 +956,7 @@ func (s *InferenceSynthesisTestSuite) TestNotUpdateTopicInitialRegret() { func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegrets() { require := s.Require() k := s.emissionsKeeper - + // Setup topic topicId := uint64(1) blockHeight := int64(1003) @@ -985,7 +985,7 @@ func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegre inferer7 := s.addrsStr[7] inferer8 := s.addrsStr[8] inferer9 := s.addrsStr[9] - infererAddresses := []string{inferer0, inferer1, inferer2, inferer3, inferer4, + infererAddresses := []string{inferer0, inferer1, inferer2, inferer3, inferer4, inferer5, inferer6, inferer7, inferer8, inferer9} forecaster0 := s.addrsStr[10] @@ -1057,15 +1057,15 @@ func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegre inferencesynthesis.GetCalcSetNetworkRegretsArgs{ Ctx: s.ctx, K: k, - TopicId: topicId, - NetworkLosses: networkLosses, - Nonce: nonce, - AlphaRegret: alpha, - CNorm: cNorm, - PNorm: pNorm, - EpsilonTopic: epsilon, + TopicId: topicId, + NetworkLosses: networkLosses, + Nonce: nonce, + AlphaRegret: alpha, + CNorm: cNorm, + PNorm: pNorm, + EpsilonTopic: epsilon, InitialRegretQuantile: initialRegretQuantile, - PNormSafeDiv: pnormSafeDiv, + PNormSafeDiv: pnormSafeDiv, }) require.NoError(err) @@ -1073,7 +1073,7 @@ func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegre updatedTopic, err := k.GetTopic(s.ctx, topicId) require.NoError(err) - // Since we're using fallback regrets (no experienced workers but >10 total workers), + // Since we're using fallback regrets (no experienced workers), // the initial regret should just be the 25th percentile without the offset calculation expectedRegrets := make([]alloraMath.Dec, 0) for _, worker := range append(infererAddresses, forecasterAddresses...) { @@ -1087,9 +1087,9 @@ func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegre require.NoError(err) expectedRegrets = append(expectedRegrets, regret.Value) } - + expectedInitialRegret, err := alloraMath.GetQuantileOfDecs(expectedRegrets, initialRegretQuantile) require.NoError(err) - + require.Equal(expectedInitialRegret, updatedTopic.InitialRegret) } From 672c46992ed07761ff14dcdf39a2fdb20ffc23c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Thu, 14 Nov 2024 10:51:58 +0000 Subject: [PATCH 04/16] Update tests --- .../network_regrets_test.go | 113 ++++-------------- 1 file changed, 26 insertions(+), 87 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets_test.go b/x/emissions/keeper/inference_synthesis/network_regrets_test.go index 9f8851940..003aeb349 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets_test.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets_test.go @@ -862,97 +862,32 @@ func (s *InferenceSynthesisTestSuite) TestUpdateTopicInitialRegret() { require.NotEqual(topic.InitialRegret, initialRegret) } -// TestNotUpdateTopicInitialRegret tests that the topic's initial regret is not updated -// when there are no experienced workers for the topic. +// TestCalcSetNetworkRegretsWithFallbackRegrets tests that when there are no experienced workers +// but enough total workers (>10), the system falls back to using all workers' regrets for +// calculating the initial regret. // // Setup: -// - Create a topic with an initial regret of 0 -// - Set up inferer and forecaster addresses -// - Do not increment the inclusion counts for workers, leaving them as inexperienced -// - Set regrets from the previous epoch -// - Generate network losses for the current epoch +// - Create a topic with a high alpha regret (0.5) so workers need 2 inclusions to be experienced +// - Add 10 inferers and 2 forecasters with only 1 inclusion each (not experienced) +// - Set initial regrets with fixed values: +// * First 5 inferers: 0.1 +// * Last 5 inferers: 0.2 +// * Both forecasters: 0.2 +// - Create network losses value bundle with fixed values +// +// Test steps: +// 1. Call GetCalcSetNetworkRegrets with the network losses +// 2. Retrieve the updated topic // // Expected outcomes: -// 1. The GetCalcSetNetworkRegrets function should execute without error -// 2. The topic's initial regret should remain unchanged (0) after the function call -// because there are no experienced workers to trigger an update +// 1. The function should execute without error +// 2. Since we're using fallback regrets (no experienced workers but >10 total workers), +// the initial regret should be the 25th percentile of all workers' regrets +// without the offset calculation +// 3. The new initial regret should match the expected value based on the fixed regrets // -// This test ensures that the initial regret of a topic is not modified when -// there are no experienced workers, maintaining the system's integrity by -// preventing premature updates to the topic's regret baseline. -func (s *InferenceSynthesisTestSuite) TestNotUpdateTopicInitialRegret() { - require := s.Require() - k := s.emissionsKeeper - epochGet := testutil.GetSimulatedValuesGetterForEpochs() - epochPrevGet := epochGet[300] - epoch301Get := epochGet[301] - - topicId := uint64(1) - blockHeight := int64(1003) - nonce := emissionstypes.Nonce{BlockHeight: blockHeight} - alpha := alloraMath.MustNewDecFromString("0.1") - pNorm := alloraMath.MustNewDecFromString("3.0") - cNorm := alloraMath.MustNewDecFromString("0.75") - epsilon := alloraMath.MustNewDecFromString("1e-4") - initialRegretQuantile := alloraMath.MustNewDecFromString("0.5") - pnormSafeDiv := alloraMath.MustNewDecFromString("1.0") - - // Set initial Regret to check if this value is updated or not - initialRegret := alloraMath.MustNewDecFromString("0") - // Create new topic - topic := s.mockTopic() - topic.InitialRegret = initialRegret - err := s.emissionsKeeper.SetTopic(s.ctx, topicId, topic) - s.Require().NoError(err) - - inferer0 := s.addrs[0].String() - inferer1 := s.addrs[1].String() - inferer2 := s.addrs[2].String() - inferer3 := s.addrs[3].String() - inferer4 := s.addrs[4].String() - infererAddresses := []string{inferer0, inferer1, inferer2, inferer3, inferer4} - - forecaster0 := s.addrs[5].String() - forecaster1 := s.addrs[6].String() - forecaster2 := s.addrs[7].String() - forecasterAddresses := []string{forecaster0, forecaster1, forecaster2} - - reputer0 := s.addrs[8].String() - - err = testutil.SetRegretsFromPreviousEpoch(s.ctx, s.emissionsKeeper, topicId, blockHeight, infererAddresses, forecasterAddresses, epochPrevGet) - require.NoError(err) - - networkLosses, err := testutil.GetNetworkLossFromCsv( - topicId, - blockHeight, - infererAddresses, - forecasterAddresses, - reputer0, - epoch301Get, - ) - s.Require().NoError(err) - - err = inferencesynthesis.GetCalcSetNetworkRegrets(inferencesynthesis.GetCalcSetNetworkRegretsArgs{ - Ctx: s.ctx, - K: k, - TopicId: topicId, - NetworkLosses: networkLosses, - Nonce: nonce, - AlphaRegret: alpha, - CNorm: cNorm, - PNorm: pNorm, - EpsilonTopic: epsilon, - InitialRegretQuantile: initialRegretQuantile, - PNormSafeDiv: pnormSafeDiv, - }) - require.NoError(err) - - // Initial Regret will not be updated because this topic has no experienced actors - topic, err = s.emissionsKeeper.GetTopic(s.ctx, topicId) - require.NoError(err) - require.Equal(topic.InitialRegret, initialRegret) -} - +// This test ensures that the fallback regret calculation works correctly when there +// are no experienced workers but enough total workers to use the fallback mechanism. func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegrets() { require := s.Require() k := s.emissionsKeeper @@ -1049,7 +984,11 @@ func (s *InferenceSynthesisTestSuite) TestCalcSetNetworkRegretsWithFallbackRegre {Worker: forecaster0, Value: alloraMath.MustNewDecFromString("0.3")}, {Worker: forecaster1, Value: alloraMath.MustNewDecFromString("0.3")}, }, - NaiveValue: alloraMath.MustNewDecFromString("0.1"), + NaiveValue: alloraMath.MustNewDecFromString("0.1"), + OneOutInfererValues: nil, + OneOutForecasterValues: nil, + OneInForecasterValues: nil, + OneOutInfererForecasterValues: nil, } // Call GetCalcSetNetworkRegrets From 5e7a19cbf4d28cf3a7b7ca68752697dde17865d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Thu, 14 Nov 2024 11:14:52 +0000 Subject: [PATCH 05/16] Fix lint --- .../keeper/inference_synthesis/network_regrets_test.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets_test.go b/x/emissions/keeper/inference_synthesis/network_regrets_test.go index 003aeb349..e5f63ca3b 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets_test.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets_test.go @@ -869,10 +869,7 @@ func (s *InferenceSynthesisTestSuite) TestUpdateTopicInitialRegret() { // Setup: // - Create a topic with a high alpha regret (0.5) so workers need 2 inclusions to be experienced // - Add 10 inferers and 2 forecasters with only 1 inclusion each (not experienced) -// - Set initial regrets with fixed values: -// * First 5 inferers: 0.1 -// * Last 5 inferers: 0.2 -// * Both forecasters: 0.2 +// - Set initial regrets // - Create network losses value bundle with fixed values // // Test steps: @@ -882,8 +879,8 @@ func (s *InferenceSynthesisTestSuite) TestUpdateTopicInitialRegret() { // Expected outcomes: // 1. The function should execute without error // 2. Since we're using fallback regrets (no experienced workers but >10 total workers), -// the initial regret should be the 25th percentile of all workers' regrets -// without the offset calculation +// the initial regret should be the 25th percentile of all workers' regrets +// without the offset calculation // 3. The new initial regret should match the expected value based on the fixed regrets // // This test ensures that the fallback regret calculation works correctly when there From ded2254251107a739ad7169d6c8044b9c6b42ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Thu, 14 Nov 2024 11:21:22 +0000 Subject: [PATCH 06/16] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b3f6c122..d683cf14b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,6 +69,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * [#627](https://github.com/allora-network/allora-chain/pull/627) Add fee market and fee grant module ### Changed +* [#670](https://github.com/allora-network/allora-chain/pull/670) Adjust topic initial regret initialization * [#652](https://github.com/allora-network/allora-chain/pull/652) Reduce code duplication, set local_testnet_upgrade_l1.sh using environment variables with local_testnet_l1.sh instead * [#650](https://github.com/allora-network/allora-chain/pull/650) Make fuzzer setup run through every state transition once before fuzzing starts * [#651](https://github.com/allora-network/allora-chain/pull/651) Refactor: Fuzzer rename invariants test to fuzz test From 928a3ec60bec9fcc3c19e16adbcf7ee9f428fe82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 25 Nov 2024 18:57:55 +0000 Subject: [PATCH 07/16] Add reviewers suggestions --- .../keeper/inference_synthesis/network_regrets.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index ebbcdc9a9..0b9b13a6c 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -382,12 +382,11 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // Get the initial topic std dev regrets // If we don't have enough workers with enough experience, use the fallback regrets - initialTopicStdDevRegrets := make([]alloraMath.Dec, 0) + initialTopicStdDevRegrets := fallbackRegrets if len(workersRegrets) >= 10 { initialTopicStdDevRegrets = workersRegrets - } else if len(fallbackRegrets) > 0 { - initialTopicStdDevRegrets = fallbackRegrets } + // Recalculate topic initial regret if len(initialTopicStdDevRegrets) > 0 { usingFallbackRegrets := len(workersRegrets) == 0 @@ -418,8 +417,8 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // denominator = std(regrets) + epsilon // offset = cnorm - 8.25 / pnorm // initialRegret = percentile(regrets, 25) + offset * denominator -// -// When using fallback regrets (not enough experienced workers): + +// When using fallback regrets (not enough experienced workers / cold start): // // initialRegret = percentile(regrets, 25) func CalcTopicInitialRegret( From 4bb3fcfaf750d63f3286de7f7f03eec10a12338b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 25 Nov 2024 21:01:47 +0000 Subject: [PATCH 08/16] Fix control flow --- .../inference_synthesis/network_regrets.go | 34 +++++++------------ .../network_regrets_test.go | 6 ++-- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index 0b9b13a6c..efeaf97af 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -383,31 +383,34 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // Get the initial topic std dev regrets // If we don't have enough workers with enough experience, use the fallback regrets initialTopicStdDevRegrets := fallbackRegrets + var updatedTopicInitialRegret alloraMath.Dec + var err error if len(workersRegrets) >= 10 { initialTopicStdDevRegrets = workersRegrets - } - - // Recalculate topic initial regret - if len(initialTopicStdDevRegrets) > 0 { - usingFallbackRegrets := len(workersRegrets) == 0 - updatedTopicInitialRegret, err := CalcTopicInitialRegret( + updatedTopicInitialRegret, err = CalcTopicInitialRegret( initialTopicStdDevRegrets, args.EpsilonTopic, args.PNorm, args.CNorm, args.InitialRegretQuantile, args.PNormSafeDiv, - usingFallbackRegrets, ) if err != nil { return errorsmod.Wrapf(err, "Error calculating topic initial regret") } - err = args.K.UpdateTopicInitialRegret(args.Ctx, args.TopicId, updatedTopicInitialRegret) + + } else { + updatedTopicInitialRegret, err = alloraMath.GetQuantileOfDecs(initialTopicStdDevRegrets, args.InitialRegretQuantile) if err != nil { - return errorsmod.Wrapf(err, "Error updating topic initial regret") + return errorsmod.Wrapf(err, "Error calculating topic initial regret") } } + err = args.K.UpdateTopicInitialRegret(args.Ctx, args.TopicId, updatedTopicInitialRegret) + if err != nil { + return errorsmod.Wrapf(err, "Error updating topic initial regret") + } + return nil } @@ -426,20 +429,9 @@ func CalcTopicInitialRegret( epsilon alloraMath.Dec, pNorm alloraMath.Dec, cNorm alloraMath.Dec, - quantileRegret alloraMath.Dec, + quantile alloraMath.Dec, pNormDiv alloraMath.Dec, - usingFallbackRegrets bool, ) (initialRegret alloraMath.Dec, err error) { - quantile, err := alloraMath.GetQuantileOfDecs(regrets, quantileRegret) - if err != nil { - return alloraMath.ZeroDec(), err - } - - // If using fallback regrets, just return the quantile - if usingFallbackRegrets { - return quantile, nil - } - // Normal case with experienced workers - calculate with offset and std dev stdDevRegrets, err := alloraMath.StdDev(regrets) if err != nil { diff --git a/x/emissions/keeper/inference_synthesis/network_regrets_test.go b/x/emissions/keeper/inference_synthesis/network_regrets_test.go index e5f63ca3b..0fc00ba1a 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets_test.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets_test.go @@ -738,14 +738,16 @@ func (s *InferenceSynthesisTestSuite) TestCalcTopicInitialRegret() { epsilon := alloraMath.MustNewDecFromString("0.0001") percentileRegert := alloraMath.MustNewDecFromString("0.25") pnormDiv := alloraMath.MustNewDecFromString("8.25") + + quantile, err := alloraMath.GetQuantileOfDecs(regrets, percentileRegert) + require.NoError(err) calculatedInitialRegret, err := inferencesynthesis.CalcTopicInitialRegret( regrets, epsilon, pNorm, cNorm, - percentileRegert, + quantile, pnormDiv, - false, ) require.NoError(err) testutil.InEpsilon5(s.T(), calculatedInitialRegret, "0.3354820760526412097325669544281814") From 8f0f2ffeeb59ba9d4c9811813cf65e6b8d5ad8f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 25 Nov 2024 21:05:06 +0000 Subject: [PATCH 09/16] Simplifying function --- .../keeper/inference_synthesis/network_regrets.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index efeaf97af..0641796e6 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -380,15 +380,13 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { } } - // Get the initial topic std dev regrets + // Check if we have enough workers with enough experience to calculate the topic initial regret // If we don't have enough workers with enough experience, use the fallback regrets - initialTopicStdDevRegrets := fallbackRegrets var updatedTopicInitialRegret alloraMath.Dec var err error if len(workersRegrets) >= 10 { - initialTopicStdDevRegrets = workersRegrets updatedTopicInitialRegret, err = CalcTopicInitialRegret( - initialTopicStdDevRegrets, + workersRegrets, args.EpsilonTopic, args.PNorm, args.CNorm, @@ -398,9 +396,8 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { if err != nil { return errorsmod.Wrapf(err, "Error calculating topic initial regret") } - } else { - updatedTopicInitialRegret, err = alloraMath.GetQuantileOfDecs(initialTopicStdDevRegrets, args.InitialRegretQuantile) + updatedTopicInitialRegret, err = alloraMath.GetQuantileOfDecs(fallbackRegrets, args.InitialRegretQuantile) if err != nil { return errorsmod.Wrapf(err, "Error calculating topic initial regret") } From 16ca976b002d960cc9c470c339fbc26484e09341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Tue, 26 Nov 2024 15:28:58 +0000 Subject: [PATCH 10/16] Fix test and implementation --- .../inference_synthesis/network_regrets.go | 49 ++++--- .../network_regrets_test.go | 133 ++++++++++++------ 2 files changed, 116 insertions(+), 66 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index 0641796e6..429f620ff 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -380,32 +380,41 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { } } - // Check if we have enough workers with enough experience to calculate the topic initial regret - // If we don't have enough workers with enough experience, use the fallback regrets - var updatedTopicInitialRegret alloraMath.Dec - var err error + // Select which regrets to use for calculating the topic initial regret: + // - If we have 10 or more experienced workers, use their regrets + // - Otherwise, use fallback regrets which include all workers + regrets := fallbackRegrets if len(workersRegrets) >= 10 { - updatedTopicInitialRegret, err = CalcTopicInitialRegret( - workersRegrets, - args.EpsilonTopic, - args.PNorm, - args.CNorm, - args.InitialRegretQuantile, - args.PNormSafeDiv, - ) + regrets = workersRegrets + } + + // Only proceed if we have any regrets to process + if len(regrets) > 0 { + quantile, err := alloraMath.GetQuantileOfDecs(regrets, args.InitialRegretQuantile) if err != nil { return errorsmod.Wrapf(err, "Error calculating topic initial regret") } - } else { - updatedTopicInitialRegret, err = alloraMath.GetQuantileOfDecs(fallbackRegrets, args.InitialRegretQuantile) - if err != nil { - return errorsmod.Wrapf(err, "Error calculating topic initial regret") + + // Set initial value to the quantile (used when we don't have enough experienced workers) + updatedTopicInitialRegret := quantile + if len(workersRegrets) >= 10 { + updatedTopicInitialRegret, err = CalcTopicInitialRegret( + regrets, + args.EpsilonTopic, + args.PNorm, + args.CNorm, + quantile, + args.PNormSafeDiv, + ) + if err != nil { + return errorsmod.Wrapf(err, "Error calculating topic initial regret") + } } - } - err = args.K.UpdateTopicInitialRegret(args.Ctx, args.TopicId, updatedTopicInitialRegret) - if err != nil { - return errorsmod.Wrapf(err, "Error updating topic initial regret") + err = args.K.UpdateTopicInitialRegret(args.Ctx, args.TopicId, updatedTopicInitialRegret) + if err != nil { + return errorsmod.Wrapf(err, "Error updating topic initial regret") + } } return nil diff --git a/x/emissions/keeper/inference_synthesis/network_regrets_test.go b/x/emissions/keeper/inference_synthesis/network_regrets_test.go index 0fc00ba1a..7f7279771 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets_test.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets_test.go @@ -753,103 +753,141 @@ func (s *InferenceSynthesisTestSuite) TestCalcTopicInitialRegret() { testutil.InEpsilon5(s.T(), calculatedInitialRegret, "0.3354820760526412097325669544281814") } -// TestUpdateTopicInitialRegret tests the UpdateTopicInitialRegret function. +// TestUpdateTopicInitialRegret tests the UpdateTopicInitialRegret function with a larger set of workers. // // Setup: // - Create a topic with ID 1 and initial regret of 0 // - Set AlphaRegret to 0.5, making the experience threshold 2 inclusions -// - Add 5 inferers and 3 forecasters, each with 2 inclusions to make them experienced -// - Set up a simulated value getter for epochs 300 and 301 +// - Add 8 inferers and 4 forecasters (12 total workers) with 2 inclusions each to make them experienced +// - Set initial regrets for all workers with varying values to simulate different performance levels // // Test steps: -// 1. Create a value bundle with combined value and individual values for inferers and forecasters +// 1. Create a value bundle with: +// - Combined value of 0.5 +// - Inferer values ranging from 0.2 to 0.9 +// - Forecaster values ranging from 0.3 to 0.6 +// - One-in and one-out variations for comprehensive testing +// // 2. Call UpdateTopicInitialRegret with this value bundle -// 3. Retrieve the updated topic +// 3. Verify the updated topic's initial regret // // Expected outcomes: // 1. The function should execute without error // 2. The topic's initial regret should be updated from 0 to a non-zero value -// 3. The new initial regret should be calculated based on the provided values and parameters -// -// This test ensures that the UpdateTopicInitialRegret function correctly calculates -// and updates the initial regret for a topic based on the performance of experienced -// workers, using the provided normalization and calculation parameters. +// 3. The new initial regret should reflect the collective performance of all workers +// 4. With more workers and varying performance levels, the initial regret should be statistically meaningful func (s *InferenceSynthesisTestSuite) TestUpdateTopicInitialRegret() { require := s.Require() k := s.emissionsKeeper - epochGet := testutil.GetSimulatedValuesGetterForEpochs() - epochPrevGet := epochGet[300] - epoch301Get := epochGet[301] topicId := uint64(1) blockHeight := int64(1003) nonce := emissionstypes.Nonce{BlockHeight: blockHeight} - alpha := alloraMath.MustNewDecFromString("0.1") pNorm := alloraMath.MustNewDecFromString("3.0") cNorm := alloraMath.MustNewDecFromString("0.75") epsilon := alloraMath.MustNewDecFromString("1e-4") initialRegretQuantile := alloraMath.MustNewDecFromString("0.5") pnormSafeDiv := alloraMath.MustNewDecFromString("1.0") - // Set initial Regret to check if this value is updated or not - initialRegret := alloraMath.MustNewDecFromString("0") + // Set initial Regret to check if this value is updated + initialRegret := alloraMath.ZeroDec() topic := s.mockTopic() - // Need to use "0.5" to set limit inclusions count as 2=(1/0.5) topic.AlphaRegret = alloraMath.MustNewDecFromString("0.5") - // Create new topic err := s.emissionsKeeper.SetTopic(s.ctx, topicId, topic) s.Require().NoError(err) - inferer0 := s.addrs[0].String() - inferer1 := s.addrs[1].String() - inferer2 := s.addrs[2].String() - inferer3 := s.addrs[3].String() - inferer4 := s.addrs[4].String() - infererAddresses := []string{inferer0, inferer1, inferer2, inferer3, inferer4} + // Create 8 inferer addresses + infererAddresses := make([]string, 8) + for i := 0; i < 8; i++ { + infererAddresses[i] = s.addrs[i].String() + } - forecaster0 := s.addrs[5].String() - forecaster1 := s.addrs[6].String() - forecaster2 := s.addrs[7].String() - forecasterAddresses := []string{forecaster0, forecaster1, forecaster2} + // Create 4 forecaster addresses + forecasterAddresses := make([]string, 4) + for i := 0; i < 4; i++ { + forecasterAddresses[i] = s.addrs[i+8].String() + } - reputer0 := s.addrs[8].String() + reputer := s.addrs[12].String() - // Need to add experienced inferers for this topic + // Make all workers experienced by giving them 2 inclusions for _, worker := range infererAddresses { - err := k.IncrementCountInfererInclusionsInTopic(s.ctx, topicId, worker) + err = k.IncrementCountInfererInclusionsInTopic(s.ctx, topicId, worker) require.NoError(err) err = k.IncrementCountInfererInclusionsInTopic(s.ctx, topicId, worker) require.NoError(err) } - // Need to add experienced forecasters for this topic for _, worker := range forecasterAddresses { - err := k.IncrementCountForecasterInclusionsInTopic(s.ctx, topicId, worker) + err = k.IncrementCountForecasterInclusionsInTopic(s.ctx, topicId, worker) require.NoError(err) err = k.IncrementCountForecasterInclusionsInTopic(s.ctx, topicId, worker) require.NoError(err) } - err = testutil.SetRegretsFromPreviousEpoch(s.ctx, s.emissionsKeeper, topicId, blockHeight, infererAddresses, forecasterAddresses, epochPrevGet) - require.NoError(err) + // Set initial regrets for all workers + for i, worker := range infererAddresses { + value := alloraMath.MustNewDecFromString(fmt.Sprintf("0.%d", i+2)) // Values from 0.2 to 0.9 + timestampedValue := emissionstypes.TimestampedValue{ + BlockHeight: blockHeight, + Value: value, + } + err = k.SetInfererNetworkRegret(s.ctx, topicId, worker, timestampedValue) + require.NoError(err) + } - networkLosses, err := testutil.GetNetworkLossFromCsv( - topicId, - blockHeight, - infererAddresses, - forecasterAddresses, - reputer0, - epoch301Get, - ) - s.Require().NoError(err) + for i, worker := range forecasterAddresses { + value := alloraMath.MustNewDecFromString(fmt.Sprintf("0.%d", i+3)) // Values from 0.3 to 0.6 + timestampedValue := emissionstypes.TimestampedValue{ + BlockHeight: blockHeight, + Value: value, + } + err = k.SetForecasterNetworkRegret(s.ctx, topicId, worker, timestampedValue) + require.NoError(err) + } + // Create inferer values + infererValues := make([]*emissionstypes.WorkerAttributedValue, len(infererAddresses)) + for i, worker := range infererAddresses { + infererValues[i] = &emissionstypes.WorkerAttributedValue{ + Worker: worker, + Value: alloraMath.MustNewDecFromString(fmt.Sprintf("0.%d", i+2)), + } + } + + // Create forecaster values + forecasterValues := make([]*emissionstypes.WorkerAttributedValue, len(forecasterAddresses)) + for i, worker := range forecasterAddresses { + forecasterValues[i] = &emissionstypes.WorkerAttributedValue{ + Worker: worker, + Value: alloraMath.MustNewDecFromString(fmt.Sprintf("0.%d", i+3)), + } + } + + // Create network losses value bundle + networkLosses := emissionstypes.ValueBundle{ + TopicId: topicId, + Reputer: reputer, + ReputerRequestNonce: &emissionstypes.ReputerRequestNonce{ReputerNonce: &nonce}, + ExtraData: nil, + CombinedValue: alloraMath.MustNewDecFromString("0.5"), + NaiveValue: alloraMath.MustNewDecFromString("0.4"), + InfererValues: infererValues, + ForecasterValues: forecasterValues, + OneOutInfererValues: nil, + OneOutForecasterValues: nil, + OneInForecasterValues: nil, + OneOutInfererForecasterValues: nil, + } + + // Calculate and set network regrets err = inferencesynthesis.GetCalcSetNetworkRegrets(inferencesynthesis.GetCalcSetNetworkRegretsArgs{ Ctx: s.ctx, K: k, TopicId: topicId, NetworkLosses: networkLosses, Nonce: nonce, - AlphaRegret: alpha, + AlphaRegret: topic.AlphaRegret, CNorm: cNorm, PNorm: pNorm, EpsilonTopic: epsilon, @@ -858,10 +896,13 @@ func (s *InferenceSynthesisTestSuite) TestUpdateTopicInitialRegret() { }) require.NoError(err) - // Assert that initial regret is updated + // Verify that initial regret was updated topic, err = s.emissionsKeeper.GetTopic(s.ctx, topicId) require.NoError(err) require.NotEqual(topic.InitialRegret, initialRegret) + + // Verify that the new initial regret is reasonable + require.True(topic.InitialRegret.Gt(alloraMath.ZeroDec())) } // TestCalcSetNetworkRegretsWithFallbackRegrets tests that when there are no experienced workers From 58cd0d31f0c01c429d0919c1f3a2031ea35e21c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 2 Dec 2024 23:33:29 +0000 Subject: [PATCH 11/16] Added new global parameter to experienced workers regret --- test/integration/update_params_test.go | 6 + x/emissions/api/emissions/v6/params.pulsar.go | 200 +- x/emissions/api/emissions/v6/tx.pulsar.go | 1823 ++++++++++------- .../inference_synthesis/network_regrets.go | 10 +- x/emissions/keeper/keeper_test.go | 2 + .../keeper/msgserver/msg_server_params.go | 6 + .../msgserver/msg_server_params_test.go | 4 + .../msg_server_worker_payload_test.go | 4 + x/emissions/migrations/v6/migrate.go | 2 + x/emissions/module/rewards/rewards_test.go | 2 + x/emissions/proto/emissions/v6/params.proto | 5 + x/emissions/proto/emissions/v6/tx.proto | 5 + x/emissions/types/params.go | 22 + x/emissions/types/params.pb.go | 274 ++- x/emissions/types/params_test.go | 2 + x/emissions/types/tx.pb.go | 867 ++++---- 16 files changed, 2041 insertions(+), 1193 deletions(-) diff --git a/test/integration/update_params_test.go b/test/integration/update_params_test.go index 4427b07c2..08acb3ecc 100644 --- a/test/integration/update_params_test.go +++ b/test/integration/update_params_test.go @@ -88,6 +88,8 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, }, } txResp, err := m.Client.BroadcastTx(ctx, m.AliceAcc, updateParamRequest) @@ -146,6 +148,8 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, }, } _, err = m.Client.BroadcastTx(ctx, m.BobAcc, updateParamRequest) @@ -208,6 +212,8 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, }, } txResp, err = m.Client.BroadcastTx(ctx, m.AliceAcc, updateParamRequest) diff --git a/x/emissions/api/emissions/v6/params.pulsar.go b/x/emissions/api/emissions/v6/params.pulsar.go index 4bdd6389b..21a6228c5 100644 --- a/x/emissions/api/emissions/v6/params.pulsar.go +++ b/x/emissions/api/emissions/v6/params.pulsar.go @@ -62,6 +62,8 @@ var ( fd_Params_p_norm_safe_div protoreflect.FieldDescriptor fd_Params_global_whitelist_enabled protoreflect.FieldDescriptor fd_Params_topic_creator_whitelist_enabled protoreflect.FieldDescriptor + fd_Params_fallback_listening_coefficient protoreflect.FieldDescriptor + fd_Params_min_experienced_worker_regrets protoreflect.FieldDescriptor ) func init() { @@ -112,6 +114,8 @@ func init() { fd_Params_p_norm_safe_div = md_Params.Fields().ByName("p_norm_safe_div") fd_Params_global_whitelist_enabled = md_Params.Fields().ByName("global_whitelist_enabled") fd_Params_topic_creator_whitelist_enabled = md_Params.Fields().ByName("topic_creator_whitelist_enabled") + fd_Params_fallback_listening_coefficient = md_Params.Fields().ByName("fallback_listening_coefficient") + fd_Params_min_experienced_worker_regrets = md_Params.Fields().ByName("min_experienced_worker_regrets") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -449,6 +453,18 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } + if x.FallbackListeningCoefficient != "" { + value := protoreflect.ValueOfString(x.FallbackListeningCoefficient) + if !f(fd_Params_fallback_listening_coefficient, value) { + return + } + } + if x.MinExperiencedWorkerRegrets != int64(0) { + value := protoreflect.ValueOfInt64(x.MinExperiencedWorkerRegrets) + if !f(fd_Params_min_experienced_worker_regrets, value) { + return + } + } } // Has reports whether a field is populated. @@ -554,6 +570,10 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.GlobalWhitelistEnabled != false case "emissions.v6.Params.topic_creator_whitelist_enabled": return x.TopicCreatorWhitelistEnabled != false + case "emissions.v6.Params.fallback_listening_coefficient": + return x.FallbackListeningCoefficient != "" + case "emissions.v6.Params.min_experienced_worker_regrets": + return x.MinExperiencedWorkerRegrets != int64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -660,6 +680,10 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.GlobalWhitelistEnabled = false case "emissions.v6.Params.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = false + case "emissions.v6.Params.fallback_listening_coefficient": + x.FallbackListeningCoefficient = "" + case "emissions.v6.Params.min_experienced_worker_regrets": + x.MinExperiencedWorkerRegrets = int64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -811,6 +835,12 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "emissions.v6.Params.topic_creator_whitelist_enabled": value := x.TopicCreatorWhitelistEnabled return protoreflect.ValueOfBool(value) + case "emissions.v6.Params.fallback_listening_coefficient": + value := x.FallbackListeningCoefficient + return protoreflect.ValueOfString(value) + case "emissions.v6.Params.min_experienced_worker_regrets": + value := x.MinExperiencedWorkerRegrets + return protoreflect.ValueOfInt64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -921,6 +951,10 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.GlobalWhitelistEnabled = value.Bool() case "emissions.v6.Params.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = value.Bool() + case "emissions.v6.Params.fallback_listening_coefficient": + x.FallbackListeningCoefficient = value.Interface().(string) + case "emissions.v6.Params.min_experienced_worker_regrets": + x.MinExperiencedWorkerRegrets = value.Int() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -1031,6 +1065,10 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field global_whitelist_enabled of message emissions.v6.Params is not mutable")) case "emissions.v6.Params.topic_creator_whitelist_enabled": panic(fmt.Errorf("field topic_creator_whitelist_enabled of message emissions.v6.Params is not mutable")) + case "emissions.v6.Params.fallback_listening_coefficient": + panic(fmt.Errorf("field fallback_listening_coefficient of message emissions.v6.Params is not mutable")) + case "emissions.v6.Params.min_experienced_worker_regrets": + panic(fmt.Errorf("field min_experienced_worker_regrets of message emissions.v6.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -1134,6 +1172,10 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfBool(false) case "emissions.v6.Params.topic_creator_whitelist_enabled": return protoreflect.ValueOfBool(false) + case "emissions.v6.Params.fallback_listening_coefficient": + return protoreflect.ValueOfString("") + case "emissions.v6.Params.min_experienced_worker_regrets": + return protoreflect.ValueOfInt64(int64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -1363,6 +1405,13 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if x.TopicCreatorWhitelistEnabled { n += 3 } + l = len(x.FallbackListeningCoefficient) + if l > 0 { + n += 2 + l + runtime.Sov(uint64(l)) + } + if x.MinExperiencedWorkerRegrets != 0 { + n += 2 + runtime.Sov(uint64(x.MinExperiencedWorkerRegrets)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -1392,6 +1441,22 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.MinExperiencedWorkerRegrets != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MinExperiencedWorkerRegrets)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xa8 + } + if len(x.FallbackListeningCoefficient) > 0 { + i -= len(x.FallbackListeningCoefficient) + copy(dAtA[i:], x.FallbackListeningCoefficient) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.FallbackListeningCoefficient))) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xa2 + } if x.TopicCreatorWhitelistEnabled { i-- if x.TopicCreatorWhitelistEnabled { @@ -2972,6 +3037,57 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } } x.TopicCreatorWhitelistEnabled = bool(v != 0) + case 52: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.FallbackListeningCoefficient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 53: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinExperiencedWorkerRegrets", wireType) + } + x.MinExperiencedWorkerRegrets = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MinExperiencedWorkerRegrets |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -3088,7 +3204,9 @@ type Params struct { PNormSafeDiv string `protobuf:"bytes,49,opt,name=p_norm_safe_div,json=pNormSafeDiv,proto3" json:"p_norm_safe_div,omitempty"` GlobalWhitelistEnabled bool `protobuf:"varint,50,opt,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers - TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` // topic creator whitelist enabled => only topic creator whitelisted actors can create topics + TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` // topic creator whitelist enabled => only topic creator whitelisted actors can create topics + FallbackListeningCoefficient string `protobuf:"bytes,52,opt,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3" json:"fallback_listening_coefficient,omitempty"` // listening coefficient to be used when there's just one reputer in the topic reward epoch and it has a previous listening coefficients of zero + MinExperiencedWorkerRegrets int64 `protobuf:"varint,53,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } func (x *Params) Reset() { @@ -3426,6 +3544,20 @@ func (x *Params) GetTopicCreatorWhitelistEnabled() bool { return false } +func (x *Params) GetFallbackListeningCoefficient() string { + if x != nil { + return x.FallbackListeningCoefficient + } + return "" +} + +func (x *Params) GetMinExperiencedWorkerRegrets() int64 { + if x != nil { + return x.MinExperiencedWorkerRegrets + } + return 0 +} + var File_emissions_v6_params_proto protoreflect.FileDescriptor var file_emissions_v6_params_proto_rawDesc = []byte{ @@ -3435,7 +3567,7 @@ var file_emissions_v6_params_proto_rawDesc = []byte{ 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x1e, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x1f, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, @@ -3666,32 +3798,44 @@ var file_emissions_v6_params_proto_rawDesc = []byte{ 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4a, 0x04, - 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, - 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, 0x08, 0x29, 0x10, 0x2a, 0x52, 0x14, 0x6d, 0x61, - 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, - 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, - 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x42, 0xc1, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x42, 0x0b, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x36, 0xa2, 0x02, 0x03, - 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, - 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x36, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x7d, + 0x0a, 0x1e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, + 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, + 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, + 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, + 0x1c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, + 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, + 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x18, + 0x35, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x72, 0x65, + 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, + 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, 0x08, 0x29, 0x10, 0x2a, + 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x76, 0x65, + 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x61, + 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x42, 0xc1, 0x01, 0x0a, + 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, + 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, + 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, + 0x36, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x36, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/emissions/api/emissions/v6/tx.pulsar.go b/x/emissions/api/emissions/v6/tx.pulsar.go index e249b21fa..ca7fde64c 100644 --- a/x/emissions/api/emissions/v6/tx.pulsar.go +++ b/x/emissions/api/emissions/v6/tx.pulsar.go @@ -2087,6 +2087,98 @@ func (x *_OptionalParams_51_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_OptionalParams_52_list)(nil) + +type _OptionalParams_52_list struct { + list *[]string +} + +func (x *_OptionalParams_52_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_OptionalParams_52_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_OptionalParams_52_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_OptionalParams_52_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_OptionalParams_52_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field FallbackListeningCoefficient as it is not of Message kind")) +} + +func (x *_OptionalParams_52_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_OptionalParams_52_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_OptionalParams_52_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_OptionalParams_53_list)(nil) + +type _OptionalParams_53_list struct { + list *[]int64 +} + +func (x *_OptionalParams_53_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_OptionalParams_53_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfInt64((*x.list)[i]) +} + +func (x *_OptionalParams_53_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Int() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_OptionalParams_53_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Int() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_OptionalParams_53_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinExperiencedWorkerRegrets as it is not of Message kind")) +} + +func (x *_OptionalParams_53_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_OptionalParams_53_list) NewElement() protoreflect.Value { + v := int64(0) + return protoreflect.ValueOfInt64(v) +} + +func (x *_OptionalParams_53_list) IsValid() bool { + return x.list != nil +} + var ( md_OptionalParams protoreflect.MessageDescriptor fd_OptionalParams_version protoreflect.FieldDescriptor @@ -2134,6 +2226,8 @@ var ( fd_OptionalParams_p_norm_safe_div protoreflect.FieldDescriptor fd_OptionalParams_global_whitelist_enabled protoreflect.FieldDescriptor fd_OptionalParams_topic_creator_whitelist_enabled protoreflect.FieldDescriptor + fd_OptionalParams_fallback_listening_coefficient protoreflect.FieldDescriptor + fd_OptionalParams_min_experienced_worker_regrets protoreflect.FieldDescriptor ) func init() { @@ -2184,6 +2278,8 @@ func init() { fd_OptionalParams_p_norm_safe_div = md_OptionalParams.Fields().ByName("p_norm_safe_div") fd_OptionalParams_global_whitelist_enabled = md_OptionalParams.Fields().ByName("global_whitelist_enabled") fd_OptionalParams_topic_creator_whitelist_enabled = md_OptionalParams.Fields().ByName("topic_creator_whitelist_enabled") + fd_OptionalParams_fallback_listening_coefficient = md_OptionalParams.Fields().ByName("fallback_listening_coefficient") + fd_OptionalParams_min_experienced_worker_regrets = md_OptionalParams.Fields().ByName("min_experienced_worker_regrets") } var _ protoreflect.Message = (*fastReflection_OptionalParams)(nil) @@ -2521,6 +2617,18 @@ func (x *fastReflection_OptionalParams) Range(f func(protoreflect.FieldDescripto return } } + if len(x.FallbackListeningCoefficient) != 0 { + value := protoreflect.ValueOfList(&_OptionalParams_52_list{list: &x.FallbackListeningCoefficient}) + if !f(fd_OptionalParams_fallback_listening_coefficient, value) { + return + } + } + if len(x.MinExperiencedWorkerRegrets) != 0 { + value := protoreflect.ValueOfList(&_OptionalParams_53_list{list: &x.MinExperiencedWorkerRegrets}) + if !f(fd_OptionalParams_min_experienced_worker_regrets, value) { + return + } + } } // Has reports whether a field is populated. @@ -2626,6 +2734,10 @@ func (x *fastReflection_OptionalParams) Has(fd protoreflect.FieldDescriptor) boo return len(x.GlobalWhitelistEnabled) != 0 case "emissions.v6.OptionalParams.topic_creator_whitelist_enabled": return len(x.TopicCreatorWhitelistEnabled) != 0 + case "emissions.v6.OptionalParams.fallback_listening_coefficient": + return len(x.FallbackListeningCoefficient) != 0 + case "emissions.v6.OptionalParams.min_experienced_worker_regrets": + return len(x.MinExperiencedWorkerRegrets) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -2732,6 +2844,10 @@ func (x *fastReflection_OptionalParams) Clear(fd protoreflect.FieldDescriptor) { x.GlobalWhitelistEnabled = nil case "emissions.v6.OptionalParams.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = nil + case "emissions.v6.OptionalParams.fallback_listening_coefficient": + x.FallbackListeningCoefficient = nil + case "emissions.v6.OptionalParams.min_experienced_worker_regrets": + x.MinExperiencedWorkerRegrets = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -3018,6 +3134,18 @@ func (x *fastReflection_OptionalParams) Get(descriptor protoreflect.FieldDescrip } listValue := &_OptionalParams_51_list{list: &x.TopicCreatorWhitelistEnabled} return protoreflect.ValueOfList(listValue) + case "emissions.v6.OptionalParams.fallback_listening_coefficient": + if len(x.FallbackListeningCoefficient) == 0 { + return protoreflect.ValueOfList(&_OptionalParams_52_list{}) + } + listValue := &_OptionalParams_52_list{list: &x.FallbackListeningCoefficient} + return protoreflect.ValueOfList(listValue) + case "emissions.v6.OptionalParams.min_experienced_worker_regrets": + if len(x.MinExperiencedWorkerRegrets) == 0 { + return protoreflect.ValueOfList(&_OptionalParams_53_list{}) + } + listValue := &_OptionalParams_53_list{list: &x.MinExperiencedWorkerRegrets} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -3218,6 +3346,14 @@ func (x *fastReflection_OptionalParams) Set(fd protoreflect.FieldDescriptor, val lv := value.List() clv := lv.(*_OptionalParams_51_list) x.TopicCreatorWhitelistEnabled = *clv.list + case "emissions.v6.OptionalParams.fallback_listening_coefficient": + lv := value.List() + clv := lv.(*_OptionalParams_52_list) + x.FallbackListeningCoefficient = *clv.list + case "emissions.v6.OptionalParams.min_experienced_worker_regrets": + lv := value.List() + clv := lv.(*_OptionalParams_53_list) + x.MinExperiencedWorkerRegrets = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -3508,6 +3644,18 @@ func (x *fastReflection_OptionalParams) Mutable(fd protoreflect.FieldDescriptor) } value := &_OptionalParams_51_list{list: &x.TopicCreatorWhitelistEnabled} return protoreflect.ValueOfList(value) + case "emissions.v6.OptionalParams.fallback_listening_coefficient": + if x.FallbackListeningCoefficient == nil { + x.FallbackListeningCoefficient = []string{} + } + value := &_OptionalParams_52_list{list: &x.FallbackListeningCoefficient} + return protoreflect.ValueOfList(value) + case "emissions.v6.OptionalParams.min_experienced_worker_regrets": + if x.MinExperiencedWorkerRegrets == nil { + x.MinExperiencedWorkerRegrets = []int64{} + } + value := &_OptionalParams_53_list{list: &x.MinExperiencedWorkerRegrets} + return protoreflect.ValueOfList(value) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -3656,6 +3804,12 @@ func (x *fastReflection_OptionalParams) NewField(fd protoreflect.FieldDescriptor case "emissions.v6.OptionalParams.topic_creator_whitelist_enabled": list := []bool{} return protoreflect.ValueOfList(&_OptionalParams_51_list{list: &list}) + case "emissions.v6.OptionalParams.fallback_listening_coefficient": + list := []string{} + return protoreflect.ValueOfList(&_OptionalParams_52_list{list: &list}) + case "emissions.v6.OptionalParams.min_experienced_worker_regrets": + list := []int64{} + return protoreflect.ValueOfList(&_OptionalParams_53_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -4007,6 +4161,19 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { if len(x.TopicCreatorWhitelistEnabled) > 0 { n += 2 + runtime.Sov(uint64(len(x.TopicCreatorWhitelistEnabled))) + len(x.TopicCreatorWhitelistEnabled)*1 } + if len(x.FallbackListeningCoefficient) > 0 { + for _, s := range x.FallbackListeningCoefficient { + l = len(s) + n += 2 + l + runtime.Sov(uint64(l)) + } + } + if len(x.MinExperiencedWorkerRegrets) > 0 { + l = 0 + for _, e := range x.MinExperiencedWorkerRegrets { + l += runtime.Sov(uint64(e)) + } + n += 2 + runtime.Sov(uint64(l)) + l + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4036,6 +4203,40 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.MinExperiencedWorkerRegrets) > 0 { + var pksize2 int + for _, num := range x.MinExperiencedWorkerRegrets { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range x.MinExperiencedWorkerRegrets { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xaa + } + if len(x.FallbackListeningCoefficient) > 0 { + for iNdEx := len(x.FallbackListeningCoefficient) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.FallbackListeningCoefficient[iNdEx]) + copy(dAtA[i:], x.FallbackListeningCoefficient[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.FallbackListeningCoefficient[iNdEx]))) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xa2 + } + } if len(x.TopicCreatorWhitelistEnabled) > 0 { for iNdEx := len(x.TopicCreatorWhitelistEnabled) - 1; iNdEx >= 0; iNdEx-- { i-- @@ -4089,66 +4290,66 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } } if len(x.MaxStringLength) > 0 { - var pksize2 int + var pksize4 int for _, num := range x.MaxStringLength { - pksize2 += runtime.Sov(uint64(num)) + pksize4 += runtime.Sov(uint64(num)) } - i -= pksize2 - j1 := i + i -= pksize4 + j3 := i for _, num := range x.MaxStringLength { for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j1++ + j3++ } - dAtA[j1] = uint8(num) - j1++ + dAtA[j3] = uint8(num) + j3++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) i-- dAtA[i] = 0x2 i-- dAtA[i] = 0xfa } if len(x.MaxActiveTopicsPerBlock) > 0 { - var pksize4 int + var pksize6 int for _, num := range x.MaxActiveTopicsPerBlock { - pksize4 += runtime.Sov(uint64(num)) + pksize6 += runtime.Sov(uint64(num)) } - i -= pksize4 - j3 := i + i -= pksize6 + j5 := i for _, num := range x.MaxActiveTopicsPerBlock { for num >= 1<<7 { - dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j5] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j3++ + j5++ } - dAtA[j3] = uint8(num) - j3++ + dAtA[j5] = uint8(num) + j5++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize6)) i-- dAtA[i] = 0x2 i-- dAtA[i] = 0xf2 } if len(x.MaxElementsPerForecast) > 0 { - var pksize6 int + var pksize8 int for _, num := range x.MaxElementsPerForecast { - pksize6 += runtime.Sov(uint64(num)) + pksize8 += runtime.Sov(uint64(num)) } - i -= pksize6 - j5 := i + i -= pksize8 + j7 := i for _, num := range x.MaxElementsPerForecast { for num >= 1<<7 { - dAtA[j5] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j7] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j5++ + j7++ } - dAtA[j5] = uint8(num) - j5++ + dAtA[j7] = uint8(num) + j7++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize6)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize8)) i-- dAtA[i] = 0x2 i-- @@ -4177,22 +4378,22 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } } if len(x.HalfMaxProcessStakeRemovalsEndBlock) > 0 { - var pksize8 int + var pksize10 int for _, num := range x.HalfMaxProcessStakeRemovalsEndBlock { - pksize8 += runtime.Sov(uint64(num)) + pksize10 += runtime.Sov(uint64(num)) } - i -= pksize8 - j7 := i + i -= pksize10 + j9 := i for _, num := range x.HalfMaxProcessStakeRemovalsEndBlock { for num >= 1<<7 { - dAtA[j7] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j9] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j7++ + j9++ } - dAtA[j7] = uint8(num) - j7++ + dAtA[j9] = uint8(num) + j9++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize8)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize10)) i-- dAtA[i] = 0x2 i-- @@ -4276,36 +4477,13 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } } if len(x.BlocksPerMonth) > 0 { - var pksize10 int - for _, num := range x.BlocksPerMonth { - pksize10 += runtime.Sov(uint64(num)) - } - i -= pksize10 - j9 := i - for _, num := range x.BlocksPerMonth { - for num >= 1<<7 { - dAtA[j9] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j9++ - } - dAtA[j9] = uint8(num) - j9++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize10)) - i-- - dAtA[i] = 0x2 - i-- - dAtA[i] = 0x82 - } - if len(x.MinEpochLengthRecordLimit) > 0 { var pksize12 int - for _, num := range x.MinEpochLengthRecordLimit { + for _, num := range x.BlocksPerMonth { pksize12 += runtime.Sov(uint64(num)) } i -= pksize12 j11 := i - for _, num1 := range x.MinEpochLengthRecordLimit { - num := uint64(num1) + for _, num := range x.BlocksPerMonth { for num >= 1<<7 { dAtA[j11] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4316,18 +4494,19 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } i = runtime.EncodeVarint(dAtA, i, uint64(pksize12)) i-- - dAtA[i] = 0x1 + dAtA[i] = 0x2 i-- - dAtA[i] = 0xfa + dAtA[i] = 0x82 } - if len(x.MaxPageLimit) > 0 { + if len(x.MinEpochLengthRecordLimit) > 0 { var pksize14 int - for _, num := range x.MaxPageLimit { + for _, num := range x.MinEpochLengthRecordLimit { pksize14 += runtime.Sov(uint64(num)) } i -= pksize14 j13 := i - for _, num := range x.MaxPageLimit { + for _, num1 := range x.MinEpochLengthRecordLimit { + num := uint64(num1) for num >= 1<<7 { dAtA[j13] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4340,16 +4519,16 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xf2 + dAtA[i] = 0xfa } - if len(x.DefaultPageLimit) > 0 { + if len(x.MaxPageLimit) > 0 { var pksize16 int - for _, num := range x.DefaultPageLimit { + for _, num := range x.MaxPageLimit { pksize16 += runtime.Sov(uint64(num)) } i -= pksize16 j15 := i - for _, num := range x.DefaultPageLimit { + for _, num := range x.MaxPageLimit { for num >= 1<<7 { dAtA[j15] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4362,27 +4541,16 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xea - } - if len(x.RegistrationFee) > 0 { - for iNdEx := len(x.RegistrationFee) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.RegistrationFee[iNdEx]) - copy(dAtA[i:], x.RegistrationFee[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RegistrationFee[iNdEx]))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xe2 - } + dAtA[i] = 0xf2 } - if len(x.GradientDescentMaxIters) > 0 { + if len(x.DefaultPageLimit) > 0 { var pksize18 int - for _, num := range x.GradientDescentMaxIters { + for _, num := range x.DefaultPageLimit { pksize18 += runtime.Sov(uint64(num)) } i -= pksize18 j17 := i - for _, num := range x.GradientDescentMaxIters { + for _, num := range x.DefaultPageLimit { for num >= 1<<7 { dAtA[j17] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4395,27 +4563,27 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xca + dAtA[i] = 0xea } - if len(x.CreateTopicFee) > 0 { - for iNdEx := len(x.CreateTopicFee) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.CreateTopicFee[iNdEx]) - copy(dAtA[i:], x.CreateTopicFee[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreateTopicFee[iNdEx]))) + if len(x.RegistrationFee) > 0 { + for iNdEx := len(x.RegistrationFee) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.RegistrationFee[iNdEx]) + copy(dAtA[i:], x.RegistrationFee[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RegistrationFee[iNdEx]))) i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xc2 + dAtA[i] = 0xe2 } } - if len(x.MaxTopReputersToReward) > 0 { + if len(x.GradientDescentMaxIters) > 0 { var pksize20 int - for _, num := range x.MaxTopReputersToReward { + for _, num := range x.GradientDescentMaxIters { pksize20 += runtime.Sov(uint64(num)) } i -= pksize20 j19 := i - for _, num := range x.MaxTopReputersToReward { + for _, num := range x.GradientDescentMaxIters { for num >= 1<<7 { dAtA[j19] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4428,16 +4596,27 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xba + dAtA[i] = 0xca } - if len(x.MaxTopForecastersToReward) > 0 { + if len(x.CreateTopicFee) > 0 { + for iNdEx := len(x.CreateTopicFee) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.CreateTopicFee[iNdEx]) + copy(dAtA[i:], x.CreateTopicFee[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreateTopicFee[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc2 + } + } + if len(x.MaxTopReputersToReward) > 0 { var pksize22 int - for _, num := range x.MaxTopForecastersToReward { + for _, num := range x.MaxTopReputersToReward { pksize22 += runtime.Sov(uint64(num)) } i -= pksize22 j21 := i - for _, num := range x.MaxTopForecastersToReward { + for _, num := range x.MaxTopReputersToReward { for num >= 1<<7 { dAtA[j21] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4450,16 +4629,16 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xb2 + dAtA[i] = 0xba } - if len(x.MaxTopInferersToReward) > 0 { + if len(x.MaxTopForecastersToReward) > 0 { var pksize24 int - for _, num := range x.MaxTopInferersToReward { + for _, num := range x.MaxTopForecastersToReward { pksize24 += runtime.Sov(uint64(num)) } i -= pksize24 j23 := i - for _, num := range x.MaxTopInferersToReward { + for _, num := range x.MaxTopForecastersToReward { for num >= 1<<7 { dAtA[j23] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4472,16 +4651,16 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xaa + dAtA[i] = 0xb2 } - if len(x.MaxSamplesToScaleScores) > 0 { + if len(x.MaxTopInferersToReward) > 0 { var pksize26 int - for _, num := range x.MaxSamplesToScaleScores { + for _, num := range x.MaxTopInferersToReward { pksize26 += runtime.Sov(uint64(num)) } i -= pksize26 j25 := i - for _, num := range x.MaxSamplesToScaleScores { + for _, num := range x.MaxTopInferersToReward { for num >= 1<<7 { dAtA[j25] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4494,6 +4673,28 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1 i-- + dAtA[i] = 0xaa + } + if len(x.MaxSamplesToScaleScores) > 0 { + var pksize28 int + for _, num := range x.MaxSamplesToScaleScores { + pksize28 += runtime.Sov(uint64(num)) + } + i -= pksize28 + j27 := i + for _, num := range x.MaxSamplesToScaleScores { + for num >= 1<<7 { + dAtA[j27] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j27++ + } + dAtA[j27] = uint8(num) + j27++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize28)) + i-- + dAtA[i] = 0x1 + i-- dAtA[i] = 0xa2 } if len(x.ValidatorsVsAlloraPercentReward) > 0 { @@ -4550,42 +4751,42 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } } if len(x.MaxUnfulfilledReputerRequests) > 0 { - var pksize28 int + var pksize30 int for _, num := range x.MaxUnfulfilledReputerRequests { - pksize28 += runtime.Sov(uint64(num)) + pksize30 += runtime.Sov(uint64(num)) } - i -= pksize28 - j27 := i + i -= pksize30 + j29 := i for _, num := range x.MaxUnfulfilledReputerRequests { for num >= 1<<7 { - dAtA[j27] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j29] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j27++ + j29++ } - dAtA[j27] = uint8(num) - j27++ + dAtA[j29] = uint8(num) + j29++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize28)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize30)) i-- dAtA[i] = 0x72 } if len(x.MaxUnfulfilledWorkerRequests) > 0 { - var pksize30 int + var pksize32 int for _, num := range x.MaxUnfulfilledWorkerRequests { - pksize30 += runtime.Sov(uint64(num)) + pksize32 += runtime.Sov(uint64(num)) } - i -= pksize30 - j29 := i + i -= pksize32 + j31 := i for _, num := range x.MaxUnfulfilledWorkerRequests { for num >= 1<<7 { - dAtA[j29] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j31] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j29++ + j31++ } - dAtA[j29] = uint8(num) - j29++ + dAtA[j31] = uint8(num) + j31++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize30)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize32)) i-- dAtA[i] = 0x6a } @@ -4626,44 +4827,44 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } } if len(x.MinEpochLength) > 0 { - var pksize32 int + var pksize34 int for _, num := range x.MinEpochLength { - pksize32 += runtime.Sov(uint64(num)) + pksize34 += runtime.Sov(uint64(num)) } - i -= pksize32 - j31 := i + i -= pksize34 + j33 := i for _, num1 := range x.MinEpochLength { num := uint64(num1) for num >= 1<<7 { - dAtA[j31] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j33] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j31++ + j33++ } - dAtA[j31] = uint8(num) - j31++ + dAtA[j33] = uint8(num) + j33++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize32)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize34)) i-- dAtA[i] = 0x3a } if len(x.RemoveStakeDelayWindow) > 0 { - var pksize34 int + var pksize36 int for _, num := range x.RemoveStakeDelayWindow { - pksize34 += runtime.Sov(uint64(num)) + pksize36 += runtime.Sov(uint64(num)) } - i -= pksize34 - j33 := i + i -= pksize36 + j35 := i for _, num1 := range x.RemoveStakeDelayWindow { num := uint64(num1) for num >= 1<<7 { - dAtA[j33] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j35] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j33++ + j35++ } - dAtA[j33] = uint8(num) - j33++ + dAtA[j35] = uint8(num) + j35++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize34)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize36)) i-- dAtA[i] = 0x32 } @@ -4686,23 +4887,23 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } } if len(x.MaxSerializedMsgLength) > 0 { - var pksize36 int + var pksize38 int for _, num := range x.MaxSerializedMsgLength { - pksize36 += runtime.Sov(uint64(num)) + pksize38 += runtime.Sov(uint64(num)) } - i -= pksize36 - j35 := i + i -= pksize38 + j37 := i for _, num1 := range x.MaxSerializedMsgLength { num := uint64(num1) for num >= 1<<7 { - dAtA[j35] = uint8(uint64(num)&0x7f | 0x80) + dAtA[j37] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j35++ + j37++ } - dAtA[j35] = uint8(num) - j35++ + dAtA[j37] = uint8(num) + j37++ } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize36)) + i = runtime.EncodeVarint(dAtA, i, uint64(pksize38)) i-- dAtA[i] = 0x12 } @@ -6930,11 +7131,183 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.PNormSafeDiv = append(x.PNormSafeDiv, string(dAtA[iNdEx:postIndex])) + x.PNormSafeDiv = append(x.PNormSafeDiv, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 50: + if wireType == 0 { + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.GlobalWhitelistEnabled = append(x.GlobalWhitelistEnabled, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(x.GlobalWhitelistEnabled) == 0 { + x.GlobalWhitelistEnabled = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.GlobalWhitelistEnabled = append(x.GlobalWhitelistEnabled, bool(v != 0)) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GlobalWhitelistEnabled", wireType) + } + case 51: + if wireType == 0 { + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.TopicCreatorWhitelistEnabled = append(x.TopicCreatorWhitelistEnabled, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(x.TopicCreatorWhitelistEnabled) == 0 { + x.TopicCreatorWhitelistEnabled = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.TopicCreatorWhitelistEnabled = append(x.TopicCreatorWhitelistEnabled, bool(v != 0)) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicCreatorWhitelistEnabled", wireType) + } + case 52: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.FallbackListeningCoefficient = append(x.FallbackListeningCoefficient, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 50: + case 53: if wireType == 0 { - var v int + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -6944,12 +7317,12 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= int64(b&0x7F) << shift if b < 0x80 { break } } - x.GlobalWhitelistEnabled = append(x.GlobalWhitelistEnabled, bool(v != 0)) + x.MinExperiencedWorkerRegrets = append(x.MinExperiencedWorkerRegrets, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -6977,82 +7350,18 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } var elementCount int - elementCount = packedLen - if elementCount != 0 && len(x.GlobalWhitelistEnabled) == 0 { - x.GlobalWhitelistEnabled = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.GlobalWhitelistEnabled = append(x.GlobalWhitelistEnabled, bool(v != 0)) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GlobalWhitelistEnabled", wireType) - } - case 51: - if wireType == 0 { - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.TopicCreatorWhitelistEnabled = append(x.TopicCreatorWhitelistEnabled, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ } } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(x.TopicCreatorWhitelistEnabled) == 0 { - x.TopicCreatorWhitelistEnabled = make([]bool, 0, elementCount) + elementCount = count + if elementCount != 0 && len(x.MinExperiencedWorkerRegrets) == 0 { + x.MinExperiencedWorkerRegrets = make([]int64, 0, elementCount) } for iNdEx < postIndex { - var v int + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -7062,15 +7371,15 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= int64(b&0x7F) << shift if b < 0x80 { break } } - x.TopicCreatorWhitelistEnabled = append(x.TopicCreatorWhitelistEnabled, bool(v != 0)) + x.MinExperiencedWorkerRegrets = append(x.MinExperiencedWorkerRegrets, v) } } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicCreatorWhitelistEnabled", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinExperiencedWorkerRegrets", wireType) } default: iNdEx = preIndex @@ -32633,6 +32942,8 @@ type OptionalParams struct { PNormSafeDiv []string `protobuf:"bytes,49,rep,name=p_norm_safe_div,json=pNormSafeDiv,proto3" json:"p_norm_safe_div,omitempty"` GlobalWhitelistEnabled []bool `protobuf:"varint,50,rep,packed,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` TopicCreatorWhitelistEnabled []bool `protobuf:"varint,51,rep,packed,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` + FallbackListeningCoefficient []string `protobuf:"bytes,52,rep,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3" json:"fallback_listening_coefficient,omitempty"` + MinExperiencedWorkerRegrets []int64 `protobuf:"varint,53,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (x *OptionalParams) Reset() { @@ -32970,6 +33281,20 @@ func (x *OptionalParams) GetTopicCreatorWhitelistEnabled() []bool { return nil } +func (x *OptionalParams) GetFallbackListeningCoefficient() []string { + if x != nil { + return x.FallbackListeningCoefficient + } + return nil +} + +func (x *OptionalParams) GetMinExperiencedWorkerRegrets() []int64 { + if x != nil { + return x.MinExperiencedWorkerRegrets + } + return nil +} + type UpdateParamsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -35210,7 +35535,7 @@ var file_emissions_v6_tx_proto_rawDesc = []byte{ 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x1e, 0x0a, 0x0e, 0x4f, 0x70, + 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x1f, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, @@ -35484,545 +35809,593 @@ var file_emissions_v6_tx_proto_rawDesc = []byte{ 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x44, 0x65, 0x63, 0x52, 0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, - 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x51, 0x0a, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, - 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x44, 0x65, 0x63, 0x52, 0x1c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x72, + 0x65, 0x74, 0x73, 0x18, 0x35, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, + 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, + 0x08, 0x29, 0x10, 0x2a, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, + 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, + 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x09, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, + 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, + 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x5f, 0x6c, + 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x54, 0x72, 0x75, 0x74, 0x68, 0x4c, 0x61, 0x67, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x5f, 0x6e, 0x6f, + 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, - 0x63, 0x52, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x6b, 0x0a, 0x15, 0x6d, 0x65, 0x72, 0x69, 0x74, 0x5f, 0x73, 0x6f, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x13, 0x6d, 0x65, - 0x72, 0x69, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x70, 0x68, - 0x61, 0x12, 0x6f, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x15, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x6c, 0x65, 0x12, 0x75, 0x0a, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x6f, 0x72, - 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, + 0x63, 0x52, 0x05, 0x70, 0x4e, 0x6f, 0x72, 0x6d, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, + 0x67, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x51, 0x0a, 0x07, 0x65, + 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, + 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x12, 0x38, + 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x6b, 0x0a, 0x15, 0x6d, 0x65, 0x72, 0x69, + 0x74, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, + 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, + 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, + 0x52, 0x13, 0x6d, 0x65, 0x72, 0x69, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x6f, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, - 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x6f, 0x0a, 0x17, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, + 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x75, 0x0a, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x44, 0x65, 0x63, 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, - 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x09, - 0x10, 0x0a, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x52, 0x0f, - 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x52, - 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x22, 0x33, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x14, 0x72, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x12, 0x72, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x3a, - 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, 0x0a, - 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, - 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xae, 0x01, - 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x44, 0x65, 0x63, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x6f, 0x0a, + 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x36, + 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, + 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4a, 0x04, + 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, + 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, + 0x69, 0x63, 0x52, 0x0f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x52, 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, + 0x72, 0x67, 0x22, 0x33, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x52, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, + 0x12, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x22, 0x1e, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x8f, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xae, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, + 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, + 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x5f, 0x70, 0x32, 0x70, 0x5f, + 0x6b, 0x65, 0x79, 0x52, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x46, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x64, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, + 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, + 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, - 0x10, 0x04, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x52, - 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x46, - 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, - 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, - 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, - 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, + 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x15, 0x0a, 0x13, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1b, + 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, + 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, + 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, - 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, - 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, - 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x9a, 0x01, 0x0a, 0x20, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, - 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x76, 0x0a, 0x1a, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x22, 0x23, 0x0a, 0x21, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x1a, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, + 0x1b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, + 0x10, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x46, + 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x5b, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, + 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x1f, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, - 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x10, 0x46, 0x75, 0x6e, - 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x64, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x1a, - 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, - 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, - 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, - 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, - 0x0a, 0x21, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x22, + 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x63, 0x0a, 0x21, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, + 0x22, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x22, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, - 0x25, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, - 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x23, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, - 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x26, 0x0a, 0x24, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x64, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x22, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x22, 0x25, 0x0a, 0x23, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, + 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x26, + 0x0a, 0x24, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x21, + 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x61, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, - 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x54, - 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, - 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, - 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x67, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x27, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, + 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x25, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x28, 0x0a, - 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x54, 0x6f, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x0a, - 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, + 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x20, 0x41, 0x64, + 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x54, + 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, + 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x22, 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, + 0x72, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x21, 0x41, + 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, + 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, + 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x82, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf0, 0x18, 0x0a, - 0x0a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x12, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x49, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, - 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, - 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, - 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, - 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x20, 0x2e, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0xf0, 0x18, 0x0a, 0x0a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x55, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, + 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, + 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x53, 0x74, + 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x12, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, + 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, - 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x19, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x46, 0x75, 0x6e, 0x64, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x28, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, - 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x79, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2d, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, - 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x14, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x54, - 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, - 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, + 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, + 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2e, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, + 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x41, 0x64, + 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, + 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x14, + 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, + 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x19, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1b, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x85, 0x01, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x82, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x54, - 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x1f, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x19, 0x41, 0x64, - 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, + 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, + 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, - 0xbd, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, - 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, - 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x36, - 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x36, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, + 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, + 0x0a, 0x19, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, + 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x41, 0x64, + 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x1f, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, + 0xb0, 0x2a, 0x01, 0x42, 0xbd, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, + 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x76, 0x36, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, + 0x3a, 0x56, 0x36, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index 429f620ff..7085eb28e 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -380,11 +380,17 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { } } + // Get Params + params, err := args.K.GetParams(args.Ctx) + if err != nil { + return errorsmod.Wrapf(err, "Error getting params") + } + // Select which regrets to use for calculating the topic initial regret: // - If we have 10 or more experienced workers, use their regrets // - Otherwise, use fallback regrets which include all workers regrets := fallbackRegrets - if len(workersRegrets) >= 10 { + if len(workersRegrets) >= int(params.MinExperiencedWorkerRegrets) { regrets = workersRegrets } @@ -397,7 +403,7 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // Set initial value to the quantile (used when we don't have enough experienced workers) updatedTopicInitialRegret := quantile - if len(workersRegrets) >= 10 { + if len(workersRegrets) >= int(params.MinExperiencedWorkerRegrets) { updatedTopicInitialRegret, err = CalcTopicInitialRegret( regrets, args.EpsilonTopic, diff --git a/x/emissions/keeper/keeper_test.go b/x/emissions/keeper/keeper_test.go index b02576e35..3be1b1210 100644 --- a/x/emissions/keeper/keeper_test.go +++ b/x/emissions/keeper/keeper_test.go @@ -3815,6 +3815,8 @@ func mockUninitializedParams() types.Params { PNormSafeDiv: alloraMath.ZeroDec(), GlobalWhitelistEnabled: true, TopicCreatorWhitelistEnabled: true, + FallbackListeningCoefficient: alloraMath.MustNewDecFromString("0.5"), + MinExperiencedWorkerRegrets: int64(10), } } diff --git a/x/emissions/keeper/msgserver/msg_server_params.go b/x/emissions/keeper/msgserver/msg_server_params.go index 246c61ced..ac7ababa9 100644 --- a/x/emissions/keeper/msgserver/msg_server_params.go +++ b/x/emissions/keeper/msgserver/msg_server_params.go @@ -162,6 +162,12 @@ func (ms msgServer) UpdateParams(ctx context.Context, msg *types.UpdateParamsReq if len(newParams.TopicCreatorWhitelistEnabled) == 1 { existingParams.TopicCreatorWhitelistEnabled = newParams.TopicCreatorWhitelistEnabled[0] } + if len(newParams.FallbackListeningCoefficient) == 1 { + existingParams.FallbackListeningCoefficient = newParams.FallbackListeningCoefficient[0] + } + if len(newParams.MinExperiencedWorkerRegrets) == 1 { + existingParams.MinExperiencedWorkerRegrets = newParams.MinExperiencedWorkerRegrets[0] + } err = existingParams.Validate() if err != nil { return nil, err diff --git a/x/emissions/keeper/msgserver/msg_server_params_test.go b/x/emissions/keeper/msgserver/msg_server_params_test.go index a7f6f47e2..b4f242e0b 100644 --- a/x/emissions/keeper/msgserver/msg_server_params_test.go +++ b/x/emissions/keeper/msgserver/msg_server_params_test.go @@ -65,6 +65,8 @@ func (s *MsgServerTestSuite) TestUpdateAllParams() { PNormSafeDiv: []alloraMath.Dec{alloraMath.ZeroDec()}, GlobalWhitelistEnabled: []bool{true}, TopicCreatorWhitelistEnabled: []bool{true}, + FallbackListeningCoefficient: []alloraMath.Dec{alloraMath.MustNewDecFromString(".1234")}, + MinExperiencedWorkerRegrets: []int64{1234}, } updateMsg := &types.UpdateParamsRequest{ @@ -173,6 +175,8 @@ func (s *MsgServerTestSuite) TestUpdateParamsNonWhitelistedUser() { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, } // Creating the UpdateParamsRequest message with a non-whitelisted user diff --git a/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go b/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go index 967264bcc..3d7aa4bc7 100644 --- a/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go +++ b/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go @@ -363,6 +363,8 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithFewTopElementsPerFore PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, } updateMsg := &types.UpdateParamsRequest{ @@ -762,6 +764,8 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithLowScoreForecastsAreR PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, } updateMsg := &types.UpdateParamsRequest{ diff --git a/x/emissions/migrations/v6/migrate.go b/x/emissions/migrations/v6/migrate.go index 378f68adb..787f7f4cf 100644 --- a/x/emissions/migrations/v6/migrate.go +++ b/x/emissions/migrations/v6/migrate.go @@ -108,6 +108,8 @@ func MigrateParams(store storetypes.KVStore, cdc codec.BinaryCodec) error { // NEW PARAMS GlobalWhitelistEnabled: defaultParams.GlobalWhitelistEnabled, TopicCreatorWhitelistEnabled: defaultParams.TopicCreatorWhitelistEnabled, + FallbackListeningCoefficient: defaultParams.FallbackListeningCoefficient, + MinExperiencedWorkerRegrets: defaultParams.MinExperiencedWorkerRegrets, } store.Delete(emissionstypes.ParamsKey) diff --git a/x/emissions/module/rewards/rewards_test.go b/x/emissions/module/rewards/rewards_test.go index 67ab9e026..419db19a4 100644 --- a/x/emissions/module/rewards/rewards_test.go +++ b/x/emissions/module/rewards/rewards_test.go @@ -2216,6 +2216,8 @@ func (s *RewardsTestSuite) SetParamsForTest() { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, + FallbackListeningCoefficient: nil, + MinExperiencedWorkerRegrets: nil, } updateMsg := &types.UpdateParamsRequest{ diff --git a/x/emissions/proto/emissions/v6/params.proto b/x/emissions/proto/emissions/v6/params.proto index c37ab17da..904e67280 100644 --- a/x/emissions/proto/emissions/v6/params.proto +++ b/x/emissions/proto/emissions/v6/params.proto @@ -155,4 +155,9 @@ message Params { bool global_whitelist_enabled = 50; // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers bool topic_creator_whitelist_enabled = 51; // topic creator whitelist enabled => only topic creator whitelisted actors can create topics + string fallback_listening_coefficient = 52 [ + (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", + (gogoproto.nullable) = false + ]; // listening coefficient to be used when there's just one reputer in the topic reward epoch and it has a previous listening coefficients of zero + int64 min_experienced_worker_regrets = 53; // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } diff --git a/x/emissions/proto/emissions/v6/tx.proto b/x/emissions/proto/emissions/v6/tx.proto index a99d65eab..dbd621295 100644 --- a/x/emissions/proto/emissions/v6/tx.proto +++ b/x/emissions/proto/emissions/v6/tx.proto @@ -208,6 +208,11 @@ message OptionalParams { ]; repeated bool global_whitelist_enabled = 50; repeated bool topic_creator_whitelist_enabled = 51; + repeated string fallback_listening_coefficient = 52 [ + (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", + (gogoproto.nullable) = false + ]; + repeated int64 min_experienced_worker_regrets = 53; } message UpdateParamsRequest { diff --git a/x/emissions/types/params.go b/x/emissions/types/params.go index 8648019bc..8b44360c1 100644 --- a/x/emissions/types/params.go +++ b/x/emissions/types/params.go @@ -57,6 +57,8 @@ func DefaultParams() Params { PNormSafeDiv: alloraMath.MustNewDecFromString("8.25"), // pnorm divide value to calculate offset with cnorm GlobalWhitelistEnabled: true, // global whitelist enabled => all global whitelisted actors can create topics and participate in all topics as workers and reputers TopicCreatorWhitelistEnabled: true, // topic creator whitelist enabled => all topic creator whitelisted actors can create topics + FallbackListeningCoefficient: alloraMath.MustNewDecFromString("0.5"), // listening coefficient to be used when there's just one reputer in the topic reward epoch and it has a previous listening coefficients of zero + MinExperiencedWorkerRegrets: int64(10), // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } } @@ -191,6 +193,12 @@ func (p Params) Validate() error { if err := validatePNormSafeDiv(p.PNormSafeDiv); err != nil { return errorsmod.Wrap(err, "params validation failure: pnorm safe div") } + if err := validateFallbackListeningCoefficient(p.FallbackListeningCoefficient); err != nil { + return errorsmod.Wrap(err, "params validation failure: fallback listening coefficient") + } + if err := validateMinExperiencedWorkerRegrets(p.MinExperiencedWorkerRegrets); err != nil { + return errorsmod.Wrap(err, "params validation failure: min experienced worker regrets") + } return nil } @@ -602,3 +610,17 @@ func validateDataSendingFee(i cosmosMath.Int) error { } return nil } + +func validateFallbackListeningCoefficient(i alloraMath.Dec) error { + if err := ValidateDec(i); err != nil { + return err + } + return nil +} + +func validateMinExperiencedWorkerRegrets(i int64) error { + if i < 0 { + return ErrValidationMustBeGreaterthanZero + } + return nil +} diff --git a/x/emissions/types/params.pb.go b/x/emissions/types/params.pb.go index 2d07646aa..2b4516069 100644 --- a/x/emissions/types/params.pb.go +++ b/x/emissions/types/params.pb.go @@ -91,7 +91,9 @@ type Params struct { PNormSafeDiv github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,49,opt,name=p_norm_safe_div,json=pNormSafeDiv,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"p_norm_safe_div"` GlobalWhitelistEnabled bool `protobuf:"varint,50,opt,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` // and participate in all topics as workers and reputers - TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` + TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` + FallbackListeningCoefficient github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,52,opt,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"fallback_listening_coefficient"` + MinExperiencedWorkerRegrets int64 `protobuf:"varint,53,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -274,6 +276,13 @@ func (m *Params) GetTopicCreatorWhitelistEnabled() bool { return false } +func (m *Params) GetMinExperiencedWorkerRegrets() int64 { + if m != nil { + return m.MinExperiencedWorkerRegrets + } + return 0 +} + func init() { proto.RegisterType((*Params)(nil), "emissions.v6.Params") } @@ -281,97 +290,101 @@ func init() { func init() { proto.RegisterFile("emissions/v6/params.proto", fileDescriptor_510cba56e74b19fc) } var fileDescriptor_510cba56e74b19fc = []byte{ - // 1433 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x6f, 0x14, 0xc7, - 0x13, 0xf7, 0xfe, 0x31, 0x66, 0x69, 0x8c, 0xbd, 0x9e, 0xbf, 0x31, 0xe3, 0xd7, 0xda, 0xc1, 0x24, - 0x59, 0x1c, 0xf0, 0x92, 0x20, 0x11, 0xf2, 0x38, 0x04, 0x62, 0x1b, 0xd9, 0xc2, 0xc8, 0x19, 0x3b, - 0x58, 0x22, 0x51, 0x3a, 0xed, 0x99, 0x9a, 0xd9, 0x96, 0x67, 0xba, 0x87, 0xee, 0xde, 0xf5, 0x9a, - 0x7b, 0xee, 0xf9, 0x18, 0x1c, 0x73, 0xc8, 0x87, 0xe0, 0x88, 0x72, 0x8a, 0x72, 0x40, 0x11, 0x1c, - 0xf2, 0x35, 0xa2, 0x7e, 0xcc, 0x3e, 0x0c, 0x8a, 0x22, 0x26, 0x97, 0xd5, 0x4e, 0x57, 0xd5, 0xaf, - 0x6a, 0x7e, 0x55, 0x5d, 0x55, 0x83, 0x66, 0x21, 0xa3, 0x52, 0x52, 0xce, 0x64, 0xb3, 0x73, 0xbb, - 0x99, 0x13, 0x41, 0x32, 0xb9, 0x96, 0x0b, 0xae, 0xb8, 0x37, 0xde, 0x13, 0xad, 0x75, 0x6e, 0xcf, - 0x4d, 0x91, 0x8c, 0x32, 0xde, 0x34, 0xbf, 0x56, 0x61, 0x6e, 0x36, 0xe4, 0x32, 0xe3, 0x12, 0x9b, - 0xa7, 0xa6, 0x7d, 0x70, 0xa2, 0xe9, 0x84, 0x27, 0xdc, 0x9e, 0xeb, 0x7f, 0xf6, 0xf4, 0xca, 0xb3, - 0x3a, 0x1a, 0xdb, 0x35, 0x2e, 0x3c, 0x1f, 0x9d, 0xeb, 0x80, 0xd0, 0xe8, 0x7e, 0x65, 0xb9, 0xd2, - 0x38, 0x1f, 0x14, 0x8f, 0xde, 0x67, 0x68, 0x36, 0x23, 0x5d, 0x2c, 0x41, 0x50, 0x92, 0xd2, 0xa7, - 0x10, 0xe1, 0x4c, 0x26, 0x38, 0x05, 0x96, 0xa8, 0x96, 0xff, 0xbf, 0xe5, 0x4a, 0xe3, 0x4c, 0x30, - 0x93, 0x91, 0xee, 0x5e, 0x4f, 0xbe, 0x23, 0x93, 0x07, 0x46, 0xea, 0x11, 0x54, 0xcb, 0x28, 0xc3, - 0x8a, 0xe7, 0x34, 0xc4, 0xc7, 0x40, 0x93, 0x96, 0xf2, 0xcf, 0x68, 0xf4, 0x7b, 0x9f, 0x3e, 0x7f, - 0xb9, 0x34, 0xf2, 0xc7, 0xcb, 0xa5, 0x66, 0x42, 0x55, 0xab, 0x7d, 0xb8, 0x16, 0xf2, 0xac, 0x49, - 0xd2, 0x94, 0x0b, 0x72, 0x83, 0x81, 0x3a, 0xe6, 0xe2, 0xa8, 0x78, 0x0c, 0x5b, 0x84, 0xb2, 0x66, - 0x46, 0x54, 0x6b, 0x6d, 0x1d, 0xc2, 0x60, 0x22, 0xa3, 0x6c, 0x5f, 0xe3, 0x1d, 0x18, 0x38, 0x2f, - 0x46, 0x33, 0x02, 0x9e, 0xb4, 0xa9, 0xd0, 0x71, 0x51, 0x46, 0xb3, 0x76, 0x86, 0xa5, 0x22, 0x47, - 0xe0, 0x9f, 0x35, 0x8e, 0x6e, 0x3a, 0x47, 0x97, 0x2c, 0x1d, 0x32, 0x3a, 0x5a, 0xa3, 0xdc, 0xc2, - 0x6d, 0x31, 0xf5, 0xdb, 0xaf, 0x37, 0x90, 0xe3, 0x69, 0x8b, 0xa9, 0x67, 0x7f, 0xfd, 0xb2, 0x5a, - 0x09, 0xa6, 0x0b, 0xbc, 0x1d, 0x0b, 0xb7, 0xa7, 0xd1, 0x34, 0x0b, 0x02, 0x32, 0xde, 0x01, 0x8b, - 0x8e, 0x23, 0x48, 0xc9, 0x09, 0x3e, 0xa6, 0x2c, 0xe2, 0xc7, 0xfe, 0x98, 0x65, 0xc1, 0x2a, 0x18, - 0xfd, 0x75, 0x2d, 0x3e, 0x30, 0x52, 0xaf, 0x61, 0x59, 0x80, 0x9c, 0x87, 0xad, 0x82, 0xb7, 0x73, - 0xc6, 0x42, 0xbf, 0xcc, 0x86, 0x3e, 0x76, 0x7c, 0x3d, 0x46, 0xe3, 0x87, 0xa0, 0x08, 0x06, 0xa6, - 0x04, 0xcf, 0x4f, 0xfc, 0x6a, 0x39, 0xae, 0x2e, 0x68, 0xb0, 0x0d, 0x8b, 0xe5, 0x7d, 0x8f, 0x2e, - 0xa6, 0x40, 0x04, 0xa3, 0x2c, 0xc1, 0x82, 0x28, 0xf0, 0xcf, 0x97, 0x03, 0x1f, 0x2f, 0xd0, 0x02, - 0xa2, 0xc0, 0xcb, 0x90, 0xae, 0x01, 0x9c, 0x08, 0x12, 0x51, 0x60, 0x0a, 0xab, 0x96, 0x00, 0xd9, - 0xe2, 0x69, 0xe4, 0xa3, 0x72, 0x6e, 0xa6, 0x33, 0xd2, 0xbd, 0xef, 0x50, 0xf7, 0x0b, 0x50, 0x0f, - 0x90, 0xa7, 0x29, 0xb5, 0xa9, 0x88, 0x05, 0x09, 0x95, 0x2e, 0xdc, 0x0b, 0xe5, 0x5c, 0xe9, 0x2c, - 0x99, 0xe4, 0x6d, 0x3a, 0x40, 0x6f, 0x03, 0x2d, 0xe9, 0xb7, 0x6a, 0xb3, 0xb8, 0x9d, 0xc6, 0x34, - 0x4d, 0x21, 0xc2, 0xda, 0x1e, 0x04, 0xd6, 0x35, 0x02, 0x52, 0x49, 0xff, 0xe2, 0x72, 0xa5, 0x31, - 0x1a, 0x2c, 0x64, 0xa4, 0xfb, 0x6d, 0x5f, 0xeb, 0xc0, 0x28, 0x05, 0x4e, 0xc7, 0xbb, 0x8f, 0x96, - 0x4f, 0xc3, 0x08, 0xc8, 0xdb, 0x6a, 0x10, 0x67, 0xc2, 0xe0, 0x2c, 0x0e, 0xe3, 0x04, 0x56, 0xab, - 0x07, 0xf4, 0x14, 0x2d, 0xda, 0xbb, 0x24, 0xe0, 0x98, 0x88, 0xc8, 0xbd, 0x3f, 0xcd, 0x72, 0x2e, - 0x14, 0x61, 0x21, 0xf8, 0x93, 0xe5, 0x18, 0x98, 0x33, 0xe8, 0x81, 0x01, 0x37, 0x4c, 0x6c, 0xf5, - 0xa0, 0xbd, 0x9f, 0x2a, 0x68, 0x65, 0xc8, 0x79, 0x0c, 0x80, 0x05, 0x74, 0x80, 0xb5, 0x87, 0x42, - 0xa8, 0x95, 0x0b, 0x61, 0x69, 0x20, 0x84, 0x4d, 0x80, 0xc0, 0x3a, 0x18, 0x88, 0x03, 0x90, 0x37, - 0x14, 0x06, 0x49, 0xf3, 0x16, 0xf1, 0xa7, 0x4a, 0xa6, 0x7e, 0xc0, 0xeb, 0x5d, 0x0d, 0xe8, 0x85, - 0x68, 0x4a, 0x11, 0x79, 0x34, 0xec, 0xc5, 0x2b, 0xe7, 0x65, 0x52, 0x23, 0x0e, 0x3a, 0xd1, 0x9c, - 0x76, 0x48, 0x4a, 0x23, 0xa2, 0xb8, 0x90, 0xb8, 0x23, 0xb1, 0x35, 0xc4, 0x39, 0x88, 0x50, 0x5f, - 0x23, 0xeb, 0xdd, 0xff, 0x7f, 0x49, 0x4e, 0xfb, 0x3e, 0x1e, 0xc9, 0xbb, 0x46, 0x65, 0xd7, 0x3a, - 0xb0, 0xc1, 0x78, 0x5f, 0xa2, 0x79, 0xd3, 0xe2, 0x49, 0x96, 0xa7, 0x20, 0xb1, 0xe2, 0x58, 0x86, - 0x24, 0x05, 0x2c, 0x43, 0x2e, 0x40, 0xfa, 0xd3, 0xa6, 0x36, 0x2f, 0xeb, 0x26, 0x6f, 0x35, 0xf6, - 0xf9, 0x9e, 0x96, 0xef, 0x19, 0xb1, 0xf7, 0x39, 0x9a, 0xd3, 0xd6, 0x8a, 0xe7, 0x98, 0xb2, 0x18, - 0x04, 0x08, 0x03, 0xe1, 0x62, 0xbf, 0x64, 0x8c, 0x75, 0x77, 0xd8, 0xe7, 0xf9, 0x96, 0x93, 0xef, - 0x73, 0xe7, 0xf9, 0x2b, 0xb4, 0x58, 0xd8, 0xc6, 0x5c, 0x40, 0x48, 0xa4, 0x1a, 0x36, 0x9f, 0x31, - 0xe6, 0xb3, 0xd6, 0x7c, 0xb3, 0xaf, 0xd2, 0x43, 0x18, 0xf0, 0xee, 0x2e, 0xd5, 0xa0, 0xf9, 0xe5, - 0x41, 0xef, 0xee, 0x3a, 0xf5, 0x6d, 0x1f, 0xa3, 0x5a, 0x28, 0x80, 0x28, 0x70, 0x23, 0x2a, 0x06, - 0xf0, 0xfd, 0x77, 0x1c, 0x1b, 0x13, 0x16, 0xc9, 0xcc, 0xa6, 0x4d, 0x00, 0xef, 0x0b, 0x34, 0xd7, - 0xeb, 0x86, 0x11, 0x48, 0x93, 0x4e, 0x1d, 0x28, 0xd5, 0x11, 0xf8, 0xb3, 0x96, 0xd2, 0x42, 0x63, - 0xdd, 0x2a, 0xec, 0x90, 0xee, 0x96, 0x16, 0x7b, 0xdf, 0xa1, 0x9a, 0x80, 0x84, 0x4a, 0x25, 0x88, - 0x6e, 0x44, 0x26, 0xb0, 0x85, 0x77, 0x0c, 0x6c, 0x72, 0x10, 0x49, 0x47, 0x76, 0x1d, 0x79, 0x11, - 0xc4, 0xa4, 0x9d, 0x2a, 0x9c, 0x93, 0x04, 0x70, 0x4a, 0x33, 0xaa, 0xfc, 0x45, 0x13, 0x51, 0xcd, - 0x49, 0x76, 0x49, 0x02, 0x0f, 0xf4, 0xb9, 0x77, 0x15, 0x4d, 0xe8, 0xb0, 0x07, 0x34, 0xeb, 0x46, - 0x73, 0x3c, 0x23, 0xdd, 0xbe, 0x96, 0xce, 0xe3, 0xa9, 0x19, 0x87, 0x05, 0x84, 0x5c, 0x44, 0xce, - 0x68, 0xc9, 0x0c, 0xbc, 0xd9, 0xe1, 0x81, 0x17, 0x18, 0x0d, 0x8b, 0xd0, 0x40, 0xb5, 0xc3, 0x94, - 0x87, 0x47, 0x52, 0x17, 0x3f, 0xce, 0x38, 0x53, 0x2d, 0x7f, 0xd9, 0x78, 0x9a, 0xb0, 0xe7, 0xbb, - 0x20, 0x76, 0xf4, 0xa9, 0xee, 0x00, 0x79, 0x71, 0x2f, 0x6d, 0xc1, 0xe9, 0xbe, 0xf3, 0x5e, 0xc9, - 0x0e, 0x90, 0xdb, 0x9a, 0xd8, 0x2a, 0x00, 0x75, 0x07, 0xe8, 0xb9, 0x29, 0x6a, 0xd3, 0xbf, 0x52, - 0xb2, 0x03, 0x38, 0x2f, 0x45, 0x21, 0xeb, 0x0d, 0xa9, 0xe7, 0xc4, 0x95, 0xaf, 0xbf, 0x52, 0x72, - 0x43, 0x72, 0x3e, 0x5c, 0xb5, 0x6b, 0xba, 0xc2, 0x37, 0xe9, 0xba, 0x5a, 0x92, 0xae, 0xf0, 0x2d, - 0x74, 0x85, 0x6f, 0xd0, 0xf5, 0x7e, 0x49, 0xba, 0xc2, 0x53, 0x74, 0x3d, 0x44, 0x63, 0x21, 0x66, - 0x5c, 0x64, 0xfe, 0x07, 0xe5, 0x90, 0xcf, 0x86, 0x0f, 0xb9, 0xc8, 0xbc, 0x1f, 0xd1, 0x24, 0xe4, - 0x92, 0xa6, 0x9c, 0xf5, 0xd8, 0x6f, 0x94, 0x64, 0xdf, 0xe1, 0x15, 0xec, 0x3f, 0x42, 0xd7, 0x5a, - 0x24, 0x8d, 0xcd, 0xd5, 0xcf, 0x05, 0x0f, 0x41, 0x4a, 0x37, 0xb6, 0xcd, 0xb6, 0x48, 0x52, 0x89, - 0x81, 0x45, 0xd8, 0x94, 0xb8, 0xbf, 0x6a, 0xea, 0x7d, 0x45, 0x1b, 0xec, 0x90, 0xee, 0xae, 0x55, - 0x37, 0x83, 0x38, 0x70, 0xca, 0x1b, 0x2c, 0xba, 0xa7, 0x55, 0x75, 0xe1, 0x14, 0x91, 0x4b, 0x12, - 0x03, 0x8e, 0x68, 0xc7, 0xff, 0xe8, 0xbf, 0x09, 0x7d, 0x8f, 0xc4, 0xb0, 0x4e, 0x3b, 0xba, 0x3b, - 0x46, 0x44, 0x11, 0x2c, 0x81, 0x45, 0x7a, 0x6b, 0xd4, 0x4d, 0xe8, 0xfa, 0xbb, 0x76, 0x47, 0x8d, - 0xb4, 0x67, 0x81, 0x74, 0x0f, 0x72, 0x1f, 0x15, 0x90, 0x42, 0x06, 0x4c, 0xd9, 0x3b, 0xdf, 0xab, - 0x9a, 0x1b, 0xbd, 0xa6, 0xbd, 0xe1, 0xe4, 0xbb, 0x20, 0x7a, 0x35, 0xe0, 0x86, 0x95, 0x5e, 0xd1, - 0x3a, 0xae, 0x71, 0x5b, 0x7b, 0xcb, 0xe1, 0x5a, 0x6f, 0x58, 0xdd, 0x35, 0x1a, 0xa6, 0x21, 0x6b, - 0x00, 0xcb, 0xdb, 0x2a, 0x9a, 0x32, 0xa3, 0x4e, 0x09, 0xfd, 0x4a, 0x6e, 0x1b, 0x6f, 0x1a, 0x9b, - 0x49, 0x3d, 0xe0, 0xcc, 0xb9, 0x5b, 0xc7, 0x39, 0xba, 0x4c, 0x19, 0x55, 0x94, 0xa4, 0x58, 0x40, - 0x22, 0x40, 0xe1, 0x27, 0x6d, 0xc2, 0x14, 0x4d, 0xc1, 0xbf, 0x59, 0x8e, 0xea, 0x4b, 0x0e, 0x37, - 0x30, 0xb0, 0xdf, 0x38, 0x54, 0xef, 0x07, 0x34, 0x99, 0x9b, 0xf2, 0xee, 0xe7, 0xf4, 0xe3, 0x92, - 0x5b, 0x7a, 0xae, 0xeb, 0xbc, 0xc8, 0xe8, 0x1d, 0xe4, 0x27, 0x29, 0x3f, 0x24, 0x29, 0x3e, 0x6e, - 0x51, 0x05, 0x29, 0x95, 0x0a, 0x03, 0x23, 0x87, 0x29, 0x44, 0xfe, 0x27, 0xcb, 0x95, 0x46, 0x35, - 0x98, 0xb1, 0xf2, 0x83, 0x42, 0xbc, 0x61, 0xa5, 0x7a, 0x13, 0xb6, 0x23, 0xd2, 0x4c, 0x39, 0x2e, - 0xde, 0x02, 0x70, 0xcb, 0x00, 0x2c, 0x18, 0xb5, 0xaf, 0xad, 0xd6, 0x69, 0x98, 0xed, 0xd1, 0xea, - 0x68, 0xed, 0xec, 0xf6, 0x68, 0x75, 0xae, 0x36, 0xbf, 0x3d, 0x5a, 0x9d, 0xaf, 0x2d, 0x6c, 0x8f, - 0x56, 0x3f, 0xac, 0x35, 0xb6, 0x47, 0xab, 0xd7, 0x6a, 0xab, 0x66, 0xd7, 0x7f, 0x23, 0xa1, 0xc1, - 0xbc, 0x19, 0x2c, 0x71, 0x0c, 0x03, 0x09, 0x2f, 0x16, 0xcf, 0x60, 0x45, 0x9b, 0x08, 0x50, 0x82, - 0xda, 0xbd, 0xc5, 0xae, 0xce, 0x98, 0x71, 0x16, 0x82, 0x74, 0xcb, 0xba, 0x8b, 0x69, 0x68, 0x61, - 0x8d, 0x20, 0x24, 0x27, 0xe6, 0x3b, 0x28, 0xb8, 0xfa, 0x8f, 0x10, 0xae, 0x2d, 0xdc, 0x0b, 0x9e, - 0xbf, 0xaa, 0x57, 0x5e, 0xbc, 0xaa, 0x57, 0xfe, 0x7c, 0x55, 0xaf, 0xfc, 0xfc, 0xba, 0x3e, 0xf2, - 0xe2, 0x75, 0x7d, 0xe4, 0xf7, 0xd7, 0xf5, 0x91, 0xc7, 0x77, 0xfe, 0x65, 0x4e, 0xba, 0xcd, 0xfe, - 0xa7, 0xbd, 0x3a, 0xc9, 0x41, 0x1e, 0x8e, 0x99, 0xaf, 0xf0, 0x5b, 0x7f, 0x07, 0x00, 0x00, 0xff, - 0xff, 0xa6, 0x80, 0xf0, 0x4b, 0xf4, 0x0f, 0x00, 0x00, + // 1504 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0x14, 0x47, + 0x12, 0xd6, 0x2c, 0x42, 0x88, 0x42, 0x48, 0xa3, 0x5e, 0x21, 0x5a, 0x7f, 0x23, 0x2d, 0x62, 0x77, + 0x07, 0x2d, 0x68, 0xd8, 0x65, 0x97, 0x65, 0x7f, 0x0e, 0x0b, 0x48, 0x22, 0xa4, 0x40, 0x84, 0xb6, + 0x25, 0xa3, 0x08, 0xec, 0x70, 0xb9, 0xd4, 0x9d, 0x3d, 0x53, 0xa1, 0xee, 0xae, 0xa6, 0xaa, 0x66, + 0x34, 0x22, 0xc2, 0x47, 0xdf, 0xfd, 0x18, 0x3e, 0xfa, 0xe0, 0x87, 0xe0, 0x48, 0xf8, 0xe4, 0xf0, + 0x81, 0x70, 0xc0, 0xc1, 0x17, 0x3f, 0x84, 0x23, 0xab, 0xaa, 0xe7, 0x07, 0x11, 0x0e, 0x07, 0xed, + 0x0b, 0xc1, 0x54, 0x7e, 0xf9, 0x65, 0xf6, 0x57, 0xd9, 0x99, 0xd9, 0x22, 0x73, 0x90, 0x72, 0xa5, + 0xb8, 0xc8, 0x54, 0xa3, 0x73, 0xb7, 0x91, 0x33, 0xc9, 0x52, 0xb5, 0x9e, 0x4b, 0xa1, 0x85, 0x37, + 0xd1, 0x33, 0xad, 0x77, 0xee, 0xce, 0x4f, 0xb3, 0x94, 0x67, 0xa2, 0x61, 0xfe, 0xb5, 0x80, 0xf9, + 0xb9, 0x50, 0xa8, 0x54, 0x28, 0x6a, 0x7e, 0x35, 0xec, 0x0f, 0x67, 0x9a, 0x69, 0x8a, 0xa6, 0xb0, + 0xe7, 0xf8, 0x3f, 0x7b, 0x7a, 0xed, 0xa7, 0x65, 0x32, 0xb6, 0x67, 0x42, 0x78, 0x3e, 0xb9, 0xd0, + 0x01, 0x89, 0xec, 0x7e, 0x65, 0xa5, 0x52, 0xbf, 0x18, 0x14, 0x3f, 0xbd, 0x7f, 0x91, 0xb9, 0x94, + 0x75, 0xa9, 0x02, 0xc9, 0x59, 0xc2, 0x5f, 0x40, 0x44, 0x53, 0xd5, 0xa4, 0x09, 0x64, 0x4d, 0xdd, + 0xf2, 0x7f, 0xb7, 0x52, 0xa9, 0x9f, 0x0b, 0x66, 0x53, 0xd6, 0xdd, 0xef, 0xd9, 0x77, 0x55, 0xf3, + 0xb1, 0xb1, 0x7a, 0x8c, 0x54, 0x53, 0x9e, 0x51, 0x2d, 0x72, 0x1e, 0xd2, 0x13, 0xe0, 0xcd, 0x96, + 0xf6, 0xcf, 0x21, 0xfb, 0x83, 0x7f, 0xbe, 0x7c, 0xbd, 0x3c, 0xf2, 0xfd, 0xeb, 0xe5, 0x46, 0x93, + 0xeb, 0x56, 0xfb, 0x68, 0x3d, 0x14, 0x69, 0x83, 0x25, 0x89, 0x90, 0xec, 0x56, 0x06, 0xfa, 0x44, + 0xc8, 0xe3, 0xe2, 0x67, 0xd8, 0x62, 0x3c, 0x6b, 0xa4, 0x4c, 0xb7, 0xd6, 0x37, 0x20, 0x0c, 0x26, + 0x53, 0x9e, 0x1d, 0x20, 0xdf, 0xa1, 0xa1, 0xf3, 0x62, 0x32, 0x2b, 0xe1, 0x79, 0x9b, 0x4b, 0xcc, + 0x8b, 0x67, 0x3c, 0x6d, 0xa7, 0x54, 0x69, 0x76, 0x0c, 0xfe, 0x79, 0x13, 0xe8, 0xb6, 0x0b, 0x74, + 0xc5, 0xca, 0xa1, 0xa2, 0xe3, 0x75, 0x2e, 0x2c, 0xdd, 0x76, 0xa6, 0xbf, 0xfd, 0xe6, 0x16, 0x71, + 0x3a, 0x6d, 0x67, 0xfa, 0xab, 0x1f, 0xbf, 0x5e, 0xab, 0x04, 0x33, 0x05, 0xdf, 0xae, 0xa5, 0xdb, + 0x47, 0x36, 0x54, 0x41, 0x42, 0x2a, 0x3a, 0x60, 0xd9, 0x69, 0x04, 0x09, 0x3b, 0xa5, 0x27, 0x3c, + 0x8b, 0xc4, 0x89, 0x3f, 0x66, 0x55, 0xb0, 0x00, 0x83, 0xdf, 0x40, 0xf3, 0xa1, 0xb1, 0x7a, 0x75, + 0xab, 0x02, 0xe4, 0x22, 0x6c, 0x15, 0xba, 0x5d, 0x30, 0x1e, 0xf8, 0x30, 0x9b, 0x78, 0xec, 0xf4, + 0x7a, 0x46, 0x26, 0x8e, 0x40, 0x33, 0x0a, 0x99, 0x96, 0x22, 0x3f, 0xf5, 0xc7, 0xcb, 0x69, 0x75, + 0x09, 0xc9, 0x36, 0x2d, 0x97, 0xf7, 0x09, 0xb9, 0x9c, 0x00, 0x93, 0x19, 0xcf, 0x9a, 0x54, 0x32, + 0x0d, 0xfe, 0xc5, 0x72, 0xe4, 0x13, 0x05, 0x5b, 0xc0, 0x34, 0x78, 0x29, 0xc1, 0x1a, 0xa0, 0x4d, + 0xc9, 0x22, 0x0e, 0x99, 0xa6, 0xba, 0x25, 0x41, 0xb5, 0x44, 0x12, 0xf9, 0xa4, 0x5c, 0x98, 0x99, + 0x94, 0x75, 0x1f, 0x39, 0xd6, 0x83, 0x82, 0xd4, 0x03, 0xe2, 0xa1, 0xa4, 0xf6, 0x2a, 0x62, 0xc9, + 0x42, 0x8d, 0x85, 0x7b, 0xa9, 0x5c, 0x28, 0xbc, 0x25, 0x73, 0x79, 0x5b, 0x8e, 0xd0, 0xdb, 0x24, + 0xcb, 0xf8, 0x54, 0xed, 0x2c, 0x6e, 0x27, 0x31, 0x4f, 0x12, 0x88, 0x28, 0xfa, 0x83, 0xa4, 0x58, + 0x23, 0xa0, 0xb4, 0xf2, 0x2f, 0xaf, 0x54, 0xea, 0xa3, 0xc1, 0x62, 0xca, 0xba, 0x1f, 0xf5, 0x51, + 0x87, 0x06, 0x14, 0x38, 0x8c, 0xf7, 0x88, 0xac, 0xbc, 0x4b, 0x23, 0x21, 0x6f, 0xeb, 0x41, 0x9e, + 0x49, 0xc3, 0xb3, 0x34, 0xcc, 0x13, 0x58, 0x54, 0x8f, 0xe8, 0x05, 0x59, 0xb2, 0xef, 0x92, 0x84, + 0x13, 0x26, 0x23, 0xf7, 0xfc, 0x3c, 0xcd, 0x85, 0xd4, 0x2c, 0x0b, 0xc1, 0x9f, 0x2a, 0xa7, 0xc0, + 0xbc, 0x61, 0x0f, 0x0c, 0xb9, 0x51, 0x62, 0xbb, 0x47, 0xed, 0x7d, 0x51, 0x21, 0xab, 0x43, 0xc1, + 0x63, 0x00, 0x2a, 0xa1, 0x03, 0x59, 0x7b, 0x28, 0x85, 0x6a, 0xb9, 0x14, 0x96, 0x07, 0x52, 0xd8, + 0x02, 0x08, 0x6c, 0x80, 0x81, 0x3c, 0x80, 0x78, 0x43, 0x69, 0xb0, 0x24, 0x6f, 0x31, 0x7f, 0xba, + 0xe4, 0xd5, 0x0f, 0x44, 0xbd, 0x8f, 0x84, 0x5e, 0x48, 0xa6, 0x35, 0x53, 0xc7, 0xc3, 0x51, 0xbc, + 0x72, 0x51, 0xa6, 0x90, 0x71, 0x30, 0x08, 0x6a, 0xda, 0x61, 0x09, 0x8f, 0x98, 0x16, 0x52, 0xd1, + 0x8e, 0xa2, 0xd6, 0x91, 0xe6, 0x20, 0x43, 0x7c, 0x8d, 0x6c, 0x74, 0xff, 0xf7, 0x25, 0x35, 0xed, + 0xc7, 0x78, 0xaa, 0xee, 0x1b, 0xc8, 0x9e, 0x0d, 0x60, 0x93, 0xf1, 0xfe, 0x4b, 0x16, 0x4c, 0x8b, + 0x67, 0x69, 0x9e, 0x80, 0xa2, 0x5a, 0x50, 0x15, 0xb2, 0x04, 0xa8, 0x0a, 0x85, 0x04, 0xe5, 0xcf, + 0x98, 0xda, 0xbc, 0x8a, 0x4d, 0xde, 0x22, 0x0e, 0xc4, 0x3e, 0xda, 0xf7, 0x8d, 0xd9, 0xfb, 0x37, + 0x99, 0x47, 0x6f, 0x2d, 0x72, 0xca, 0xb3, 0x18, 0x24, 0x48, 0x43, 0xe1, 0x72, 0xbf, 0x62, 0x9c, + 0xb1, 0x3b, 0x1c, 0x88, 0x7c, 0xdb, 0xd9, 0x0f, 0x84, 0x8b, 0xfc, 0x3f, 0xb2, 0x54, 0xf8, 0xc6, + 0x42, 0x42, 0xc8, 0x94, 0x1e, 0x76, 0x9f, 0x35, 0xee, 0x73, 0xd6, 0x7d, 0xab, 0x0f, 0xe9, 0x31, + 0x0c, 0x44, 0x77, 0x2f, 0xd5, 0xa0, 0xfb, 0xd5, 0xc1, 0xe8, 0xee, 0x75, 0xea, 0xfb, 0x3e, 0x23, + 0xd5, 0x50, 0x02, 0xd3, 0xe0, 0x46, 0x54, 0x0c, 0xe0, 0xfb, 0x1f, 0x38, 0x36, 0x26, 0x2d, 0x93, + 0x99, 0x4d, 0x5b, 0x00, 0xde, 0x7f, 0xc8, 0x7c, 0xaf, 0x1b, 0x46, 0xa0, 0xcc, 0x75, 0x62, 0xa2, + 0x1c, 0x33, 0xf0, 0xe7, 0xac, 0xa4, 0x05, 0x62, 0xc3, 0x02, 0x76, 0x59, 0x77, 0x1b, 0xcd, 0xde, + 0xc7, 0xa4, 0x2a, 0xa1, 0xc9, 0x95, 0x96, 0x0c, 0x1b, 0x91, 0x49, 0x6c, 0xf1, 0x03, 0x13, 0x9b, + 0x1a, 0x64, 0xc2, 0xcc, 0x6e, 0x12, 0x2f, 0x82, 0x98, 0xb5, 0x13, 0x4d, 0x73, 0xd6, 0x04, 0x9a, + 0xf0, 0x94, 0x6b, 0x7f, 0xc9, 0x64, 0x54, 0x75, 0x96, 0x3d, 0xd6, 0x84, 0xc7, 0x78, 0xee, 0x5d, + 0x27, 0x93, 0x98, 0xf6, 0x00, 0xb2, 0x66, 0x90, 0x13, 0x29, 0xeb, 0xf6, 0x51, 0x78, 0x8f, 0xef, + 0xcc, 0x38, 0x2a, 0x21, 0x14, 0x32, 0x72, 0x4e, 0xcb, 0x66, 0xe0, 0xcd, 0x0d, 0x0f, 0xbc, 0xc0, + 0x20, 0x2c, 0x43, 0x9d, 0x54, 0x8f, 0x12, 0x11, 0x1e, 0x2b, 0x2c, 0x7e, 0x9a, 0x8a, 0x4c, 0xb7, + 0xfc, 0x15, 0x13, 0x69, 0xd2, 0x9e, 0xef, 0x81, 0xdc, 0xc5, 0x53, 0xec, 0x00, 0x79, 0xf1, 0x5e, + 0xda, 0x82, 0xc3, 0xbe, 0xf3, 0x87, 0x92, 0x1d, 0x20, 0xb7, 0x35, 0xb1, 0x5d, 0x10, 0x62, 0x07, + 0xe8, 0x85, 0x29, 0x6a, 0xd3, 0xbf, 0x56, 0xb2, 0x03, 0xb8, 0x28, 0x45, 0x21, 0xe3, 0x86, 0xd4, + 0x0b, 0xe2, 0xca, 0xd7, 0x5f, 0x2d, 0xb9, 0x21, 0xb9, 0x18, 0xae, 0xda, 0x51, 0xae, 0xf0, 0xac, + 0x5c, 0xd7, 0x4b, 0xca, 0x15, 0xbe, 0x47, 0xae, 0xf0, 0x8c, 0x5c, 0x7f, 0x2c, 0x29, 0x57, 0xf8, + 0x8e, 0x5c, 0x4f, 0xc8, 0x58, 0x48, 0x33, 0x21, 0x53, 0xff, 0x4f, 0xe5, 0x98, 0xcf, 0x87, 0x4f, + 0x84, 0x4c, 0xbd, 0xcf, 0xc8, 0x14, 0xe4, 0x8a, 0x27, 0x22, 0xeb, 0xa9, 0x5f, 0x2f, 0xa9, 0xbe, + 0xe3, 0x2b, 0xd4, 0x7f, 0x4a, 0x6e, 0xb4, 0x58, 0x12, 0x9b, 0x57, 0x3f, 0x97, 0x22, 0x04, 0xa5, + 0xdc, 0xd8, 0x36, 0xdb, 0x22, 0x4b, 0x14, 0x85, 0x2c, 0xa2, 0xa6, 0xc4, 0xfd, 0x35, 0x53, 0xef, + 0xab, 0xe8, 0xb0, 0xcb, 0xba, 0x7b, 0x16, 0x6e, 0x06, 0x71, 0xe0, 0xc0, 0x9b, 0x59, 0xf4, 0x00, + 0xa1, 0x58, 0x38, 0x45, 0xe6, 0x8a, 0xc5, 0x40, 0x23, 0xde, 0xf1, 0xff, 0xf2, 0xdb, 0xa4, 0xbe, + 0xcf, 0x62, 0xd8, 0xe0, 0x1d, 0xec, 0x8e, 0x11, 0xd3, 0x8c, 0x2a, 0xc8, 0x22, 0xdc, 0x1a, 0xb1, + 0x09, 0xdd, 0xfc, 0xd0, 0xee, 0x88, 0x4c, 0xfb, 0x96, 0x08, 0x7b, 0x90, 0xfb, 0xa8, 0x80, 0x04, + 0x52, 0xc8, 0xb4, 0x7d, 0xe7, 0x7b, 0x55, 0x73, 0xab, 0xd7, 0xb4, 0x37, 0x9d, 0x7d, 0x0f, 0x64, + 0xaf, 0x06, 0xdc, 0xb0, 0xc2, 0x15, 0xad, 0xe3, 0x1a, 0xb7, 0xf5, 0xb7, 0x1a, 0xae, 0xf7, 0x86, + 0xd5, 0x7d, 0x83, 0x30, 0x0d, 0x19, 0x09, 0xac, 0x6e, 0x6b, 0x64, 0xda, 0x8c, 0x3a, 0x2d, 0xf1, + 0x91, 0xdc, 0x36, 0xde, 0x30, 0x3e, 0x53, 0x38, 0xe0, 0xcc, 0xb9, 0x5b, 0xc7, 0x05, 0xb9, 0xca, + 0x33, 0xae, 0x39, 0x4b, 0xa8, 0x84, 0xa6, 0x04, 0x4d, 0x9f, 0xb7, 0x59, 0xa6, 0x79, 0x02, 0xfe, + 0xed, 0x72, 0x52, 0x5f, 0x71, 0xbc, 0x81, 0xa1, 0xfd, 0xbf, 0x63, 0xf5, 0x3e, 0x25, 0x53, 0xb9, + 0x29, 0xef, 0xfe, 0x9d, 0xfe, 0xb5, 0xe4, 0x96, 0x9e, 0x63, 0x9d, 0x17, 0x37, 0x7a, 0x8f, 0xf8, + 0xcd, 0x44, 0x1c, 0xb1, 0x84, 0x9e, 0xb4, 0xb8, 0x86, 0x84, 0x2b, 0x4d, 0x21, 0x63, 0x47, 0x09, + 0x44, 0xfe, 0xdf, 0x56, 0x2a, 0xf5, 0xf1, 0x60, 0xd6, 0xda, 0x0f, 0x0b, 0xf3, 0xa6, 0xb5, 0xe2, + 0x26, 0x6c, 0x47, 0xa4, 0x99, 0x72, 0x42, 0xbe, 0x87, 0xe0, 0x8e, 0x21, 0x58, 0x34, 0xb0, 0x87, + 0x16, 0x75, 0x86, 0xe6, 0x73, 0x52, 0x8b, 0x59, 0x92, 0x1c, 0xb1, 0xf0, 0x98, 0xe2, 0x39, 0x98, + 0xcf, 0x91, 0x50, 0x40, 0x1c, 0xf3, 0x10, 0x07, 0xa1, 0xff, 0xf7, 0x72, 0xcf, 0xbb, 0x58, 0xd0, + 0x3f, 0x2e, 0xd8, 0x1f, 0xf6, 0xc9, 0xbd, 0x87, 0xa4, 0x66, 0xa6, 0x54, 0x37, 0x07, 0xc9, 0xb1, + 0x6b, 0x0d, 0xec, 0xf3, 0x78, 0x11, 0xca, 0xff, 0x87, 0x19, 0x53, 0x0b, 0x38, 0xa6, 0xfa, 0xa0, + 0x62, 0x9d, 0x37, 0x90, 0x9d, 0xd1, 0xf1, 0xd1, 0xea, 0xf9, 0x9d, 0xd1, 0xf1, 0xf9, 0xea, 0xc2, + 0xce, 0xe8, 0xf8, 0x42, 0x75, 0x71, 0x67, 0x74, 0xfc, 0xcf, 0xd5, 0xfa, 0xce, 0xe8, 0xf8, 0x8d, + 0xea, 0x9a, 0xf9, 0x5e, 0x39, 0x53, 0x94, 0x86, 0x90, 0x42, 0x1c, 0xc3, 0x40, 0xd1, 0x16, 0xcb, + 0x73, 0xb0, 0x8a, 0x2e, 0x12, 0xb4, 0xe4, 0x76, 0xf7, 0xb2, 0xeb, 0x3f, 0xcd, 0x44, 0x16, 0x82, + 0x72, 0x09, 0x3a, 0x5d, 0x87, 0x96, 0xee, 0x08, 0x42, 0x76, 0x6a, 0xbe, 0xe5, 0x82, 0xeb, 0xbf, + 0x48, 0xe1, 0x5a, 0xdb, 0x83, 0xe0, 0xe5, 0x9b, 0x5a, 0xe5, 0xd5, 0x9b, 0x5a, 0xe5, 0x87, 0x37, + 0xb5, 0xca, 0x97, 0x6f, 0x6b, 0x23, 0xaf, 0xde, 0xd6, 0x46, 0xbe, 0x7b, 0x5b, 0x1b, 0x79, 0x76, + 0xef, 0x57, 0xea, 0xdc, 0x6d, 0xf4, 0xff, 0x3c, 0xa1, 0x4f, 0x73, 0x50, 0x47, 0x63, 0xe6, 0x2f, + 0x09, 0x77, 0x7e, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xcc, 0xc0, 0xe5, 0x24, 0xb8, 0x10, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -394,6 +407,25 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.MinExperiencedWorkerRegrets != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.MinExperiencedWorkerRegrets)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xa8 + } + { + size := m.FallbackListeningCoefficient.Size() + i -= size + if _, err := m.FallbackListeningCoefficient.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xa2 if m.TopicCreatorWhitelistEnabled { i-- if m.TopicCreatorWhitelistEnabled { @@ -947,6 +979,11 @@ func (m *Params) Size() (n int) { if m.TopicCreatorWhitelistEnabled { n += 3 } + l = m.FallbackListeningCoefficient.Size() + n += 2 + l + sovParams(uint64(l)) + if m.MinExperiencedWorkerRegrets != 0 { + n += 2 + sovParams(uint64(m.MinExperiencedWorkerRegrets)) + } return n } @@ -2215,6 +2252,59 @@ func (m *Params) Unmarshal(dAtA []byte) error { } } m.TopicCreatorWhitelistEnabled = bool(v != 0) + case 52: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.FallbackListeningCoefficient.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 53: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinExperiencedWorkerRegrets", wireType) + } + m.MinExperiencedWorkerRegrets = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinExperiencedWorkerRegrets |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/x/emissions/types/params_test.go b/x/emissions/types/params_test.go index 6843df0e6..daf285582 100644 --- a/x/emissions/types/params_test.go +++ b/x/emissions/types/params_test.go @@ -55,6 +55,8 @@ func TestDefaultParams(t *testing.T) { PNormSafeDiv: alloraMath.MustNewDecFromString("8.25"), GlobalWhitelistEnabled: true, TopicCreatorWhitelistEnabled: true, + FallbackListeningCoefficient: alloraMath.MustNewDecFromString("0.5"), + MinExperiencedWorkerRegrets: int64(10), } params := DefaultParams() diff --git a/x/emissions/types/tx.pb.go b/x/emissions/types/tx.pb.go index 09d3ce230..12b676758 100644 --- a/x/emissions/types/tx.pb.go +++ b/x/emissions/types/tx.pb.go @@ -85,6 +85,8 @@ type OptionalParams struct { PNormSafeDiv []github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,49,rep,name=p_norm_safe_div,json=pNormSafeDiv,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"p_norm_safe_div"` GlobalWhitelistEnabled []bool `protobuf:"varint,50,rep,packed,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` TopicCreatorWhitelistEnabled []bool `protobuf:"varint,51,rep,packed,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` + FallbackListeningCoefficient []github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,52,rep,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"fallback_listening_coefficient"` + MinExperiencedWorkerRegrets []int64 `protobuf:"varint,53,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (m *OptionalParams) Reset() { *m = OptionalParams{} } @@ -267,6 +269,13 @@ func (m *OptionalParams) GetTopicCreatorWhitelistEnabled() []bool { return nil } +func (m *OptionalParams) GetMinExperiencedWorkerRegrets() []int64 { + if m != nil { + return m.MinExperiencedWorkerRegrets + } + return nil +} + type UpdateParamsRequest struct { Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Params *OptionalParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` @@ -3011,201 +3020,205 @@ func init() { func init() { proto.RegisterFile("emissions/v6/tx.proto", fileDescriptor_1c9dde1df4cd2521) } var fileDescriptor_1c9dde1df4cd2521 = []byte{ - // 3101 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x73, 0x1c, 0x47, - 0x15, 0xf7, 0x5a, 0x6b, 0x69, 0xf5, 0x24, 0x4b, 0xeb, 0xb6, 0x24, 0x8f, 0x56, 0x5f, 0xab, 0x95, - 0x3f, 0xd6, 0x26, 0xd6, 0x3a, 0x76, 0x12, 0x42, 0xe0, 0x80, 0x1d, 0xdb, 0x41, 0x2a, 0xdb, 0x28, - 0x23, 0x25, 0xa6, 0x9c, 0x14, 0x93, 0xd6, 0x4c, 0xef, 0xee, 0xe0, 0xf9, 0xd8, 0xf4, 0xcc, 0xae, - 0xa4, 0x54, 0x28, 0x20, 0x55, 0x39, 0x51, 0x05, 0x9c, 0x38, 0x00, 0xc5, 0x99, 0x13, 0xe5, 0x03, - 0x5c, 0x38, 0x71, 0xcc, 0x31, 0xc5, 0x89, 0xe2, 0x90, 0xa2, 0x92, 0x43, 0xae, 0xfc, 0x09, 0x54, - 0x7f, 0xcc, 0xe7, 0xce, 0xac, 0x24, 0xaf, 0x9c, 0xca, 0xc5, 0xd6, 0x74, 0xbf, 0xfe, 0xbd, 0xdf, - 0x7b, 0xfd, 0xfa, 0xf5, 0x7b, 0xad, 0x12, 0xcc, 0x12, 0xdb, 0xf4, 0x3c, 0xd3, 0x75, 0xbc, 0x46, - 0xef, 0xb5, 0x86, 0xbf, 0xbf, 0xde, 0xa1, 0xae, 0xef, 0xa2, 0xc9, 0x70, 0x78, 0xbd, 0xf7, 0x5a, - 0xe5, 0x1c, 0xb6, 0x4d, 0xc7, 0x6d, 0xf0, 0x7f, 0x85, 0x40, 0xe5, 0x82, 0xee, 0x7a, 0xb6, 0xeb, - 0x35, 0x6c, 0xaf, 0xd5, 0xe8, 0xbd, 0xcc, 0xfe, 0x93, 0x13, 0xf3, 0x62, 0x42, 0xe3, 0x5f, 0x0d, - 0xf1, 0x21, 0xa7, 0x2a, 0x31, 0x5d, 0xb7, 0x1a, 0x94, 0x74, 0xba, 0x3e, 0xa1, 0xc1, 0xb2, 0xc4, - 0xdc, 0x9e, 0x4b, 0x9f, 0x86, 0x53, 0x33, 0x2d, 0xb7, 0xe5, 0x0a, 0x38, 0xf6, 0x93, 0x18, 0xad, - 0x3d, 0x5b, 0x86, 0xa9, 0x1f, 0x77, 0x7c, 0xd3, 0x75, 0xb0, 0xb5, 0x85, 0x29, 0xb6, 0x3d, 0xa4, - 0xc0, 0x58, 0x8f, 0x50, 0x06, 0xa2, 0x14, 0xaa, 0x23, 0xf5, 0x71, 0x35, 0xf8, 0x44, 0xdf, 0x83, - 0x79, 0x1b, 0xef, 0x6b, 0x1e, 0xa1, 0x26, 0xb6, 0xcc, 0x8f, 0x88, 0xa1, 0xd9, 0x5e, 0x4b, 0xb3, - 0x88, 0xd3, 0xf2, 0xdb, 0xca, 0xe9, 0xea, 0x48, 0x7d, 0x44, 0x9d, 0xb3, 0xf1, 0xfe, 0x76, 0x38, - 0xff, 0xd0, 0x6b, 0x3d, 0xe0, 0xb3, 0x08, 0x43, 0xd9, 0x36, 0x1d, 0xcd, 0x77, 0x3b, 0xa6, 0xae, - 0xed, 0x11, 0xb3, 0xd5, 0xf6, 0x95, 0x11, 0x86, 0x7e, 0xe7, 0xbb, 0x9f, 0x7d, 0xb1, 0x72, 0xea, - 0x3f, 0x5f, 0xac, 0x34, 0x5a, 0xa6, 0xdf, 0xee, 0xee, 0xae, 0xeb, 0xae, 0xdd, 0xc0, 0x96, 0xe5, - 0x52, 0x7c, 0xdd, 0x21, 0x3e, 0x33, 0x21, 0xf8, 0xd4, 0xdb, 0xd8, 0x74, 0x1a, 0x36, 0xf6, 0xdb, - 0xeb, 0x77, 0x89, 0xae, 0x4e, 0xd9, 0xa6, 0xb3, 0xc3, 0xf0, 0x1e, 0x73, 0x38, 0xd4, 0x84, 0x39, - 0x4a, 0x3e, 0xec, 0x9a, 0x94, 0xf1, 0x32, 0x1d, 0xd3, 0xee, 0xda, 0x9a, 0xe7, 0xe3, 0xa7, 0x44, - 0x39, 0xc3, 0x15, 0xdd, 0x90, 0x8a, 0x66, 0x85, 0x37, 0x3d, 0xe3, 0xe9, 0xba, 0xe9, 0x0a, 0xb8, - 0x0d, 0xc7, 0xff, 0xd7, 0xdf, 0xae, 0x83, 0x74, 0xf3, 0x86, 0xe3, 0xff, 0xe5, 0xeb, 0x67, 0xd7, - 0x0a, 0xea, 0x4c, 0x80, 0xf7, 0x50, 0xc0, 0x6d, 0x33, 0x34, 0xe6, 0x05, 0x4a, 0x6c, 0xb7, 0x47, - 0x04, 0xba, 0x66, 0x10, 0x0b, 0x1f, 0x68, 0x7b, 0xa6, 0x63, 0xb8, 0x7b, 0xca, 0xa8, 0xf0, 0x82, - 0x10, 0xe0, 0xf2, 0x77, 0xd9, 0xf4, 0x63, 0x3e, 0x8b, 0xea, 0xc2, 0x0b, 0xa4, 0xe3, 0xea, 0xed, - 0xc0, 0x6f, 0x63, 0x7c, 0x05, 0x33, 0xe6, 0x1e, 0x1b, 0x96, 0xfe, 0x7a, 0x02, 0x93, 0xbb, 0xc4, - 0xc7, 0x1a, 0x71, 0x7c, 0xea, 0x76, 0x0e, 0x94, 0xd2, 0x70, 0xbe, 0x9a, 0x60, 0x60, 0xf7, 0x04, - 0x16, 0x7a, 0x1f, 0xce, 0x5a, 0x04, 0x53, 0xc7, 0x74, 0x5a, 0x1a, 0xc5, 0x3e, 0x51, 0xc6, 0x87, - 0x03, 0x9f, 0x0c, 0xd0, 0x54, 0xec, 0x13, 0x64, 0x03, 0x8b, 0x01, 0xad, 0x45, 0xb1, 0x61, 0x12, - 0xc7, 0xd7, 0xfc, 0x36, 0x25, 0x5e, 0xdb, 0xb5, 0x0c, 0x05, 0x86, 0x53, 0x33, 0x63, 0xe3, 0xfd, - 0xb7, 0x24, 0xea, 0x4e, 0x00, 0x8a, 0x08, 0x20, 0xe6, 0x52, 0xb1, 0x15, 0x4d, 0x8a, 0x75, 0x16, - 0xcb, 0xca, 0xc4, 0x70, 0xaa, 0xd8, 0x2e, 0xf1, 0xcd, 0xbb, 0x2f, 0x01, 0xd1, 0x3d, 0x58, 0x61, - 0x56, 0x75, 0x9d, 0x66, 0xd7, 0x6a, 0x9a, 0x96, 0x45, 0x0c, 0x4d, 0x9c, 0x2e, 0x8d, 0xc5, 0x08, - 0xf1, 0x7c, 0x4f, 0x39, 0x5b, 0x1d, 0xa9, 0x17, 0xd5, 0x45, 0x1b, 0xef, 0xbf, 0x13, 0x49, 0x3d, - 0xe6, 0x42, 0xaa, 0x94, 0x41, 0x6f, 0x41, 0x35, 0x0d, 0x23, 0x0f, 0x70, 0x84, 0x33, 0xc5, 0x71, - 0x96, 0x92, 0x38, 0xaa, 0x90, 0x0a, 0x81, 0x3e, 0x82, 0x25, 0x71, 0x96, 0x28, 0xd9, 0xc3, 0xd4, - 0x90, 0xf6, 0x9b, 0x76, 0xc7, 0xa5, 0x3e, 0x76, 0x74, 0xa2, 0x4c, 0x0f, 0xe7, 0x81, 0x0a, 0x47, - 0x57, 0x39, 0x38, 0xf7, 0xc4, 0x46, 0x08, 0x8d, 0x3e, 0x2d, 0xc0, 0x5a, 0x42, 0x79, 0x93, 0x10, - 0x8d, 0x92, 0x1e, 0x71, 0xba, 0x09, 0x0a, 0xe5, 0xe1, 0x28, 0xac, 0xc4, 0x28, 0xdc, 0x27, 0x44, - 0x15, 0x0a, 0x62, 0x3c, 0x08, 0xa0, 0x04, 0x0d, 0x6c, 0x75, 0xda, 0x58, 0x39, 0x37, 0xe4, 0xd6, - 0xc7, 0xb4, 0xde, 0x66, 0x80, 0x48, 0x87, 0x73, 0x3e, 0xf6, 0x9e, 0x26, 0xb5, 0xa0, 0xe1, 0xb4, - 0x4c, 0x33, 0xc4, 0xb8, 0x12, 0xe6, 0xd3, 0x1e, 0xb6, 0x4c, 0x03, 0xfb, 0x2e, 0xf5, 0xb4, 0x9e, - 0xa7, 0x89, 0x85, 0x5a, 0x87, 0x50, 0x9d, 0x1d, 0x23, 0xa1, 0x5d, 0x39, 0x3f, 0xa4, 0x4f, 0x23, - 0x1d, 0xef, 0x7a, 0xb7, 0xb9, 0xc8, 0x96, 0x50, 0x20, 0xc8, 0xa0, 0x1f, 0xc0, 0x02, 0x4f, 0xf1, - 0xd8, 0xee, 0x58, 0xc4, 0xd3, 0x7c, 0x57, 0xf3, 0x74, 0x6c, 0x11, 0xcd, 0xd3, 0x5d, 0x4a, 0x3c, - 0x65, 0x86, 0xc7, 0xe6, 0x05, 0x96, 0xe4, 0x85, 0xc4, 0x8e, 0xbb, 0xcd, 0xe6, 0xb7, 0xf9, 0x34, - 0x7a, 0x03, 0x2a, 0x6c, 0xb5, 0xef, 0x76, 0x34, 0xd3, 0x69, 0x12, 0x4a, 0x28, 0x87, 0x90, 0xdc, - 0x67, 0xf9, 0x62, 0x96, 0x1d, 0x76, 0xdc, 0xce, 0x86, 0x9c, 0xdf, 0x71, 0xa5, 0xe6, 0x1f, 0xc2, - 0x52, 0xb0, 0xb6, 0xe9, 0x52, 0xa2, 0x63, 0xcf, 0x4f, 0x2e, 0x9f, 0xe3, 0xcb, 0xe7, 0xc5, 0xf2, - 0xfb, 0x91, 0x48, 0x88, 0x10, 0xd3, 0x2e, 0x0f, 0x55, 0x7c, 0xf9, 0x85, 0xb8, 0x76, 0x79, 0x9c, - 0xa2, 0xb5, 0x4f, 0xa0, 0xac, 0x53, 0x82, 0x7d, 0x22, 0xaf, 0xa8, 0x26, 0x21, 0x8a, 0xf2, 0x9c, - 0xd7, 0xc6, 0x94, 0x40, 0xe2, 0x77, 0xd3, 0x7d, 0x42, 0xd0, 0xf7, 0xa1, 0x12, 0x66, 0x43, 0x83, - 0x78, 0x7c, 0x3b, 0x19, 0x51, 0x93, 0x31, 0x50, 0xe6, 0x85, 0x4b, 0x03, 0x89, 0xbb, 0x42, 0xe0, - 0x21, 0xde, 0xdf, 0x60, 0xd3, 0xe8, 0x3d, 0x28, 0x53, 0xd2, 0x32, 0x3d, 0x9f, 0x62, 0x96, 0x88, - 0x38, 0xb1, 0xc5, 0xe7, 0x24, 0x36, 0x1d, 0x47, 0x62, 0xcc, 0x5e, 0x02, 0x64, 0x90, 0x26, 0xee, - 0x5a, 0xbe, 0xd6, 0xc1, 0x2d, 0xa2, 0x59, 0xa6, 0x6d, 0xfa, 0xca, 0x12, 0x67, 0x54, 0x96, 0x33, - 0x5b, 0xb8, 0x45, 0x1e, 0xb0, 0x71, 0x74, 0x11, 0xa6, 0x18, 0xed, 0x98, 0xe4, 0x32, 0x97, 0x9c, - 0xb4, 0xf1, 0x7e, 0x24, 0xc5, 0xf6, 0x31, 0x75, 0xc7, 0x69, 0x94, 0xe8, 0x2e, 0x35, 0xe4, 0xa2, - 0x15, 0x7e, 0xe1, 0xcd, 0x27, 0x2f, 0x3c, 0x95, 0x4b, 0x08, 0x84, 0x3a, 0x94, 0x77, 0x2d, 0x57, - 0x7f, 0xea, 0xb1, 0xe0, 0xd7, 0x6c, 0xd7, 0xf1, 0xdb, 0x4a, 0x95, 0x6b, 0x9a, 0x12, 0xe3, 0x5b, - 0x84, 0x3e, 0x64, 0xa3, 0x2c, 0x03, 0x74, 0x82, 0x73, 0x29, 0x02, 0x8e, 0xe5, 0x9d, 0xd5, 0x21, - 0x33, 0x40, 0x47, 0xc4, 0xc4, 0x46, 0x00, 0xc8, 0x32, 0x40, 0xa8, 0x26, 0x88, 0x4d, 0xa5, 0x36, - 0x64, 0x06, 0x90, 0x5a, 0x82, 0x40, 0x66, 0x15, 0x52, 0xa8, 0x44, 0x86, 0xaf, 0xb2, 0x36, 0x64, - 0x85, 0x24, 0x75, 0xc8, 0x68, 0x67, 0xee, 0xd2, 0xfb, 0xdd, 0x75, 0x71, 0x48, 0x77, 0xe9, 0x19, - 0xee, 0xd2, 0xfb, 0xdc, 0x75, 0x69, 0x48, 0x77, 0xe9, 0x29, 0x77, 0x3d, 0x82, 0x51, 0x5d, 0x73, - 0x5c, 0x6a, 0x2b, 0x97, 0x87, 0x43, 0x3e, 0xa3, 0x3f, 0x72, 0xa9, 0x8d, 0x3e, 0x80, 0x69, 0xd2, - 0xf1, 0x4c, 0xcb, 0x75, 0x42, 0xef, 0xd7, 0x87, 0xf4, 0xbe, 0xc4, 0x0b, 0xbc, 0xff, 0x2e, 0x5c, - 0x6d, 0x63, 0xab, 0xc9, 0x8f, 0x7e, 0x87, 0xba, 0x3a, 0xf1, 0x3c, 0x79, 0x6d, 0xf3, 0x6a, 0x11, - 0x5b, 0x9e, 0x46, 0x1c, 0x43, 0xe3, 0x21, 0xae, 0x5c, 0xe3, 0xf1, 0xbe, 0xc6, 0x16, 0x3c, 0xc4, - 0xfb, 0x5b, 0x42, 0x9c, 0x5f, 0xc4, 0xaa, 0x14, 0xbe, 0xe7, 0x18, 0x77, 0x98, 0x28, 0x4b, 0x5d, - 0x06, 0xf6, 0xb1, 0xe6, 0x11, 0xc7, 0x60, 0x25, 0x1d, 0xcb, 0x10, 0xdf, 0x79, 0xde, 0xd4, 0xc5, - 0x90, 0xb6, 0x05, 0x10, 0x4b, 0x10, 0x18, 0xca, 0x81, 0x57, 0x3c, 0xdc, 0x24, 0x9a, 0x61, 0xf6, - 0x94, 0x97, 0x4e, 0xc6, 0x2d, 0xdb, 0xb8, 0x49, 0xee, 0x9a, 0xbd, 0xa0, 0xa9, 0x20, 0x16, 0xb1, - 0x89, 0xe3, 0x8b, 0x33, 0x1f, 0x46, 0xcd, 0xf5, 0x30, 0x69, 0xdf, 0x93, 0xf3, 0x5b, 0x84, 0x86, - 0x31, 0x20, 0x2f, 0x2b, 0x56, 0xa2, 0xf5, 0x64, 0xe2, 0x16, 0xeb, 0x85, 0x0f, 0xd7, 0xc3, 0xcb, - 0xea, 0x36, 0x97, 0xe0, 0x09, 0x99, 0x01, 0x08, 0xbf, 0x5d, 0x83, 0x73, 0xfc, 0xaa, 0xf3, 0x29, - 0xf3, 0x9a, 0xac, 0xc6, 0x1b, 0x7c, 0xcd, 0x34, 0xbb, 0xe0, 0xf8, 0xb8, 0x2c, 0xc7, 0x5d, 0xb8, - 0x60, 0x3a, 0xa6, 0x6f, 0x62, 0x4b, 0xa3, 0xa4, 0x45, 0x89, 0xaf, 0x7d, 0xd8, 0xc5, 0x8e, 0x6f, - 0x5a, 0x44, 0xb9, 0x31, 0x9c, 0x3b, 0x66, 0x25, 0xae, 0xca, 0x61, 0xdf, 0x96, 0xa8, 0xe8, 0xa7, - 0x30, 0xdd, 0xe1, 0xe1, 0x1d, 0xf9, 0xfd, 0xe5, 0x21, 0xab, 0xf4, 0x0e, 0x8b, 0xf3, 0xc0, 0xeb, - 0xaf, 0x83, 0xd2, 0xb2, 0xdc, 0x5d, 0x6c, 0x69, 0x7b, 0x6d, 0xd3, 0x27, 0x96, 0xe9, 0xf9, 0x1a, - 0x71, 0xf0, 0xae, 0x45, 0x0c, 0xe5, 0x66, 0x75, 0xa4, 0x5e, 0x52, 0xe7, 0xc4, 0xfc, 0xe3, 0x60, - 0xfa, 0x9e, 0x98, 0x65, 0x95, 0xb0, 0xb8, 0x22, 0xf9, 0x2d, 0xe7, 0xd2, 0x0c, 0x80, 0x5b, 0x1c, - 0x60, 0x91, 0x8b, 0xbd, 0x29, 0xa4, 0xd2, 0x30, 0x9b, 0xc5, 0x52, 0xb1, 0x7c, 0x66, 0xb3, 0x58, - 0xaa, 0x94, 0x17, 0x36, 0x8b, 0xa5, 0x85, 0xf2, 0xe2, 0x66, 0xb1, 0x74, 0xa5, 0x5c, 0xdf, 0x2c, - 0x96, 0xae, 0x96, 0xaf, 0xf1, 0x5a, 0xbf, 0x6f, 0x43, 0xd5, 0x05, 0x7e, 0xb1, 0x34, 0x9b, 0x24, - 0xb6, 0xe1, 0x41, 0xe1, 0xa9, 0xae, 0xb1, 0x25, 0x94, 0xf8, 0xd4, 0x14, 0x75, 0x8b, 0x28, 0x9d, - 0x35, 0xc7, 0x75, 0x74, 0xe2, 0xc9, 0x62, 0x5d, 0x72, 0x4a, 0x14, 0xac, 0x06, 0xd1, 0xf1, 0x01, - 0xef, 0x83, 0xd4, 0x8b, 0x03, 0x21, 0x64, 0x5a, 0xa8, 0x75, 0xe0, 0xfc, 0x3b, 0x1d, 0x03, 0xfb, - 0x44, 0xf4, 0xcb, 0xb2, 0x24, 0x47, 0x73, 0x30, 0xca, 0x4e, 0x20, 0xa1, 0x4a, 0xa1, 0x5a, 0xa8, - 0x8f, 0xab, 0xf2, 0x0b, 0xbd, 0x02, 0xa3, 0x1d, 0x2e, 0xa8, 0x9c, 0xae, 0x16, 0xea, 0x13, 0x37, - 0x17, 0xd7, 0xe3, 0x8f, 0x02, 0xeb, 0xc9, 0xe6, 0x5b, 0x95, 0xb2, 0x6f, 0x4c, 0x7c, 0xf2, 0xf5, - 0xb3, 0x6b, 0x12, 0xa2, 0x36, 0x07, 0x33, 0x49, 0x8d, 0x5e, 0xc7, 0x75, 0x3c, 0x52, 0xfb, 0xfb, - 0x38, 0xcc, 0x72, 0xff, 0x92, 0x47, 0x64, 0x6f, 0x47, 0xd4, 0xad, 0x82, 0x8c, 0x02, 0x63, 0x72, - 0x7b, 0x24, 0x9b, 0xe0, 0x13, 0x55, 0xa0, 0x64, 0x13, 0x1f, 0xb3, 0x73, 0xce, 0x09, 0x8d, 0xab, - 0xe1, 0x37, 0x5a, 0x81, 0x09, 0xcb, 0xf5, 0x3c, 0xcd, 0x26, 0x7e, 0xdb, 0x35, 0x94, 0x22, 0x9f, - 0x06, 0x36, 0xf4, 0x90, 0x8f, 0xa0, 0x55, 0x98, 0x4c, 0xf5, 0xae, 0x85, 0xfa, 0x88, 0x3a, 0x41, - 0x62, 0x8d, 0x6b, 0x1d, 0xca, 0x2d, 0xea, 0x76, 0x1d, 0x43, 0xf3, 0x69, 0xd7, 0x6f, 0x6b, 0x16, - 0x6e, 0x29, 0x25, 0x2e, 0x36, 0x25, 0xc6, 0x77, 0xd8, 0xf0, 0x03, 0xdc, 0x62, 0x19, 0x5c, 0x84, - 0xb8, 0x02, 0x4c, 0xd1, 0x10, 0x19, 0x9c, 0x47, 0x36, 0x6b, 0x99, 0x79, 0x6d, 0x2e, 0x4f, 0xa8, - 0x32, 0x31, 0x1c, 0xea, 0x04, 0x07, 0x13, 0xc7, 0x12, 0x5d, 0x82, 0x29, 0x26, 0xb5, 0xa7, 0x39, - 0xa4, 0x85, 0x59, 0xf0, 0x29, 0x93, 0xd5, 0x42, 0xbd, 0xa4, 0x9e, 0xe5, 0xa3, 0x8f, 0xe4, 0x20, - 0x7a, 0x1b, 0xc6, 0x64, 0x76, 0x53, 0xce, 0x0e, 0xa7, 0x3d, 0xc0, 0x61, 0x07, 0x55, 0x36, 0x9a, - 0x5e, 0x77, 0x57, 0x06, 0x4e, 0xf0, 0xd8, 0x30, 0xc5, 0xfd, 0x3a, 0x27, 0xe6, 0xb7, 0xc3, 0x69, - 0xf9, 0xd8, 0xf0, 0x14, 0x66, 0x6d, 0x42, 0x4d, 0x5f, 0xf3, 0x5c, 0xea, 0x9b, 0xbc, 0x78, 0x14, - 0xbd, 0xcb, 0xf4, 0x70, 0xd4, 0xce, 0x73, 0xd4, 0xed, 0x00, 0x54, 0xf4, 0x2f, 0x2e, 0x5c, 0x90, - 0x69, 0x58, 0x16, 0xfe, 0x51, 0x82, 0x2c, 0x0f, 0xa7, 0x6e, 0x56, 0xe0, 0xca, 0x7e, 0x21, 0x4c, - 0x90, 0x5d, 0xa8, 0x48, 0x85, 0x51, 0xb7, 0x10, 0xe9, 0x3c, 0x37, 0x9c, 0x4e, 0x45, 0x40, 0x47, - 0x4d, 0x46, 0xa8, 0x36, 0xb2, 0x33, 0xe8, 0xdb, 0x43, 0x9d, 0xe8, 0x44, 0xec, 0x94, 0xd5, 0x42, - 0xa8, 0xf0, 0x35, 0xb8, 0x20, 0xd2, 0x6a, 0xf0, 0xde, 0x10, 0xa6, 0x5b, 0xe5, 0x3c, 0x0f, 0xc1, - 0x59, 0x31, 0x2d, 0x1e, 0x1a, 0xc2, 0x34, 0xcb, 0xe2, 0x46, 0xae, 0x0b, 0x88, 0x46, 0x0b, 0x67, - 0xf8, 0xc2, 0x39, 0x31, 0x2f, 0x15, 0x86, 0x2b, 0xdf, 0x98, 0x64, 0xa9, 0x27, 0xc8, 0x17, 0x9b, - 0xc5, 0xd2, 0x48, 0xb9, 0xb8, 0x59, 0x2c, 0x9d, 0x29, 0x8f, 0x6e, 0x16, 0x4b, 0xa3, 0xe5, 0xb1, - 0xcd, 0x62, 0x69, 0xbc, 0x0c, 0x22, 0x2d, 0x68, 0x96, 0xdb, 0x32, 0x75, 0x75, 0x3a, 0x2c, 0x26, - 0xe5, 0x40, 0x39, 0x1a, 0x10, 0xb9, 0x44, 0x9d, 0x08, 0xfa, 0x0c, 0x4c, 0x5b, 0xb5, 0x5b, 0x30, - 0x97, 0x4e, 0x5b, 0x22, 0xa3, 0xa1, 0x79, 0x28, 0x89, 0x0c, 0x6d, 0x1a, 0x3c, 0x71, 0x15, 0xd5, - 0x31, 0xfe, 0xbd, 0x61, 0xd4, 0x7e, 0x5f, 0x80, 0x85, 0x0d, 0xc7, 0x23, 0xd4, 0x97, 0x8c, 0xb7, - 0xf0, 0x81, 0xe5, 0x62, 0xe3, 0xb0, 0xfc, 0xab, 0xc2, 0x4c, 0xe0, 0x81, 0x1e, 0xb6, 0xba, 0x44, - 0xdb, 0xed, 0x3a, 0x86, 0x45, 0x64, 0x36, 0xae, 0xc6, 0xb3, 0xf1, 0xad, 0x75, 0x09, 0xfd, 0x2e, - 0x13, 0xbc, 0xc3, 0xe5, 0x54, 0x44, 0xfb, 0xc6, 0x92, 0xd9, 0x79, 0x19, 0x16, 0xb3, 0x79, 0xc9, - 0x2c, 0xfd, 0xdb, 0x02, 0x54, 0x84, 0x80, 0xd8, 0xa3, 0x23, 0xf2, 0x7e, 0x00, 0x48, 0xee, 0x38, - 0xaf, 0xee, 0x12, 0xac, 0x97, 0x93, 0xac, 0x05, 0xee, 0x5d, 0xec, 0x63, 0xc9, 0xb9, 0xbc, 0x97, - 0x1a, 0x49, 0x32, 0x5e, 0x0a, 0x3c, 0x99, 0x22, 0x24, 0x09, 0xff, 0xb5, 0x00, 0xd3, 0x2a, 0xef, - 0x14, 0xc3, 0x07, 0xa7, 0x5c, 0x96, 0xf1, 0x0d, 0x2b, 0x26, 0x36, 0x0c, 0xcd, 0xc0, 0x19, 0x77, - 0xcf, 0x21, 0x54, 0x39, 0xc3, 0x57, 0x88, 0x0f, 0xb4, 0x04, 0x60, 0x86, 0x77, 0xa9, 0x32, 0xca, - 0x23, 0x71, 0xdc, 0xf4, 0xa4, 0xef, 0x12, 0x3c, 0x37, 0x8b, 0xa5, 0xd3, 0xe5, 0x11, 0x11, 0x81, - 0xea, 0x84, 0x65, 0xee, 0x6a, 0x9d, 0x9b, 0x1d, 0xed, 0x29, 0x39, 0x50, 0xcf, 0xda, 0x5d, 0xcb, - 0x37, 0x35, 0x6c, 0x18, 0x94, 0x78, 0x5e, 0xed, 0x3e, 0x94, 0x23, 0xbe, 0x32, 0x92, 0x14, 0x18, - 0xf3, 0xba, 0x3a, 0xab, 0x9a, 0x39, 0xe3, 0x92, 0x1a, 0x7c, 0xb2, 0x19, 0x9b, 0x78, 0x1e, 0x6e, - 0x11, 0x79, 0x01, 0x06, 0x9f, 0xb5, 0x8f, 0x60, 0x9e, 0x57, 0xd7, 0x44, 0x8d, 0xf5, 0xc9, 0xc7, - 0xf1, 0xc0, 0xe9, 0xa4, 0x07, 0x92, 0xb6, 0x8e, 0x0c, 0xb2, 0xb5, 0xb6, 0x05, 0x95, 0x2c, 0xdd, - 0x43, 0x58, 0xf3, 0xc7, 0x02, 0x4c, 0xdf, 0x36, 0x0c, 0xd9, 0x34, 0x3c, 0xb7, 0x11, 0x3f, 0x82, - 0x51, 0x6c, 0xbb, 0x5d, 0xc7, 0xe7, 0x06, 0x3c, 0x4f, 0x53, 0x21, 0xd7, 0x27, 0xed, 0x45, 0x50, - 0x8e, 0xc8, 0xc9, 0xc0, 0xfb, 0x73, 0x01, 0x90, 0x1a, 0xbd, 0x9c, 0x7f, 0xfb, 0x48, 0xcf, 0xc2, - 0xf9, 0x04, 0x3f, 0xc9, 0xfb, 0x09, 0x28, 0x6f, 0x62, 0x47, 0x27, 0xd6, 0x89, 0x90, 0x4f, 0xaa, - 0x5c, 0x80, 0xf9, 0x0c, 0x6c, 0xa9, 0xf8, 0x1f, 0x05, 0x98, 0xb9, 0x4b, 0x2c, 0x56, 0x7e, 0x0c, - 0xed, 0x32, 0x05, 0xc6, 0xe2, 0x91, 0x3a, 0xae, 0x06, 0x9f, 0x31, 0x67, 0x16, 0x4f, 0xd2, 0x99, - 0x17, 0x60, 0x36, 0xc5, 0x5d, 0x5a, 0xf5, 0xcf, 0x42, 0x70, 0x16, 0x8e, 0x65, 0x5b, 0xcc, 0x80, - 0xd3, 0x49, 0x03, 0xe2, 0x56, 0x8f, 0xe4, 0x05, 0xca, 0x89, 0xda, 0xb6, 0x04, 0x0b, 0x99, 0x16, - 0x48, 0x0b, 0xff, 0x50, 0x80, 0x6a, 0x7c, 0x57, 0x4f, 0x6a, 0x0f, 0x17, 0x61, 0xdc, 0x10, 0x50, - 0x6e, 0xb0, 0x8b, 0xd1, 0x40, 0xdc, 0x41, 0xc5, 0x84, 0x83, 0x92, 0xdc, 0xd7, 0x60, 0x75, 0x00, - 0x37, 0x69, 0x41, 0x8f, 0x6d, 0xd1, 0x1e, 0xa6, 0xc6, 0x0b, 0x0f, 0xbf, 0x0c, 0xc7, 0x66, 0xe8, - 0x95, 0xb4, 0xfe, 0x54, 0x80, 0xf2, 0x7d, 0xd6, 0x64, 0xc4, 0x9b, 0xa1, 0x6f, 0x4f, 0xfe, 0x38, - 0x0f, 0xe7, 0x62, 0xec, 0x24, 0xe7, 0xf7, 0xa0, 0x72, 0xdb, 0x30, 0x76, 0xdc, 0xb0, 0x02, 0xbb, - 0x6d, 0xd8, 0xa6, 0x73, 0x84, 0x68, 0x97, 0xd7, 0x5f, 0x10, 0xed, 0xf2, 0xb3, 0xcf, 0x5f, 0x99, - 0xe0, 0x52, 0xf7, 0x07, 0xb0, 0x22, 0x76, 0xf9, 0x3e, 0x75, 0xed, 0x17, 0x42, 0xa0, 0x06, 0xd5, - 0x7c, 0x0d, 0x92, 0x85, 0x0e, 0xab, 0xe2, 0x59, 0x40, 0xfc, 0x3a, 0x37, 0x59, 0xc9, 0x9e, 0x54, - 0x22, 0xbd, 0x08, 0xb5, 0x41, 0x4a, 0x24, 0x15, 0x03, 0x6a, 0x77, 0x4d, 0xef, 0x45, 0x73, 0xb9, - 0x04, 0x6b, 0x03, 0xb5, 0x44, 0x64, 0x62, 0x94, 0xd3, 0x85, 0xfa, 0x09, 0x92, 0x19, 0xa8, 0x45, - 0x92, 0x21, 0x49, 0xce, 0x2f, 0x8a, 0xcd, 0x65, 0xb8, 0x38, 0x58, 0x8d, 0xa4, 0xf3, 0xbe, 0x0c, - 0xec, 0xb7, 0x92, 0xaf, 0x54, 0x27, 0x14, 0xb5, 0xcb, 0xb0, 0x98, 0x8d, 0x2e, 0xb5, 0xe3, 0x78, - 0x54, 0xbf, 0x18, 0x0a, 0x6b, 0xb0, 0x3a, 0x40, 0x85, 0xe4, 0xb1, 0x0b, 0xab, 0x9c, 0xe7, 0x4e, - 0xd6, 0x53, 0xdb, 0x09, 0x11, 0xb9, 0x08, 0xb5, 0x41, 0x3a, 0x24, 0x93, 0x16, 0x5c, 0x8e, 0xe8, - 0xbe, 0x48, 0x3a, 0x57, 0xe1, 0xca, 0xa1, 0x8a, 0x24, 0xa7, 0x8f, 0xa1, 0x1a, 0x31, 0x3f, 0xe6, - 0x51, 0xce, 0x65, 0x33, 0xa0, 0x9a, 0xe8, 0xdb, 0xc0, 0x01, 0xda, 0x25, 0xc5, 0x5f, 0x15, 0xe0, - 0x52, 0xca, 0x9c, 0x6f, 0x9c, 0x68, 0xbd, 0x6f, 0xeb, 0xf2, 0xd8, 0xfe, 0x3c, 0x6e, 0xd2, 0x71, - 0x33, 0xc0, 0xf0, 0x44, 0x13, 0x91, 0x98, 0x9b, 0x19, 0x3e, 0x29, 0xf4, 0xd9, 0xf3, 0xcd, 0x53, - 0xed, 0x8f, 0xd2, 0x3c, 0xbe, 0x37, 0xff, 0xa7, 0x00, 0x3c, 0xf4, 0x5a, 0xdb, 0x84, 0xf6, 0x4c, - 0x9d, 0xa0, 0x77, 0x60, 0x32, 0xfe, 0xd8, 0x8b, 0x56, 0x93, 0xef, 0xc5, 0x19, 0x4f, 0xcf, 0x95, - 0xda, 0x20, 0x11, 0xd9, 0x41, 0xbe, 0x07, 0x53, 0xc9, 0x37, 0x17, 0xb4, 0x96, 0x5c, 0x95, 0xf9, - 0x90, 0x5c, 0xb9, 0x38, 0x58, 0x48, 0x82, 0x6f, 0x40, 0x29, 0x68, 0xc0, 0xd1, 0x52, 0x72, 0x45, - 0xea, 0x21, 0xa1, 0xb2, 0x9c, 0x37, 0x2d, 0xa1, 0x5a, 0x41, 0x0b, 0x18, 0xef, 0x83, 0xd1, 0x95, - 0xf4, 0xaa, 0x9c, 0x2e, 0xbd, 0x52, 0x3f, 0x5c, 0x30, 0xe2, 0x1c, 0x34, 0xa0, 0x69, 0xce, 0xa9, - 0xae, 0x39, 0xcd, 0x39, 0xdd, 0xb7, 0x22, 0x15, 0x26, 0x62, 0xdd, 0x19, 0xaa, 0x66, 0x71, 0x48, - 0x00, 0xae, 0x0e, 0x90, 0x90, 0x98, 0x06, 0x9c, 0xeb, 0xeb, 0xfb, 0xd0, 0xe5, 0xd4, 0x6e, 0xe4, - 0x34, 0x9d, 0x95, 0x2b, 0x87, 0xca, 0x49, 0x2d, 0x3f, 0x81, 0xb3, 0x89, 0x42, 0x1a, 0xa5, 0x42, - 0x29, 0xab, 0xba, 0xaf, 0xac, 0x0d, 0x94, 0x91, 0xc8, 0x3f, 0x63, 0xad, 0x72, 0x5f, 0xa1, 0x8e, - 0xfa, 0xf6, 0x27, 0xaf, 0x87, 0xa8, 0x5c, 0x3d, 0x82, 0x64, 0x5c, 0x57, 0x5f, 0xaf, 0x82, 0x32, - 0x63, 0xe1, 0x68, 0xba, 0x72, 0x1b, 0x1f, 0xf4, 0x71, 0xb2, 0x1f, 0x4f, 0x6a, 0x5c, 0xcf, 0xf7, - 0x7b, 0xa6, 0xde, 0xc6, 0x91, 0xe5, 0xa5, 0xf6, 0x07, 0x30, 0x1e, 0x36, 0x10, 0x28, 0x15, 0x96, - 0xe9, 0xbe, 0xa7, 0xb2, 0x92, 0x3b, 0x1f, 0xf9, 0x2d, 0xa3, 0x39, 0x48, 0xfb, 0x2d, 0xbf, 0x39, - 0x49, 0xfb, 0x6d, 0x40, 0xa7, 0x81, 0x0e, 0x40, 0xc9, 0xeb, 0x03, 0xd0, 0xf5, 0x2c, 0xf7, 0xe7, - 0x76, 0x24, 0x95, 0xf5, 0xa3, 0x8a, 0x47, 0x66, 0x66, 0x3c, 0x77, 0xa6, 0xcd, 0xcc, 0x7f, 0xa2, - 0x4d, 0x9b, 0x39, 0xe0, 0xed, 0x14, 0xd9, 0x30, 0x93, 0xf5, 0x18, 0x8c, 0x32, 0x21, 0x32, 0x1f, - 0xb2, 0x2b, 0xd7, 0x8e, 0x22, 0x1a, 0xa9, 0xcb, 0xaa, 0x53, 0x51, 0xd6, 0xc6, 0x64, 0x97, 0xa9, - 0x69, 0x75, 0x83, 0xca, 0x5e, 0x16, 0xfc, 0xb9, 0x35, 0x29, 0xca, 0xdd, 0x96, 0x1c, 0xc5, 0x8d, - 0x23, 0xcb, 0x4b, 0xed, 0xbf, 0x80, 0x4a, 0x7e, 0x07, 0x87, 0x52, 0x70, 0x87, 0x36, 0x94, 0x95, - 0x1b, 0x47, 0x5f, 0x20, 0x09, 0x7c, 0x52, 0x80, 0x85, 0x01, 0x7d, 0x1b, 0x4a, 0x21, 0x1e, 0xde, - 0x48, 0x56, 0x5e, 0x3e, 0xc6, 0x8a, 0x18, 0x89, 0x01, 0xfd, 0x1a, 0xca, 0x37, 0x2b, 0xa7, 0x0a, - 0x4a, 0x93, 0x38, 0x42, 0x33, 0x88, 0x3e, 0x2d, 0xc0, 0xe2, 0xa0, 0x36, 0x0d, 0x0d, 0x30, 0x2c, - 0x8f, 0xc6, 0xcd, 0xe3, 0x2c, 0x89, 0x42, 0x22, 0xbf, 0x37, 0x49, 0x87, 0xc4, 0xa1, 0x9d, 0x52, - 0x3a, 0x24, 0x0e, 0x6f, 0x7b, 0xd0, 0x6f, 0x0a, 0xf1, 0x17, 0x94, 0x6c, 0x1a, 0xaf, 0xe4, 0x05, - 0xfa, 0x40, 0x2e, 0xaf, 0x1e, 0x73, 0x55, 0x74, 0x44, 0x73, 0xbb, 0x8e, 0xf4, 0x11, 0x3d, 0xac, - 0x39, 0xaa, 0x34, 0x8e, 0x2c, 0x2f, 0xb5, 0xff, 0xba, 0x00, 0xcb, 0x83, 0x7b, 0x09, 0x74, 0x6b, - 0xa0, 0x5d, 0x39, 0x44, 0x5e, 0x39, 0xde, 0xa2, 0xac, 0xe8, 0xe8, 0x0b, 0xd1, 0x5c, 0xe3, 0xf2, - 0x02, 0xf4, 0xc6, 0xd1, 0x17, 0xe4, 0x47, 0x47, 0x1f, 0x8d, 0xc1, 0xa6, 0xe5, 0x71, 0x79, 0xf5, - 0x98, 0xab, 0x04, 0xa1, 0xca, 0x99, 0x5f, 0x7e, 0xfd, 0xec, 0x5a, 0xe1, 0x8e, 0xfa, 0xd9, 0x97, - 0xcb, 0x85, 0xcf, 0xbf, 0x5c, 0x2e, 0xfc, 0xf7, 0xcb, 0xe5, 0xc2, 0xef, 0xbe, 0x5a, 0x3e, 0xf5, - 0xf9, 0x57, 0xcb, 0xa7, 0xfe, 0xfd, 0xd5, 0xf2, 0xa9, 0x27, 0xaf, 0x1f, 0xf1, 0xd7, 0xd6, 0xfb, - 0x8d, 0xe8, 0x2f, 0x4d, 0xfc, 0x83, 0x0e, 0xf1, 0x76, 0x47, 0xf9, 0x1f, 0x94, 0xdc, 0xfa, 0x7f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x83, 0xb3, 0x17, 0x0b, 0x33, 0x00, 0x00, + // 3165 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x4b, 0x6f, 0x1c, 0xc7, + 0x11, 0xd6, 0x8a, 0x2b, 0x72, 0x59, 0xa4, 0xc8, 0x55, 0x8b, 0xa4, 0x86, 0xcb, 0xf7, 0x52, 0x8f, + 0x95, 0x62, 0x71, 0x65, 0x49, 0x76, 0x1c, 0x27, 0x87, 0xe8, 0xe9, 0x90, 0x90, 0x14, 0x7a, 0x48, + 0x5b, 0x81, 0x6c, 0x64, 0xdc, 0x9c, 0xe9, 0x5d, 0x4e, 0x38, 0x8f, 0x75, 0xcf, 0x2c, 0x1f, 0x86, + 0x8d, 0x24, 0x06, 0x7c, 0x0a, 0x90, 0xe4, 0x94, 0x43, 0x12, 0xe4, 0x9c, 0x53, 0xe0, 0x43, 0x72, + 0xc9, 0x29, 0x47, 0x1f, 0x8d, 0x9c, 0x82, 0x1c, 0x8c, 0xc0, 0x3e, 0xf8, 0x9a, 0x43, 0x7e, 0x40, + 0xd0, 0x8f, 0x79, 0xee, 0xcc, 0x92, 0xd4, 0x50, 0x86, 0x2f, 0x12, 0xa7, 0xbb, 0xfa, 0xab, 0xaf, + 0xaa, 0xab, 0xab, 0xab, 0x9a, 0x20, 0x4c, 0x12, 0xdb, 0xf4, 0x3c, 0xd3, 0x75, 0xbc, 0xe6, 0xee, + 0xab, 0x4d, 0x7f, 0x7f, 0xa5, 0x43, 0x5d, 0xdf, 0x45, 0xa3, 0xe1, 0xf0, 0xca, 0xee, 0xab, 0xb5, + 0x73, 0xd8, 0x36, 0x1d, 0xb7, 0xc9, 0xff, 0x15, 0x02, 0xb5, 0x0b, 0xba, 0xeb, 0xd9, 0xae, 0xd7, + 0xb4, 0xbd, 0x76, 0x73, 0xf7, 0x65, 0xf6, 0x9f, 0x9c, 0x98, 0x16, 0x13, 0x1a, 0xff, 0x6a, 0x8a, + 0x0f, 0x39, 0x55, 0x8b, 0xe9, 0xba, 0xd5, 0xa4, 0xa4, 0xd3, 0xf5, 0x09, 0x0d, 0x96, 0x25, 0xe6, + 0xf6, 0x5c, 0xba, 0x13, 0x4e, 0x4d, 0xb4, 0xdd, 0xb6, 0x2b, 0xe0, 0xd8, 0x4f, 0x62, 0xb4, 0xfe, + 0xbf, 0x05, 0x18, 0xfb, 0x71, 0xc7, 0x37, 0x5d, 0x07, 0x5b, 0xeb, 0x98, 0x62, 0xdb, 0x43, 0x0a, + 0x0c, 0xed, 0x12, 0xca, 0x40, 0x94, 0xd2, 0xe2, 0x40, 0x63, 0x58, 0x0d, 0x3e, 0xd1, 0xf7, 0x60, + 0xda, 0xc6, 0xfb, 0x9a, 0x47, 0xa8, 0x89, 0x2d, 0xf3, 0x03, 0x62, 0x68, 0xb6, 0xd7, 0xd6, 0x2c, + 0xe2, 0xb4, 0xfd, 0x6d, 0xe5, 0xf4, 0xe2, 0x40, 0x63, 0x40, 0x9d, 0xb2, 0xf1, 0xfe, 0x46, 0x38, + 0xff, 0xd8, 0x6b, 0x3f, 0xe2, 0xb3, 0x08, 0x43, 0xd5, 0x36, 0x1d, 0xcd, 0x77, 0x3b, 0xa6, 0xae, + 0xed, 0x11, 0xb3, 0xbd, 0xed, 0x2b, 0x03, 0x0c, 0xfd, 0xee, 0x77, 0x3f, 0xfb, 0x62, 0xe1, 0xd4, + 0xbf, 0xbf, 0x58, 0x68, 0xb6, 0x4d, 0x7f, 0xbb, 0xbb, 0xb5, 0xa2, 0xbb, 0x76, 0x13, 0x5b, 0x96, + 0x4b, 0xf1, 0x75, 0x87, 0xf8, 0xcc, 0x84, 0xe0, 0x53, 0xdf, 0xc6, 0xa6, 0xd3, 0xb4, 0xb1, 0xbf, + 0xbd, 0x72, 0x9f, 0xe8, 0xea, 0x98, 0x6d, 0x3a, 0x9b, 0x0c, 0xef, 0x29, 0x87, 0x43, 0x2d, 0x98, + 0xa2, 0xe4, 0xfd, 0xae, 0x49, 0x19, 0x2f, 0xd3, 0x31, 0xed, 0xae, 0xad, 0x79, 0x3e, 0xde, 0x21, + 0xca, 0x19, 0xae, 0xe8, 0x86, 0x54, 0x34, 0x29, 0xbc, 0xe9, 0x19, 0x3b, 0x2b, 0xa6, 0x2b, 0xe0, + 0x56, 0x1d, 0xff, 0x9f, 0x7f, 0xbd, 0x0e, 0xd2, 0xcd, 0xab, 0x8e, 0xff, 0xe7, 0xaf, 0x3f, 0xbd, + 0x56, 0x52, 0x27, 0x02, 0xbc, 0xc7, 0x02, 0x6e, 0x83, 0xa1, 0x31, 0x2f, 0x50, 0x62, 0xbb, 0xbb, + 0x44, 0xa0, 0x6b, 0x06, 0xb1, 0xf0, 0x81, 0xb6, 0x67, 0x3a, 0x86, 0xbb, 0xa7, 0x0c, 0x0a, 0x2f, + 0x08, 0x01, 0x2e, 0x7f, 0x9f, 0x4d, 0x3f, 0xe5, 0xb3, 0xa8, 0x21, 0xbc, 0x40, 0x3a, 0xae, 0xbe, + 0x1d, 0xf8, 0x6d, 0x88, 0xaf, 0x60, 0xc6, 0x3c, 0x60, 0xc3, 0xd2, 0x5f, 0xcf, 0x60, 0x74, 0x8b, + 0xf8, 0x58, 0x23, 0x8e, 0x4f, 0xdd, 0xce, 0x81, 0x52, 0x29, 0xe6, 0xab, 0x11, 0x06, 0xf6, 0x40, + 0x60, 0xa1, 0x77, 0xe1, 0xac, 0x45, 0x30, 0x75, 0x4c, 0xa7, 0xad, 0x51, 0xec, 0x13, 0x65, 0xb8, + 0x18, 0xf8, 0x68, 0x80, 0xa6, 0x62, 0x9f, 0x20, 0x1b, 0x58, 0x0c, 0x68, 0x6d, 0x8a, 0x0d, 0x93, + 0x38, 0xbe, 0xe6, 0x6f, 0x53, 0xe2, 0x6d, 0xbb, 0x96, 0xa1, 0x40, 0x31, 0x35, 0x13, 0x36, 0xde, + 0x7f, 0x43, 0xa2, 0x6e, 0x06, 0xa0, 0x88, 0x00, 0x62, 0x2e, 0x15, 0x5b, 0xd1, 0xa2, 0x58, 0x67, + 0xb1, 0xac, 0x8c, 0x14, 0x53, 0xc5, 0x76, 0x89, 0x6f, 0xde, 0x43, 0x09, 0x88, 0x1e, 0xc0, 0x02, + 0xb3, 0xaa, 0xeb, 0xb4, 0xba, 0x56, 0xcb, 0xb4, 0x2c, 0x62, 0x68, 0xe2, 0x74, 0x69, 0x2c, 0x46, + 0x88, 0xe7, 0x7b, 0xca, 0xd9, 0xc5, 0x81, 0x46, 0x59, 0x9d, 0xb5, 0xf1, 0xfe, 0x5b, 0x91, 0xd4, + 0x53, 0x2e, 0xa4, 0x4a, 0x19, 0xf4, 0x06, 0x2c, 0xa6, 0x61, 0xe4, 0x01, 0x8e, 0x70, 0xc6, 0x38, + 0xce, 0x5c, 0x12, 0x47, 0x15, 0x52, 0x21, 0xd0, 0x07, 0x30, 0x27, 0xce, 0x12, 0x25, 0x7b, 0x98, + 0x1a, 0xd2, 0x7e, 0xd3, 0xee, 0xb8, 0xd4, 0xc7, 0x8e, 0x4e, 0x94, 0xf1, 0x62, 0x1e, 0xa8, 0x71, + 0x74, 0x95, 0x83, 0x73, 0x4f, 0xac, 0x86, 0xd0, 0xe8, 0x93, 0x12, 0x2c, 0x27, 0x94, 0xb7, 0x08, + 0xd1, 0x28, 0xd9, 0x25, 0x4e, 0x37, 0x41, 0xa1, 0x5a, 0x8c, 0xc2, 0x42, 0x8c, 0xc2, 0x43, 0x42, + 0x54, 0xa1, 0x20, 0xc6, 0x83, 0x00, 0x4a, 0xd0, 0xc0, 0x56, 0x67, 0x1b, 0x2b, 0xe7, 0x0a, 0x6e, + 0x7d, 0x4c, 0xeb, 0x1d, 0x06, 0x88, 0x74, 0x38, 0xe7, 0x63, 0x6f, 0x27, 0xa9, 0x05, 0x15, 0xd3, + 0x32, 0xce, 0x10, 0xe3, 0x4a, 0x98, 0x4f, 0x77, 0xb1, 0x65, 0x1a, 0xd8, 0x77, 0xa9, 0xa7, 0xed, + 0x7a, 0x9a, 0x58, 0xa8, 0x75, 0x08, 0xd5, 0xd9, 0x31, 0x12, 0xda, 0x95, 0xf3, 0x05, 0x7d, 0x1a, + 0xe9, 0x78, 0xdb, 0xbb, 0xc3, 0x45, 0xd6, 0x85, 0x02, 0x41, 0x06, 0xfd, 0x00, 0x66, 0x78, 0x8a, + 0xc7, 0x76, 0xc7, 0x22, 0x9e, 0xe6, 0xbb, 0x9a, 0xa7, 0x63, 0x8b, 0x68, 0x9e, 0xee, 0x52, 0xe2, + 0x29, 0x13, 0x3c, 0x36, 0x2f, 0xb0, 0x24, 0x2f, 0x24, 0x36, 0xdd, 0x0d, 0x36, 0xbf, 0xc1, 0xa7, + 0xd1, 0xeb, 0x50, 0x63, 0xab, 0x7d, 0xb7, 0xa3, 0x99, 0x4e, 0x8b, 0x50, 0x42, 0x39, 0x84, 0xe4, + 0x3e, 0xc9, 0x17, 0xb3, 0xec, 0xb0, 0xe9, 0x76, 0x56, 0xe5, 0xfc, 0xa6, 0x2b, 0x35, 0xff, 0x10, + 0xe6, 0x82, 0xb5, 0x2d, 0x97, 0x12, 0x1d, 0x7b, 0x7e, 0x72, 0xf9, 0x14, 0x5f, 0x3e, 0x2d, 0x96, + 0x3f, 0x8c, 0x44, 0x42, 0x84, 0x98, 0x76, 0x79, 0xa8, 0xe2, 0xcb, 0x2f, 0xc4, 0xb5, 0xcb, 0xe3, + 0x14, 0xad, 0x7d, 0x06, 0x55, 0x9d, 0x12, 0xec, 0x13, 0x79, 0x45, 0xb5, 0x08, 0x51, 0x94, 0xe7, + 0xbc, 0x36, 0xc6, 0x04, 0x12, 0xbf, 0x9b, 0x1e, 0x12, 0x82, 0xbe, 0x0f, 0xb5, 0x30, 0x1b, 0x1a, + 0xc4, 0xe3, 0xdb, 0xc9, 0x88, 0x9a, 0x8c, 0x81, 0x32, 0x2d, 0x5c, 0x1a, 0x48, 0xdc, 0x17, 0x02, + 0x8f, 0xf1, 0xfe, 0x2a, 0x9b, 0x46, 0xef, 0x40, 0x95, 0x92, 0xb6, 0xe9, 0xf9, 0x14, 0xb3, 0x44, + 0xc4, 0x89, 0xcd, 0x3e, 0x27, 0xb1, 0xf1, 0x38, 0x12, 0x63, 0xf6, 0x12, 0x20, 0x83, 0xb4, 0x70, + 0xd7, 0xf2, 0xb5, 0x0e, 0x6e, 0x13, 0xcd, 0x32, 0x6d, 0xd3, 0x57, 0xe6, 0x38, 0xa3, 0xaa, 0x9c, + 0x59, 0xc7, 0x6d, 0xf2, 0x88, 0x8d, 0xa3, 0x8b, 0x30, 0xc6, 0x68, 0xc7, 0x24, 0xe7, 0xb9, 0xe4, + 0xa8, 0x8d, 0xf7, 0x23, 0x29, 0xb6, 0x8f, 0xa9, 0x3b, 0x4e, 0xa3, 0x44, 0x77, 0xa9, 0x21, 0x17, + 0x2d, 0xf0, 0x0b, 0x6f, 0x3a, 0x79, 0xe1, 0xa9, 0x5c, 0x42, 0x20, 0x34, 0xa0, 0xba, 0x65, 0xb9, + 0xfa, 0x8e, 0xc7, 0x82, 0x5f, 0xb3, 0x5d, 0xc7, 0xdf, 0x56, 0x16, 0xb9, 0xa6, 0x31, 0x31, 0xbe, + 0x4e, 0xe8, 0x63, 0x36, 0xca, 0x32, 0x40, 0x27, 0x38, 0x97, 0x22, 0xe0, 0x58, 0xde, 0x59, 0x2a, + 0x98, 0x01, 0x3a, 0x22, 0x26, 0x56, 0x03, 0x40, 0x96, 0x01, 0x42, 0x35, 0x41, 0x6c, 0x2a, 0xf5, + 0x82, 0x19, 0x40, 0x6a, 0x09, 0x02, 0x99, 0x55, 0x48, 0xa1, 0x12, 0x19, 0xbe, 0xca, 0x72, 0xc1, + 0x0a, 0x49, 0xea, 0x90, 0xd1, 0xce, 0xdc, 0xa5, 0xf7, 0xba, 0xeb, 0x62, 0x41, 0x77, 0xe9, 0x19, + 0xee, 0xd2, 0x7b, 0xdc, 0x75, 0xa9, 0xa0, 0xbb, 0xf4, 0x94, 0xbb, 0x9e, 0xc0, 0xa0, 0xae, 0x39, + 0x2e, 0xb5, 0x95, 0xcb, 0xc5, 0x90, 0xcf, 0xe8, 0x4f, 0x5c, 0x6a, 0xa3, 0xf7, 0x60, 0x9c, 0x74, + 0x3c, 0xd3, 0x72, 0x9d, 0xd0, 0xfb, 0x8d, 0x82, 0xde, 0x97, 0x78, 0x81, 0xf7, 0xdf, 0x86, 0xab, + 0xdb, 0xd8, 0x6a, 0xf1, 0xa3, 0xdf, 0xa1, 0xae, 0x4e, 0x3c, 0x4f, 0x5e, 0xdb, 0xbc, 0x5a, 0xc4, + 0x96, 0xa7, 0x11, 0xc7, 0xd0, 0x78, 0x88, 0x2b, 0xd7, 0x78, 0xbc, 0x2f, 0xb3, 0x05, 0x8f, 0xf1, + 0xfe, 0xba, 0x10, 0xe7, 0x17, 0xb1, 0x2a, 0x85, 0x1f, 0x38, 0xc6, 0x5d, 0x26, 0xca, 0x52, 0x97, + 0x81, 0x7d, 0xac, 0x79, 0xc4, 0x31, 0x58, 0x49, 0xc7, 0x32, 0xc4, 0x77, 0x9e, 0x37, 0x75, 0x31, + 0xa4, 0x0d, 0x01, 0xc4, 0x12, 0x04, 0x86, 0x6a, 0xe0, 0x15, 0x0f, 0xb7, 0x88, 0x66, 0x98, 0xbb, + 0xca, 0x4b, 0x27, 0xe3, 0x96, 0x0d, 0xdc, 0x22, 0xf7, 0xcd, 0xdd, 0xa0, 0xa9, 0x20, 0x16, 0xb1, + 0x89, 0xe3, 0x8b, 0x33, 0x1f, 0x46, 0xcd, 0xf5, 0x30, 0x69, 0x3f, 0x90, 0xf3, 0xeb, 0x84, 0x86, + 0x31, 0x20, 0x2f, 0x2b, 0x56, 0xa2, 0xed, 0xca, 0xc4, 0x2d, 0xd6, 0x0b, 0x1f, 0xae, 0x84, 0x97, + 0xd5, 0x1d, 0x2e, 0xc1, 0x13, 0x32, 0x03, 0x10, 0x7e, 0xbb, 0x06, 0xe7, 0xf8, 0x55, 0xe7, 0x53, + 0xe6, 0x35, 0x59, 0x8d, 0x37, 0xf9, 0x9a, 0x71, 0x76, 0xc1, 0xf1, 0x71, 0x59, 0x8e, 0xbb, 0x70, + 0xc1, 0x74, 0x4c, 0xdf, 0xc4, 0x96, 0x46, 0x49, 0x9b, 0x12, 0x5f, 0x7b, 0xbf, 0x8b, 0x1d, 0xdf, + 0xb4, 0x88, 0x72, 0xa3, 0x98, 0x3b, 0x26, 0x25, 0xae, 0xca, 0x61, 0xdf, 0x94, 0xa8, 0xe8, 0xa7, + 0x30, 0xde, 0xe1, 0xe1, 0x1d, 0xf9, 0xfd, 0xe5, 0x82, 0x55, 0x7a, 0x87, 0xc5, 0x79, 0xe0, 0xf5, + 0xd7, 0x40, 0x69, 0x5b, 0xee, 0x16, 0xb6, 0xb4, 0xbd, 0x6d, 0xd3, 0x27, 0x96, 0xe9, 0xf9, 0x1a, + 0x71, 0xf0, 0x96, 0x45, 0x0c, 0xe5, 0xe6, 0xe2, 0x40, 0xa3, 0xa2, 0x4e, 0x89, 0xf9, 0xa7, 0xc1, + 0xf4, 0x03, 0x31, 0xcb, 0x2a, 0x61, 0x71, 0x45, 0xf2, 0x5b, 0xce, 0xa5, 0x19, 0x00, 0xb7, 0x38, + 0xc0, 0x2c, 0x17, 0xbb, 0x27, 0xa4, 0x7a, 0x60, 0x3e, 0x82, 0xf9, 0x16, 0xb6, 0xac, 0x2d, 0xac, + 0xef, 0x68, 0x6c, 0x9c, 0xf0, 0x76, 0x44, 0x77, 0x49, 0xab, 0x65, 0xea, 0xec, 0x22, 0x54, 0x6e, + 0x17, 0xb3, 0x77, 0x36, 0x80, 0x7f, 0x14, 0xa0, 0xdf, 0x8b, 0xc0, 0xd1, 0x3d, 0x98, 0xe7, 0xb7, + 0xd4, 0x7e, 0x87, 0x50, 0x93, 0x65, 0xad, 0x58, 0x3d, 0xcf, 0x36, 0xc2, 0x53, 0x5e, 0xe1, 0xd7, + 0xd4, 0x0c, 0xbb, 0xa6, 0x22, 0xa1, 0xa0, 0x9c, 0xe7, 0x22, 0x6b, 0xe5, 0x4a, 0xb9, 0x7a, 0x66, + 0xad, 0x5c, 0xa9, 0x55, 0x67, 0xd6, 0xca, 0x95, 0x99, 0xea, 0xec, 0x5a, 0xb9, 0x72, 0xa5, 0xda, + 0x58, 0x2b, 0x57, 0xae, 0x56, 0xaf, 0xf1, 0x7e, 0xa5, 0x27, 0x28, 0x39, 0xa0, 0x46, 0x5a, 0x2d, + 0x12, 0x0b, 0xda, 0xa0, 0x78, 0x56, 0x97, 0xd9, 0x12, 0x4a, 0x7c, 0x6a, 0x8a, 0xda, 0x4b, 0x94, + 0xff, 0x9a, 0xe3, 0x3a, 0x3a, 0xf1, 0x24, 0x41, 0xe9, 0xd7, 0x44, 0xd1, 0x6d, 0x10, 0x1d, 0x1f, + 0xf0, 0x5e, 0x4e, 0xbd, 0xd8, 0x17, 0x42, 0xa6, 0xb6, 0x7a, 0x07, 0xce, 0xbf, 0xd5, 0x31, 0xb0, + 0x4f, 0x44, 0xcf, 0x2f, 0xdb, 0x0a, 0x34, 0x05, 0x83, 0x2c, 0x8b, 0x10, 0xaa, 0x94, 0x16, 0x4b, + 0x8d, 0x61, 0x55, 0x7e, 0xa1, 0xdb, 0x30, 0xd8, 0xe1, 0x82, 0xca, 0xe9, 0xc5, 0x52, 0x63, 0xe4, + 0xe6, 0xec, 0x4a, 0xfc, 0x61, 0x63, 0x25, 0xf9, 0x80, 0xa0, 0x4a, 0xd9, 0xd7, 0x47, 0x3e, 0xfe, + 0xfa, 0xd3, 0x6b, 0x12, 0xa2, 0x3e, 0x05, 0x13, 0x49, 0x8d, 0x5e, 0xc7, 0x75, 0x3c, 0x52, 0xff, + 0xdb, 0x30, 0x4c, 0xf2, 0x18, 0x21, 0x4f, 0xc8, 0xde, 0xa6, 0xa8, 0xbd, 0x05, 0x19, 0x05, 0x86, + 0x64, 0x88, 0x49, 0x36, 0xc1, 0x27, 0xaa, 0x41, 0xc5, 0x26, 0x3e, 0x66, 0xb9, 0x8a, 0x13, 0x1a, + 0x56, 0xc3, 0x6f, 0xb4, 0x00, 0x23, 0x96, 0xeb, 0x79, 0x9a, 0x4d, 0xfc, 0x6d, 0xd7, 0x50, 0xca, + 0x7c, 0x1a, 0xd8, 0xd0, 0x63, 0x3e, 0x82, 0x96, 0x60, 0x34, 0xd5, 0x7f, 0x97, 0x1a, 0x03, 0xea, + 0x08, 0x89, 0x35, 0xdf, 0x0d, 0xa8, 0xb6, 0xa9, 0xdb, 0x75, 0x0c, 0xcd, 0xa7, 0x5d, 0x7f, 0x5b, + 0xb3, 0x70, 0x5b, 0xa9, 0x70, 0xb1, 0x31, 0x31, 0xbe, 0xc9, 0x86, 0x1f, 0xe1, 0x36, 0xbb, 0x85, + 0xc4, 0x31, 0x55, 0x80, 0x29, 0x2a, 0x70, 0x0b, 0xf1, 0xd3, 0xc9, 0xda, 0x7e, 0xde, 0x5f, 0xc8, + 0x28, 0x54, 0x46, 0x8a, 0xa1, 0x8e, 0x70, 0x30, 0x11, 0xae, 0xe8, 0x12, 0x8c, 0x31, 0xa9, 0x3d, + 0xcd, 0x21, 0x6d, 0xcc, 0x82, 0x4f, 0x19, 0x5d, 0x2c, 0x35, 0x2a, 0xea, 0x59, 0x3e, 0xfa, 0x44, + 0x0e, 0xa2, 0x37, 0x61, 0x48, 0x66, 0x68, 0xe5, 0x6c, 0x31, 0xed, 0x01, 0x0e, 0x4b, 0x36, 0xf2, + 0x70, 0x79, 0xdd, 0x2d, 0x19, 0x38, 0xc1, 0x83, 0xc9, 0x18, 0xf7, 0xeb, 0x94, 0x98, 0xdf, 0x08, + 0xa7, 0xe5, 0x83, 0xc9, 0x0e, 0x4c, 0xda, 0x84, 0x9a, 0xbe, 0xe6, 0xb9, 0xd4, 0x37, 0x79, 0x01, + 0x2c, 0xfa, 0xaf, 0xf1, 0x62, 0xd4, 0xce, 0x73, 0xd4, 0x8d, 0x00, 0x54, 0xf4, 0x60, 0x2e, 0x5c, + 0x90, 0x57, 0x89, 0x6c, 0x5e, 0xa2, 0x24, 0x5f, 0x2d, 0xa6, 0x6e, 0x52, 0xe0, 0xca, 0x9e, 0x27, + 0x4c, 0xf2, 0x5d, 0xa8, 0x49, 0x85, 0x51, 0xc7, 0x13, 0xe9, 0x3c, 0x57, 0x4c, 0xa7, 0x22, 0xa0, + 0xa3, 0x46, 0x29, 0x54, 0x1b, 0xd9, 0x19, 0xbc, 0x3d, 0x84, 0x3a, 0xd1, 0x89, 0xd8, 0x29, 0x2b, + 0x9e, 0x50, 0xe1, 0xab, 0x70, 0x41, 0x5c, 0x0d, 0x41, 0x8e, 0x0d, 0xaf, 0x0c, 0xe5, 0x3c, 0x0f, + 0xc1, 0x49, 0x31, 0x2d, 0xb2, 0x6b, 0x78, 0x55, 0xb0, 0xb8, 0x91, 0xeb, 0x02, 0xa2, 0xd1, 0xc2, + 0x09, 0xbe, 0x70, 0x4a, 0xcc, 0x4b, 0x85, 0xe1, 0xca, 0xd7, 0x47, 0x59, 0xea, 0x09, 0xf2, 0xc5, + 0x5a, 0xb9, 0x32, 0x50, 0x2d, 0xaf, 0x95, 0x2b, 0x67, 0xaa, 0x83, 0x6b, 0xe5, 0xca, 0x60, 0x75, + 0x68, 0xad, 0x5c, 0x19, 0xae, 0x82, 0x48, 0x0b, 0x9a, 0xe5, 0xb6, 0x4d, 0x5d, 0x1d, 0x0f, 0x0b, + 0x62, 0x39, 0x50, 0x8d, 0x06, 0x44, 0x2e, 0x51, 0x47, 0x82, 0x5e, 0x09, 0xd3, 0x76, 0xfd, 0x16, + 0x4c, 0xa5, 0xd3, 0x96, 0xc8, 0x68, 0x68, 0x1a, 0x2a, 0x22, 0x43, 0x9b, 0x06, 0x4f, 0x5c, 0x65, + 0x75, 0x88, 0x7f, 0xaf, 0x1a, 0xf5, 0xdf, 0x95, 0x60, 0x66, 0xd5, 0xf1, 0x08, 0xf5, 0x25, 0xe3, + 0x75, 0x7c, 0x60, 0xb9, 0xd8, 0x38, 0x2c, 0xff, 0xaa, 0x30, 0x11, 0x78, 0x60, 0x17, 0x5b, 0x5d, + 0xa2, 0x6d, 0x75, 0x1d, 0xc3, 0x22, 0x32, 0x1b, 0x2f, 0xc6, 0xb3, 0xf1, 0xad, 0x15, 0x09, 0xfd, + 0x36, 0x13, 0xbc, 0xcb, 0xe5, 0x54, 0x44, 0x7b, 0xc6, 0x92, 0xd9, 0x79, 0x1e, 0x66, 0xb3, 0x79, + 0xc9, 0x2c, 0xfd, 0x9b, 0x12, 0xd4, 0x84, 0x80, 0xd8, 0xa3, 0x23, 0xf2, 0x7e, 0x04, 0x48, 0xee, + 0x38, 0xaf, 0x50, 0x13, 0xac, 0xe7, 0x93, 0xac, 0x05, 0xee, 0x7d, 0xec, 0x63, 0xc9, 0xb9, 0xba, + 0x97, 0x1a, 0x49, 0x32, 0x9e, 0x0b, 0x3c, 0x99, 0x22, 0x24, 0x09, 0xff, 0xa5, 0x04, 0xe3, 0x2a, + 0xef, 0x76, 0xc3, 0x47, 0xb3, 0x5c, 0x96, 0xf1, 0x0d, 0x2b, 0x27, 0x36, 0x0c, 0x4d, 0xc0, 0x19, + 0x77, 0xcf, 0x21, 0x54, 0x39, 0xc3, 0x57, 0x88, 0x0f, 0x34, 0x07, 0x60, 0x86, 0x77, 0xa9, 0x32, + 0xc8, 0x23, 0x71, 0xd8, 0xf4, 0xa4, 0xef, 0x12, 0x3c, 0xd7, 0xca, 0x95, 0xd3, 0xd5, 0x01, 0x11, + 0x81, 0xea, 0x88, 0x65, 0x6e, 0x69, 0x9d, 0x9b, 0x1d, 0x6d, 0x87, 0x1c, 0xa8, 0x67, 0xed, 0xae, + 0xe5, 0x9b, 0x1a, 0x36, 0x0c, 0x4a, 0x3c, 0xaf, 0xfe, 0x10, 0xaa, 0x11, 0x5f, 0x19, 0x49, 0x0a, + 0x0c, 0x79, 0x5d, 0x9d, 0x55, 0xfe, 0x9c, 0x71, 0x45, 0x0d, 0x3e, 0xd9, 0x8c, 0x4d, 0x3c, 0x0f, + 0xb7, 0x89, 0xbc, 0x00, 0x83, 0xcf, 0xfa, 0x07, 0x30, 0xcd, 0x3b, 0x04, 0xa2, 0xc6, 0x7a, 0xfd, + 0xe3, 0x78, 0xe0, 0x74, 0xd2, 0x03, 0x49, 0x5b, 0x07, 0xfa, 0xd9, 0x5a, 0x5f, 0x87, 0x5a, 0x96, + 0xee, 0x02, 0xd6, 0xfc, 0xa1, 0x04, 0xe3, 0x77, 0x0c, 0x43, 0x36, 0x3e, 0xcf, 0x6d, 0xc4, 0x8f, + 0x60, 0x10, 0xdb, 0x6e, 0xd7, 0xf1, 0xb9, 0x01, 0xcf, 0xd3, 0x18, 0xc9, 0xf5, 0x49, 0x7b, 0x11, + 0x54, 0x23, 0x72, 0x32, 0xf0, 0xfe, 0x54, 0x02, 0xa4, 0x46, 0xaf, 0xff, 0xdf, 0x3e, 0xd2, 0x93, + 0x70, 0x3e, 0xc1, 0x4f, 0xf2, 0x7e, 0x06, 0xca, 0x3d, 0xec, 0xe8, 0xc4, 0x3a, 0x11, 0xf2, 0x49, + 0x95, 0x33, 0x30, 0x9d, 0x81, 0x2d, 0x15, 0xff, 0xbd, 0x04, 0x13, 0xf7, 0x89, 0xc5, 0xca, 0x8f, + 0xc2, 0x2e, 0x53, 0x60, 0x28, 0x1e, 0xa9, 0xc3, 0x6a, 0xf0, 0x19, 0x73, 0x66, 0xf9, 0x24, 0x9d, + 0x79, 0x01, 0x26, 0x53, 0xdc, 0xa5, 0x55, 0xff, 0x28, 0x05, 0x67, 0xe1, 0x58, 0xb6, 0xc5, 0x0c, + 0x38, 0x9d, 0x34, 0x20, 0x6e, 0xf5, 0x40, 0x5e, 0xa0, 0x9c, 0xa8, 0x6d, 0x73, 0x30, 0x93, 0x69, + 0x81, 0xb4, 0xf0, 0xf7, 0x25, 0x58, 0x8c, 0xef, 0xea, 0x49, 0xed, 0xe1, 0x2c, 0x0c, 0x1b, 0x02, + 0xca, 0x0d, 0x76, 0x31, 0x1a, 0x88, 0x3b, 0xa8, 0x9c, 0x70, 0x50, 0x92, 0xfb, 0x32, 0x2c, 0xf5, + 0xe1, 0x26, 0x2d, 0xd8, 0x65, 0x5b, 0xb4, 0x87, 0xa9, 0xf1, 0xc2, 0xc3, 0x2f, 0xc3, 0xb1, 0x19, + 0x7a, 0x25, 0xad, 0x3f, 0x96, 0xa0, 0xfa, 0x90, 0x35, 0x19, 0xf1, 0x66, 0xe8, 0xdb, 0x93, 0x3f, + 0xce, 0xc3, 0xb9, 0x18, 0x3b, 0xc9, 0xf9, 0x1d, 0xa8, 0xdd, 0x31, 0x8c, 0x4d, 0x37, 0xac, 0xc0, + 0xee, 0x18, 0xb6, 0xe9, 0x1c, 0x21, 0xda, 0xe5, 0xf5, 0x17, 0x44, 0xbb, 0xfc, 0xec, 0xf1, 0x57, + 0x26, 0xb8, 0xd4, 0xfd, 0x1e, 0x2c, 0x88, 0x5d, 0x7e, 0x48, 0x5d, 0xfb, 0x85, 0x10, 0xa8, 0xc3, + 0x62, 0xbe, 0x06, 0xc9, 0x42, 0x87, 0x25, 0xf1, 0xb4, 0x21, 0x7e, 0x25, 0x9d, 0xac, 0x64, 0x4f, + 0x2a, 0x91, 0x5e, 0x84, 0x7a, 0x3f, 0x25, 0x92, 0x8a, 0x01, 0xf5, 0xfb, 0xa6, 0xf7, 0xa2, 0xb9, + 0x5c, 0x82, 0xe5, 0xbe, 0x5a, 0x22, 0x32, 0x31, 0xca, 0xe9, 0x42, 0xfd, 0x04, 0xc9, 0xf4, 0xd5, + 0x22, 0xc9, 0x90, 0x24, 0xe7, 0x17, 0xc5, 0xe6, 0x32, 0x5c, 0xec, 0xaf, 0x46, 0xd2, 0x79, 0x57, + 0x06, 0xf6, 0x1b, 0xc9, 0x97, 0xb6, 0x13, 0x8a, 0xda, 0x79, 0x98, 0xcd, 0x46, 0x97, 0xda, 0x71, + 0x3c, 0xaa, 0x5f, 0x0c, 0x85, 0x65, 0x58, 0xea, 0xa3, 0x42, 0xf2, 0xd8, 0x82, 0x25, 0xce, 0x73, + 0x33, 0xeb, 0xb9, 0xf0, 0x84, 0x88, 0x5c, 0x84, 0x7a, 0x3f, 0x1d, 0x92, 0x49, 0x1b, 0x2e, 0x47, + 0x74, 0x5f, 0x24, 0x9d, 0xab, 0x70, 0xe5, 0x50, 0x45, 0x92, 0xd3, 0x87, 0xb0, 0x18, 0x31, 0x3f, + 0xe6, 0x51, 0xce, 0x65, 0xd3, 0xa7, 0x9a, 0xe8, 0xd9, 0xc0, 0x3e, 0xda, 0x25, 0xc5, 0x5f, 0x96, + 0xe0, 0x52, 0xca, 0x9c, 0x6f, 0x9c, 0x68, 0xa3, 0x67, 0xeb, 0xf2, 0xd8, 0x7e, 0x14, 0x37, 0xe9, + 0xb8, 0x19, 0xa0, 0x38, 0xd1, 0x44, 0x24, 0xe6, 0x66, 0x86, 0x8f, 0x4b, 0x3d, 0xf6, 0x7c, 0xf3, + 0x54, 0x7b, 0xa3, 0x34, 0x8f, 0xef, 0xcd, 0xff, 0x2a, 0x00, 0x8f, 0xbd, 0xf6, 0x06, 0xa1, 0xbb, + 0xa6, 0x4e, 0xd0, 0x5b, 0x30, 0x1a, 0x7f, 0xec, 0x45, 0x4b, 0xc9, 0xf7, 0xe2, 0x8c, 0xa7, 0xe7, + 0x5a, 0xbd, 0x9f, 0x88, 0xec, 0x20, 0xdf, 0x81, 0xb1, 0xe4, 0x9b, 0x0b, 0x5a, 0x4e, 0xae, 0xca, + 0x7c, 0x48, 0xae, 0x5d, 0xec, 0x2f, 0x24, 0xc1, 0x57, 0xa1, 0x12, 0x34, 0xe0, 0x68, 0x2e, 0xb9, + 0x22, 0xf5, 0x90, 0x50, 0x9b, 0xcf, 0x9b, 0x96, 0x50, 0xed, 0xa0, 0x05, 0x8c, 0xf7, 0xc1, 0xe8, + 0x4a, 0x7a, 0x55, 0x4e, 0x97, 0x5e, 0x6b, 0x1c, 0x2e, 0x18, 0x71, 0x0e, 0x1a, 0xd0, 0x34, 0xe7, + 0x54, 0xd7, 0x9c, 0xe6, 0x9c, 0xee, 0x5b, 0x91, 0x0a, 0x23, 0xb1, 0xee, 0x0c, 0x2d, 0x66, 0x71, + 0x48, 0x00, 0x2e, 0xf5, 0x91, 0x90, 0x98, 0x06, 0x9c, 0xeb, 0xe9, 0xfb, 0xd0, 0xe5, 0xd4, 0x6e, + 0xe4, 0x34, 0x9d, 0xb5, 0x2b, 0x87, 0xca, 0x49, 0x2d, 0x3f, 0x81, 0xb3, 0x89, 0x42, 0x1a, 0xa5, + 0x42, 0x29, 0xab, 0xba, 0xaf, 0x2d, 0xf7, 0x95, 0x91, 0xc8, 0x3f, 0x63, 0xad, 0x72, 0x4f, 0xa1, + 0x8e, 0x7a, 0xf6, 0x27, 0xaf, 0x87, 0xa8, 0x5d, 0x3d, 0x82, 0x64, 0x5c, 0x57, 0x4f, 0xaf, 0x82, + 0x32, 0x63, 0xe1, 0x68, 0xba, 0x72, 0x1b, 0x1f, 0xf4, 0x61, 0xb2, 0x1f, 0x4f, 0x6a, 0x5c, 0xc9, + 0xf7, 0x7b, 0xa6, 0xde, 0xe6, 0x91, 0xe5, 0xa5, 0xf6, 0x47, 0x30, 0x1c, 0x36, 0x10, 0x28, 0x15, + 0x96, 0xe9, 0xbe, 0xa7, 0xb6, 0x90, 0x3b, 0x1f, 0xf9, 0x2d, 0xa3, 0x39, 0x48, 0xfb, 0x2d, 0xbf, + 0x39, 0x49, 0xfb, 0xad, 0x4f, 0xa7, 0x81, 0x0e, 0x40, 0xc9, 0xeb, 0x03, 0xd0, 0xf5, 0x2c, 0xf7, + 0xe7, 0x76, 0x24, 0xb5, 0x95, 0xa3, 0x8a, 0x47, 0x66, 0x66, 0x3c, 0x77, 0xa6, 0xcd, 0xcc, 0x7f, + 0xa2, 0x4d, 0x9b, 0xd9, 0xe7, 0xed, 0x14, 0xd9, 0x30, 0x91, 0xf5, 0x18, 0x8c, 0x32, 0x21, 0x32, + 0x1f, 0xb2, 0x6b, 0xd7, 0x8e, 0x22, 0x1a, 0xa9, 0xcb, 0xaa, 0x53, 0x51, 0xd6, 0xc6, 0x64, 0x97, + 0xa9, 0x69, 0x75, 0xfd, 0xca, 0x5e, 0x16, 0xfc, 0xb9, 0x35, 0x29, 0xca, 0xdd, 0x96, 0x1c, 0xc5, + 0xcd, 0x23, 0xcb, 0x4b, 0xed, 0x3f, 0x87, 0x5a, 0x7e, 0x07, 0x87, 0x52, 0x70, 0x87, 0x36, 0x94, + 0xb5, 0x1b, 0x47, 0x5f, 0x20, 0x09, 0x7c, 0x5c, 0x82, 0x99, 0x3e, 0x7d, 0x1b, 0x4a, 0x21, 0x1e, + 0xde, 0x48, 0xd6, 0x5e, 0x3e, 0xc6, 0x8a, 0x18, 0x89, 0x3e, 0xfd, 0x1a, 0xca, 0x37, 0x2b, 0xa7, + 0x0a, 0x4a, 0x93, 0x38, 0x42, 0x33, 0x88, 0x3e, 0x29, 0xc1, 0x6c, 0xbf, 0x36, 0x0d, 0xf5, 0x31, + 0x2c, 0x8f, 0xc6, 0xcd, 0xe3, 0x2c, 0x89, 0x42, 0x22, 0xbf, 0x37, 0x49, 0x87, 0xc4, 0xa1, 0x9d, + 0x52, 0x3a, 0x24, 0x0e, 0x6f, 0x7b, 0xd0, 0xaf, 0x4b, 0xf1, 0x17, 0x94, 0x6c, 0x1a, 0xb7, 0xf3, + 0x02, 0xbd, 0x2f, 0x97, 0x57, 0x8e, 0xb9, 0x2a, 0x3a, 0xa2, 0xb9, 0x5d, 0x47, 0xfa, 0x88, 0x1e, + 0xd6, 0x1c, 0xd5, 0x9a, 0x47, 0x96, 0x97, 0xda, 0x7f, 0x55, 0x82, 0xf9, 0xfe, 0xbd, 0x04, 0xba, + 0xd5, 0xd7, 0xae, 0x1c, 0x22, 0xb7, 0x8f, 0xb7, 0x28, 0x2b, 0x3a, 0x7a, 0x42, 0x34, 0xd7, 0xb8, + 0xbc, 0x00, 0xbd, 0x71, 0xf4, 0x05, 0xf9, 0xd1, 0xd1, 0x43, 0xa3, 0xbf, 0x69, 0x79, 0x5c, 0x5e, + 0x39, 0xe6, 0x2a, 0x41, 0xa8, 0x76, 0xe6, 0x17, 0x5f, 0x7f, 0x7a, 0xad, 0x74, 0x57, 0xfd, 0xec, + 0xcb, 0xf9, 0xd2, 0xe7, 0x5f, 0xce, 0x97, 0xfe, 0xf3, 0xe5, 0x7c, 0xe9, 0xb7, 0x5f, 0xcd, 0x9f, + 0xfa, 0xfc, 0xab, 0xf9, 0x53, 0xff, 0xfa, 0x6a, 0xfe, 0xd4, 0xb3, 0xd7, 0x8e, 0xf8, 0x6b, 0xeb, + 0xfd, 0x66, 0xf4, 0xd7, 0x32, 0xfe, 0x41, 0x87, 0x78, 0x5b, 0x83, 0xfc, 0x8f, 0x62, 0x6e, 0xfd, + 0x3f, 0x00, 0x00, 0xff, 0xff, 0x1c, 0xec, 0x93, 0x42, 0xcf, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4281,6 +4294,43 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MinExperiencedWorkerRegrets) > 0 { + dAtA2 := make([]byte, len(m.MinExperiencedWorkerRegrets)*10) + var j1 int + for _, num1 := range m.MinExperiencedWorkerRegrets { + num := uint64(num1) + for num >= 1<<7 { + dAtA2[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA2[j1] = uint8(num) + j1++ + } + i -= j1 + copy(dAtA[i:], dAtA2[:j1]) + i = encodeVarintTx(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xaa + } + if len(m.FallbackListeningCoefficient) > 0 { + for iNdEx := len(m.FallbackListeningCoefficient) - 1; iNdEx >= 0; iNdEx-- { + { + size := m.FallbackListeningCoefficient[iNdEx].Size() + i -= size + if _, err := m.FallbackListeningCoefficient[iNdEx].MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xa2 + } + } if len(m.TopicCreatorWhitelistEnabled) > 0 { for iNdEx := len(m.TopicCreatorWhitelistEnabled) - 1; iNdEx >= 0; iNdEx-- { i-- @@ -4344,29 +4394,9 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.MaxStringLength) > 0 { - dAtA2 := make([]byte, len(m.MaxStringLength)*10) - var j1 int - for _, num := range m.MaxStringLength { - for num >= 1<<7 { - dAtA2[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA2[j1] = uint8(num) - j1++ - } - i -= j1 - copy(dAtA[i:], dAtA2[:j1]) - i = encodeVarintTx(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0x2 - i-- - dAtA[i] = 0xfa - } - if len(m.MaxActiveTopicsPerBlock) > 0 { - dAtA4 := make([]byte, len(m.MaxActiveTopicsPerBlock)*10) + dAtA4 := make([]byte, len(m.MaxStringLength)*10) var j3 int - for _, num := range m.MaxActiveTopicsPerBlock { + for _, num := range m.MaxStringLength { for num >= 1<<7 { dAtA4[j3] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4381,12 +4411,12 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2 i-- - dAtA[i] = 0xf2 + dAtA[i] = 0xfa } - if len(m.MaxElementsPerForecast) > 0 { - dAtA6 := make([]byte, len(m.MaxElementsPerForecast)*10) + if len(m.MaxActiveTopicsPerBlock) > 0 { + dAtA6 := make([]byte, len(m.MaxActiveTopicsPerBlock)*10) var j5 int - for _, num := range m.MaxElementsPerForecast { + for _, num := range m.MaxActiveTopicsPerBlock { for num >= 1<<7 { dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4401,6 +4431,26 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2 i-- + dAtA[i] = 0xf2 + } + if len(m.MaxElementsPerForecast) > 0 { + dAtA8 := make([]byte, len(m.MaxElementsPerForecast)*10) + var j7 int + for _, num := range m.MaxElementsPerForecast { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintTx(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0x2 + i-- dAtA[i] = 0xea } if len(m.EpsilonSafeDiv) > 0 { @@ -4436,20 +4486,20 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.HalfMaxProcessStakeRemovalsEndBlock) > 0 { - dAtA8 := make([]byte, len(m.HalfMaxProcessStakeRemovalsEndBlock)*10) - var j7 int + dAtA10 := make([]byte, len(m.HalfMaxProcessStakeRemovalsEndBlock)*10) + var j9 int for _, num := range m.HalfMaxProcessStakeRemovalsEndBlock { for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j7++ + j9++ } - dAtA8[j7] = uint8(num) - j7++ + dAtA10[j9] = uint8(num) + j9++ } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintTx(dAtA, i, uint64(j7)) + i -= j9 + copy(dAtA[i:], dAtA10[:j9]) + i = encodeVarintTx(dAtA, i, uint64(j9)) i-- dAtA[i] = 0x2 i-- @@ -4568,30 +4618,9 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.BlocksPerMonth) > 0 { - dAtA10 := make([]byte, len(m.BlocksPerMonth)*10) - var j9 int - for _, num := range m.BlocksPerMonth { - for num >= 1<<7 { - dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j9++ - } - dAtA10[j9] = uint8(num) - j9++ - } - i -= j9 - copy(dAtA[i:], dAtA10[:j9]) - i = encodeVarintTx(dAtA, i, uint64(j9)) - i-- - dAtA[i] = 0x2 - i-- - dAtA[i] = 0x82 - } - if len(m.MinEpochLengthRecordLimit) > 0 { - dAtA12 := make([]byte, len(m.MinEpochLengthRecordLimit)*10) + dAtA12 := make([]byte, len(m.BlocksPerMonth)*10) var j11 int - for _, num1 := range m.MinEpochLengthRecordLimit { - num := uint64(num1) + for _, num := range m.BlocksPerMonth { for num >= 1<<7 { dAtA12[j11] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4604,14 +4633,15 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], dAtA12[:j11]) i = encodeVarintTx(dAtA, i, uint64(j11)) i-- - dAtA[i] = 0x1 + dAtA[i] = 0x2 i-- - dAtA[i] = 0xfa + dAtA[i] = 0x82 } - if len(m.MaxPageLimit) > 0 { - dAtA14 := make([]byte, len(m.MaxPageLimit)*10) + if len(m.MinEpochLengthRecordLimit) > 0 { + dAtA14 := make([]byte, len(m.MinEpochLengthRecordLimit)*10) var j13 int - for _, num := range m.MaxPageLimit { + for _, num1 := range m.MinEpochLengthRecordLimit { + num := uint64(num1) for num >= 1<<7 { dAtA14[j13] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4626,12 +4656,12 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xf2 + dAtA[i] = 0xfa } - if len(m.DefaultPageLimit) > 0 { - dAtA16 := make([]byte, len(m.DefaultPageLimit)*10) + if len(m.MaxPageLimit) > 0 { + dAtA16 := make([]byte, len(m.MaxPageLimit)*10) var j15 int - for _, num := range m.DefaultPageLimit { + for _, num := range m.MaxPageLimit { for num >= 1<<7 { dAtA16[j15] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4646,6 +4676,26 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- + dAtA[i] = 0xf2 + } + if len(m.DefaultPageLimit) > 0 { + dAtA18 := make([]byte, len(m.DefaultPageLimit)*10) + var j17 int + for _, num := range m.DefaultPageLimit { + for num >= 1<<7 { + dAtA18[j17] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j17++ + } + dAtA18[j17] = uint8(num) + j17++ + } + i -= j17 + copy(dAtA[i:], dAtA18[:j17]) + i = encodeVarintTx(dAtA, i, uint64(j17)) + i-- + dAtA[i] = 0x1 + i-- dAtA[i] = 0xea } if len(m.RegistrationFee) > 0 { @@ -4665,20 +4715,20 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.GradientDescentMaxIters) > 0 { - dAtA18 := make([]byte, len(m.GradientDescentMaxIters)*10) - var j17 int + dAtA20 := make([]byte, len(m.GradientDescentMaxIters)*10) + var j19 int for _, num := range m.GradientDescentMaxIters { for num >= 1<<7 { - dAtA18[j17] = uint8(uint64(num)&0x7f | 0x80) + dAtA20[j19] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j17++ + j19++ } - dAtA18[j17] = uint8(num) - j17++ + dAtA20[j19] = uint8(num) + j19++ } - i -= j17 - copy(dAtA[i:], dAtA18[:j17]) - i = encodeVarintTx(dAtA, i, uint64(j17)) + i -= j19 + copy(dAtA[i:], dAtA20[:j19]) + i = encodeVarintTx(dAtA, i, uint64(j19)) i-- dAtA[i] = 0x1 i-- @@ -4701,29 +4751,9 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.MaxTopReputersToReward) > 0 { - dAtA20 := make([]byte, len(m.MaxTopReputersToReward)*10) - var j19 int - for _, num := range m.MaxTopReputersToReward { - for num >= 1<<7 { - dAtA20[j19] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j19++ - } - dAtA20[j19] = uint8(num) - j19++ - } - i -= j19 - copy(dAtA[i:], dAtA20[:j19]) - i = encodeVarintTx(dAtA, i, uint64(j19)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xba - } - if len(m.MaxTopForecastersToReward) > 0 { - dAtA22 := make([]byte, len(m.MaxTopForecastersToReward)*10) + dAtA22 := make([]byte, len(m.MaxTopReputersToReward)*10) var j21 int - for _, num := range m.MaxTopForecastersToReward { + for _, num := range m.MaxTopReputersToReward { for num >= 1<<7 { dAtA22[j21] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4738,12 +4768,12 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xb2 + dAtA[i] = 0xba } - if len(m.MaxTopInferersToReward) > 0 { - dAtA24 := make([]byte, len(m.MaxTopInferersToReward)*10) + if len(m.MaxTopForecastersToReward) > 0 { + dAtA24 := make([]byte, len(m.MaxTopForecastersToReward)*10) var j23 int - for _, num := range m.MaxTopInferersToReward { + for _, num := range m.MaxTopForecastersToReward { for num >= 1<<7 { dAtA24[j23] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4758,12 +4788,12 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xaa + dAtA[i] = 0xb2 } - if len(m.MaxSamplesToScaleScores) > 0 { - dAtA26 := make([]byte, len(m.MaxSamplesToScaleScores)*10) + if len(m.MaxTopInferersToReward) > 0 { + dAtA26 := make([]byte, len(m.MaxTopInferersToReward)*10) var j25 int - for _, num := range m.MaxSamplesToScaleScores { + for _, num := range m.MaxTopInferersToReward { for num >= 1<<7 { dAtA26[j25] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -4778,6 +4808,26 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- + dAtA[i] = 0xaa + } + if len(m.MaxSamplesToScaleScores) > 0 { + dAtA28 := make([]byte, len(m.MaxSamplesToScaleScores)*10) + var j27 int + for _, num := range m.MaxSamplesToScaleScores { + for num >= 1<<7 { + dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j27++ + } + dAtA28[j27] = uint8(num) + j27++ + } + i -= j27 + copy(dAtA[i:], dAtA28[:j27]) + i = encodeVarintTx(dAtA, i, uint64(j27)) + i-- + dAtA[i] = 0x1 + i-- dAtA[i] = 0xa2 } if len(m.ValidatorsVsAlloraPercentReward) > 0 { @@ -4859,38 +4909,38 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.MaxUnfulfilledReputerRequests) > 0 { - dAtA28 := make([]byte, len(m.MaxUnfulfilledReputerRequests)*10) - var j27 int + dAtA30 := make([]byte, len(m.MaxUnfulfilledReputerRequests)*10) + var j29 int for _, num := range m.MaxUnfulfilledReputerRequests { for num >= 1<<7 { - dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j27++ + j29++ } - dAtA28[j27] = uint8(num) - j27++ + dAtA30[j29] = uint8(num) + j29++ } - i -= j27 - copy(dAtA[i:], dAtA28[:j27]) - i = encodeVarintTx(dAtA, i, uint64(j27)) + i -= j29 + copy(dAtA[i:], dAtA30[:j29]) + i = encodeVarintTx(dAtA, i, uint64(j29)) i-- dAtA[i] = 0x72 } if len(m.MaxUnfulfilledWorkerRequests) > 0 { - dAtA30 := make([]byte, len(m.MaxUnfulfilledWorkerRequests)*10) - var j29 int + dAtA32 := make([]byte, len(m.MaxUnfulfilledWorkerRequests)*10) + var j31 int for _, num := range m.MaxUnfulfilledWorkerRequests { for num >= 1<<7 { - dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) + dAtA32[j31] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j29++ + j31++ } - dAtA30[j29] = uint8(num) - j29++ + dAtA32[j31] = uint8(num) + j31++ } - i -= j29 - copy(dAtA[i:], dAtA30[:j29]) - i = encodeVarintTx(dAtA, i, uint64(j29)) + i -= j31 + copy(dAtA[i:], dAtA32[:j31]) + i = encodeVarintTx(dAtA, i, uint64(j31)) i-- dAtA[i] = 0x6a } @@ -4951,40 +5001,40 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.MinEpochLength) > 0 { - dAtA32 := make([]byte, len(m.MinEpochLength)*10) - var j31 int + dAtA34 := make([]byte, len(m.MinEpochLength)*10) + var j33 int for _, num1 := range m.MinEpochLength { num := uint64(num1) for num >= 1<<7 { - dAtA32[j31] = uint8(uint64(num)&0x7f | 0x80) + dAtA34[j33] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j31++ + j33++ } - dAtA32[j31] = uint8(num) - j31++ + dAtA34[j33] = uint8(num) + j33++ } - i -= j31 - copy(dAtA[i:], dAtA32[:j31]) - i = encodeVarintTx(dAtA, i, uint64(j31)) + i -= j33 + copy(dAtA[i:], dAtA34[:j33]) + i = encodeVarintTx(dAtA, i, uint64(j33)) i-- dAtA[i] = 0x3a } if len(m.RemoveStakeDelayWindow) > 0 { - dAtA34 := make([]byte, len(m.RemoveStakeDelayWindow)*10) - var j33 int + dAtA36 := make([]byte, len(m.RemoveStakeDelayWindow)*10) + var j35 int for _, num1 := range m.RemoveStakeDelayWindow { num := uint64(num1) for num >= 1<<7 { - dAtA34[j33] = uint8(uint64(num)&0x7f | 0x80) + dAtA36[j35] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j33++ + j35++ } - dAtA34[j33] = uint8(num) - j33++ + dAtA36[j35] = uint8(num) + j35++ } - i -= j33 - copy(dAtA[i:], dAtA34[:j33]) - i = encodeVarintTx(dAtA, i, uint64(j33)) + i -= j35 + copy(dAtA[i:], dAtA36[:j35]) + i = encodeVarintTx(dAtA, i, uint64(j35)) i-- dAtA[i] = 0x32 } @@ -5017,21 +5067,21 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.MaxSerializedMsgLength) > 0 { - dAtA36 := make([]byte, len(m.MaxSerializedMsgLength)*10) - var j35 int + dAtA38 := make([]byte, len(m.MaxSerializedMsgLength)*10) + var j37 int for _, num1 := range m.MaxSerializedMsgLength { num := uint64(num1) for num >= 1<<7 { - dAtA36[j35] = uint8(uint64(num)&0x7f | 0x80) + dAtA38[j37] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j35++ + j37++ } - dAtA36[j35] = uint8(num) - j35++ + dAtA38[j37] = uint8(num) + j37++ } - i -= j35 - copy(dAtA[i:], dAtA36[:j35]) - i = encodeVarintTx(dAtA, i, uint64(j35)) + i -= j37 + copy(dAtA[i:], dAtA38[:j37]) + i = encodeVarintTx(dAtA, i, uint64(j37)) i-- dAtA[i] = 0x12 } @@ -7316,6 +7366,19 @@ func (m *OptionalParams) Size() (n int) { if len(m.TopicCreatorWhitelistEnabled) > 0 { n += 2 + sovTx(uint64(len(m.TopicCreatorWhitelistEnabled))) + len(m.TopicCreatorWhitelistEnabled)*1 } + if len(m.FallbackListeningCoefficient) > 0 { + for _, e := range m.FallbackListeningCoefficient { + l = e.Size() + n += 2 + l + sovTx(uint64(l)) + } + } + if len(m.MinExperiencedWorkerRegrets) > 0 { + l = 0 + for _, e := range m.MinExperiencedWorkerRegrets { + l += sovTx(uint64(e)) + } + n += 2 + sovTx(uint64(l)) + l + } return n } @@ -10577,6 +10640,118 @@ func (m *OptionalParams) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field TopicCreatorWhitelistEnabled", wireType) } + case 52: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v github_com_allora_network_allora_chain_math.Dec + m.FallbackListeningCoefficient = append(m.FallbackListeningCoefficient, v) + if err := m.FallbackListeningCoefficient[len(m.FallbackListeningCoefficient)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 53: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MinExperiencedWorkerRegrets = append(m.MinExperiencedWorkerRegrets, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.MinExperiencedWorkerRegrets) == 0 { + m.MinExperiencedWorkerRegrets = make([]int64, 0, elementCount) + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MinExperiencedWorkerRegrets = append(m.MinExperiencedWorkerRegrets, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field MinExperiencedWorkerRegrets", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) From 9c13d605212fa2c08d8fcda5713ac8a371277ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 2 Dec 2024 23:36:55 +0000 Subject: [PATCH 12/16] Fix tx pulsar --- x/emissions/api/emissions/v6/tx.pulsar.go | 42 ++--------------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/x/emissions/api/emissions/v6/tx.pulsar.go b/x/emissions/api/emissions/v6/tx.pulsar.go index ca7fde64c..13e84b9d2 100644 --- a/x/emissions/api/emissions/v6/tx.pulsar.go +++ b/x/emissions/api/emissions/v6/tx.pulsar.go @@ -35767,45 +35767,9 @@ var file_emissions_v6_tx_proto_rawDesc = []byte{ 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x33, 0x20, 0x03, 0x28, 0x08, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, - 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, 0x08, 0x29, 0x10, 0x2a, - 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x76, 0x65, - 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, - 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x61, - 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x13, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x16, - 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x09, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x73, - 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x74, - 0x68, 0x4c, 0x61, 0x67, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x70, - 0x4e, 0x6f, 0x72, 0x6d, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x72, 0x65, - 0x67, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, + 0x65, 0x64, 0x12, 0x7d, 0x0a, 0x1e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x34, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, From 5a7708b60e72309c222e8c14ab80fca7ba93e853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 2 Dec 2024 23:49:46 +0000 Subject: [PATCH 13/16] Remove fallback regret --- test/integration/update_params_test.go | 3 - x/emissions/api/emissions/v6/params.pulsar.go | 150 +- x/emissions/api/emissions/v6/tx.pulsar.go | 1248 ++++++++--------- x/emissions/keeper/keeper_test.go | 1 - .../keeper/msgserver/msg_server_params.go | 3 - .../msgserver/msg_server_params_test.go | 2 - .../msg_server_worker_payload_test.go | 2 - x/emissions/migrations/v6/migrate.go | 1 - x/emissions/module/rewards/rewards_test.go | 1 - x/emissions/proto/emissions/v6/params.proto | 6 +- x/emissions/proto/emissions/v6/tx.proto | 6 +- x/emissions/types/params.go | 11 - x/emissions/types/params.pb.go | 243 ++-- x/emissions/types/params_test.go | 1 - x/emissions/types/tx.pb.go | 459 +++--- 15 files changed, 884 insertions(+), 1253 deletions(-) diff --git a/test/integration/update_params_test.go b/test/integration/update_params_test.go index 08acb3ecc..f6dba6403 100644 --- a/test/integration/update_params_test.go +++ b/test/integration/update_params_test.go @@ -88,7 +88,6 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, }, } @@ -148,7 +147,6 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, }, } @@ -212,7 +210,6 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, }, } diff --git a/x/emissions/api/emissions/v6/params.pulsar.go b/x/emissions/api/emissions/v6/params.pulsar.go index 21a6228c5..f11cd0097 100644 --- a/x/emissions/api/emissions/v6/params.pulsar.go +++ b/x/emissions/api/emissions/v6/params.pulsar.go @@ -62,7 +62,6 @@ var ( fd_Params_p_norm_safe_div protoreflect.FieldDescriptor fd_Params_global_whitelist_enabled protoreflect.FieldDescriptor fd_Params_topic_creator_whitelist_enabled protoreflect.FieldDescriptor - fd_Params_fallback_listening_coefficient protoreflect.FieldDescriptor fd_Params_min_experienced_worker_regrets protoreflect.FieldDescriptor ) @@ -114,7 +113,6 @@ func init() { fd_Params_p_norm_safe_div = md_Params.Fields().ByName("p_norm_safe_div") fd_Params_global_whitelist_enabled = md_Params.Fields().ByName("global_whitelist_enabled") fd_Params_topic_creator_whitelist_enabled = md_Params.Fields().ByName("topic_creator_whitelist_enabled") - fd_Params_fallback_listening_coefficient = md_Params.Fields().ByName("fallback_listening_coefficient") fd_Params_min_experienced_worker_regrets = md_Params.Fields().ByName("min_experienced_worker_regrets") } @@ -453,12 +451,6 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } - if x.FallbackListeningCoefficient != "" { - value := protoreflect.ValueOfString(x.FallbackListeningCoefficient) - if !f(fd_Params_fallback_listening_coefficient, value) { - return - } - } if x.MinExperiencedWorkerRegrets != int64(0) { value := protoreflect.ValueOfInt64(x.MinExperiencedWorkerRegrets) if !f(fd_Params_min_experienced_worker_regrets, value) { @@ -570,8 +562,6 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.GlobalWhitelistEnabled != false case "emissions.v6.Params.topic_creator_whitelist_enabled": return x.TopicCreatorWhitelistEnabled != false - case "emissions.v6.Params.fallback_listening_coefficient": - return x.FallbackListeningCoefficient != "" case "emissions.v6.Params.min_experienced_worker_regrets": return x.MinExperiencedWorkerRegrets != int64(0) default: @@ -680,8 +670,6 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.GlobalWhitelistEnabled = false case "emissions.v6.Params.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = false - case "emissions.v6.Params.fallback_listening_coefficient": - x.FallbackListeningCoefficient = "" case "emissions.v6.Params.min_experienced_worker_regrets": x.MinExperiencedWorkerRegrets = int64(0) default: @@ -835,9 +823,6 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "emissions.v6.Params.topic_creator_whitelist_enabled": value := x.TopicCreatorWhitelistEnabled return protoreflect.ValueOfBool(value) - case "emissions.v6.Params.fallback_listening_coefficient": - value := x.FallbackListeningCoefficient - return protoreflect.ValueOfString(value) case "emissions.v6.Params.min_experienced_worker_regrets": value := x.MinExperiencedWorkerRegrets return protoreflect.ValueOfInt64(value) @@ -951,8 +936,6 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.GlobalWhitelistEnabled = value.Bool() case "emissions.v6.Params.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = value.Bool() - case "emissions.v6.Params.fallback_listening_coefficient": - x.FallbackListeningCoefficient = value.Interface().(string) case "emissions.v6.Params.min_experienced_worker_regrets": x.MinExperiencedWorkerRegrets = value.Int() default: @@ -1065,8 +1048,6 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field global_whitelist_enabled of message emissions.v6.Params is not mutable")) case "emissions.v6.Params.topic_creator_whitelist_enabled": panic(fmt.Errorf("field topic_creator_whitelist_enabled of message emissions.v6.Params is not mutable")) - case "emissions.v6.Params.fallback_listening_coefficient": - panic(fmt.Errorf("field fallback_listening_coefficient of message emissions.v6.Params is not mutable")) case "emissions.v6.Params.min_experienced_worker_regrets": panic(fmt.Errorf("field min_experienced_worker_regrets of message emissions.v6.Params is not mutable")) default: @@ -1172,8 +1153,6 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfBool(false) case "emissions.v6.Params.topic_creator_whitelist_enabled": return protoreflect.ValueOfBool(false) - case "emissions.v6.Params.fallback_listening_coefficient": - return protoreflect.ValueOfString("") case "emissions.v6.Params.min_experienced_worker_regrets": return protoreflect.ValueOfInt64(int64(0)) default: @@ -1405,10 +1384,6 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if x.TopicCreatorWhitelistEnabled { n += 3 } - l = len(x.FallbackListeningCoefficient) - if l > 0 { - n += 2 + l + runtime.Sov(uint64(l)) - } if x.MinExperiencedWorkerRegrets != 0 { n += 2 + runtime.Sov(uint64(x.MinExperiencedWorkerRegrets)) } @@ -1446,16 +1421,7 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x3 i-- - dAtA[i] = 0xa8 - } - if len(x.FallbackListeningCoefficient) > 0 { - i -= len(x.FallbackListeningCoefficient) - copy(dAtA[i:], x.FallbackListeningCoefficient) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.FallbackListeningCoefficient))) - i-- - dAtA[i] = 0x3 - i-- - dAtA[i] = 0xa2 + dAtA[i] = 0xa0 } if x.TopicCreatorWhitelistEnabled { i-- @@ -3038,38 +3004,6 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } x.TopicCreatorWhitelistEnabled = bool(v != 0) case 52: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.FallbackListeningCoefficient = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 53: if wireType != 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinExperiencedWorkerRegrets", wireType) } @@ -3204,9 +3138,8 @@ type Params struct { PNormSafeDiv string `protobuf:"bytes,49,opt,name=p_norm_safe_div,json=pNormSafeDiv,proto3" json:"p_norm_safe_div,omitempty"` GlobalWhitelistEnabled bool `protobuf:"varint,50,opt,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers - TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` // topic creator whitelist enabled => only topic creator whitelisted actors can create topics - FallbackListeningCoefficient string `protobuf:"bytes,52,opt,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3" json:"fallback_listening_coefficient,omitempty"` // listening coefficient to be used when there's just one reputer in the topic reward epoch and it has a previous listening coefficients of zero - MinExperiencedWorkerRegrets int64 `protobuf:"varint,53,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` // minimum number of experienced workers required to use their regrets for calculating the topic initial regret + TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` // topic creator whitelist enabled => only topic creator whitelisted actors can create topics + MinExperiencedWorkerRegrets int64 `protobuf:"varint,52,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } func (x *Params) Reset() { @@ -3544,13 +3477,6 @@ func (x *Params) GetTopicCreatorWhitelistEnabled() bool { return false } -func (x *Params) GetFallbackListeningCoefficient() string { - if x != nil { - return x.FallbackListeningCoefficient - } - return "" -} - func (x *Params) GetMinExperiencedWorkerRegrets() int64 { if x != nil { return x.MinExperiencedWorkerRegrets @@ -3567,7 +3493,7 @@ var file_emissions_v6_params_proto_rawDesc = []byte{ 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x1f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x1e, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, @@ -3798,44 +3724,36 @@ var file_emissions_v6_params_proto_rawDesc = []byte{ 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x7d, - 0x0a, 0x1e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, - 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, - 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, - 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, - 0x1c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, - 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, - 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x18, - 0x35, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x72, 0x65, - 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, - 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, 0x08, 0x29, 0x10, 0x2a, - 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x76, 0x65, - 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, - 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x61, - 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x42, 0xc1, 0x01, 0x0a, - 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x36, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, - 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, - 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x76, - 0x36, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x36, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, + 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, + 0x18, 0x34, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x72, + 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, + 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, 0x08, 0x29, 0x10, + 0x2a, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x63, + 0x61, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x42, 0xc1, 0x01, + 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, + 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, + 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x76, 0x36, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, + 0x36, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/emissions/api/emissions/v6/tx.pulsar.go b/x/emissions/api/emissions/v6/tx.pulsar.go index 13e84b9d2..4a541991d 100644 --- a/x/emissions/api/emissions/v6/tx.pulsar.go +++ b/x/emissions/api/emissions/v6/tx.pulsar.go @@ -2090,7 +2090,7 @@ func (x *_OptionalParams_51_list) IsValid() bool { var _ protoreflect.List = (*_OptionalParams_52_list)(nil) type _OptionalParams_52_list struct { - list *[]string + list *[]int64 } func (x *_OptionalParams_52_list) Len() int { @@ -2101,23 +2101,23 @@ func (x *_OptionalParams_52_list) Len() int { } func (x *_OptionalParams_52_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) + return protoreflect.ValueOfInt64((*x.list)[i]) } func (x *_OptionalParams_52_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() + valueUnwrapped := value.Int() concreteValue := valueUnwrapped (*x.list)[i] = concreteValue } func (x *_OptionalParams_52_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() + valueUnwrapped := value.Int() concreteValue := valueUnwrapped *x.list = append(*x.list, concreteValue) } func (x *_OptionalParams_52_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field FallbackListeningCoefficient as it is not of Message kind")) + panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinExperiencedWorkerRegrets as it is not of Message kind")) } func (x *_OptionalParams_52_list) Truncate(n int) { @@ -2125,57 +2125,11 @@ func (x *_OptionalParams_52_list) Truncate(n int) { } func (x *_OptionalParams_52_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_OptionalParams_52_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_OptionalParams_53_list)(nil) - -type _OptionalParams_53_list struct { - list *[]int64 -} - -func (x *_OptionalParams_53_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_OptionalParams_53_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfInt64((*x.list)[i]) -} - -func (x *_OptionalParams_53_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Int() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_OptionalParams_53_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Int() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_OptionalParams_53_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinExperiencedWorkerRegrets as it is not of Message kind")) -} - -func (x *_OptionalParams_53_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_OptionalParams_53_list) NewElement() protoreflect.Value { v := int64(0) return protoreflect.ValueOfInt64(v) } -func (x *_OptionalParams_53_list) IsValid() bool { +func (x *_OptionalParams_52_list) IsValid() bool { return x.list != nil } @@ -2226,7 +2180,6 @@ var ( fd_OptionalParams_p_norm_safe_div protoreflect.FieldDescriptor fd_OptionalParams_global_whitelist_enabled protoreflect.FieldDescriptor fd_OptionalParams_topic_creator_whitelist_enabled protoreflect.FieldDescriptor - fd_OptionalParams_fallback_listening_coefficient protoreflect.FieldDescriptor fd_OptionalParams_min_experienced_worker_regrets protoreflect.FieldDescriptor ) @@ -2278,7 +2231,6 @@ func init() { fd_OptionalParams_p_norm_safe_div = md_OptionalParams.Fields().ByName("p_norm_safe_div") fd_OptionalParams_global_whitelist_enabled = md_OptionalParams.Fields().ByName("global_whitelist_enabled") fd_OptionalParams_topic_creator_whitelist_enabled = md_OptionalParams.Fields().ByName("topic_creator_whitelist_enabled") - fd_OptionalParams_fallback_listening_coefficient = md_OptionalParams.Fields().ByName("fallback_listening_coefficient") fd_OptionalParams_min_experienced_worker_regrets = md_OptionalParams.Fields().ByName("min_experienced_worker_regrets") } @@ -2617,14 +2569,8 @@ func (x *fastReflection_OptionalParams) Range(f func(protoreflect.FieldDescripto return } } - if len(x.FallbackListeningCoefficient) != 0 { - value := protoreflect.ValueOfList(&_OptionalParams_52_list{list: &x.FallbackListeningCoefficient}) - if !f(fd_OptionalParams_fallback_listening_coefficient, value) { - return - } - } if len(x.MinExperiencedWorkerRegrets) != 0 { - value := protoreflect.ValueOfList(&_OptionalParams_53_list{list: &x.MinExperiencedWorkerRegrets}) + value := protoreflect.ValueOfList(&_OptionalParams_52_list{list: &x.MinExperiencedWorkerRegrets}) if !f(fd_OptionalParams_min_experienced_worker_regrets, value) { return } @@ -2734,8 +2680,6 @@ func (x *fastReflection_OptionalParams) Has(fd protoreflect.FieldDescriptor) boo return len(x.GlobalWhitelistEnabled) != 0 case "emissions.v6.OptionalParams.topic_creator_whitelist_enabled": return len(x.TopicCreatorWhitelistEnabled) != 0 - case "emissions.v6.OptionalParams.fallback_listening_coefficient": - return len(x.FallbackListeningCoefficient) != 0 case "emissions.v6.OptionalParams.min_experienced_worker_regrets": return len(x.MinExperiencedWorkerRegrets) != 0 default: @@ -2844,8 +2788,6 @@ func (x *fastReflection_OptionalParams) Clear(fd protoreflect.FieldDescriptor) { x.GlobalWhitelistEnabled = nil case "emissions.v6.OptionalParams.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = nil - case "emissions.v6.OptionalParams.fallback_listening_coefficient": - x.FallbackListeningCoefficient = nil case "emissions.v6.OptionalParams.min_experienced_worker_regrets": x.MinExperiencedWorkerRegrets = nil default: @@ -3134,17 +3076,11 @@ func (x *fastReflection_OptionalParams) Get(descriptor protoreflect.FieldDescrip } listValue := &_OptionalParams_51_list{list: &x.TopicCreatorWhitelistEnabled} return protoreflect.ValueOfList(listValue) - case "emissions.v6.OptionalParams.fallback_listening_coefficient": - if len(x.FallbackListeningCoefficient) == 0 { - return protoreflect.ValueOfList(&_OptionalParams_52_list{}) - } - listValue := &_OptionalParams_52_list{list: &x.FallbackListeningCoefficient} - return protoreflect.ValueOfList(listValue) case "emissions.v6.OptionalParams.min_experienced_worker_regrets": if len(x.MinExperiencedWorkerRegrets) == 0 { - return protoreflect.ValueOfList(&_OptionalParams_53_list{}) + return protoreflect.ValueOfList(&_OptionalParams_52_list{}) } - listValue := &_OptionalParams_53_list{list: &x.MinExperiencedWorkerRegrets} + listValue := &_OptionalParams_52_list{list: &x.MinExperiencedWorkerRegrets} return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { @@ -3346,13 +3282,9 @@ func (x *fastReflection_OptionalParams) Set(fd protoreflect.FieldDescriptor, val lv := value.List() clv := lv.(*_OptionalParams_51_list) x.TopicCreatorWhitelistEnabled = *clv.list - case "emissions.v6.OptionalParams.fallback_listening_coefficient": - lv := value.List() - clv := lv.(*_OptionalParams_52_list) - x.FallbackListeningCoefficient = *clv.list case "emissions.v6.OptionalParams.min_experienced_worker_regrets": lv := value.List() - clv := lv.(*_OptionalParams_53_list) + clv := lv.(*_OptionalParams_52_list) x.MinExperiencedWorkerRegrets = *clv.list default: if fd.IsExtension() { @@ -3644,17 +3576,11 @@ func (x *fastReflection_OptionalParams) Mutable(fd protoreflect.FieldDescriptor) } value := &_OptionalParams_51_list{list: &x.TopicCreatorWhitelistEnabled} return protoreflect.ValueOfList(value) - case "emissions.v6.OptionalParams.fallback_listening_coefficient": - if x.FallbackListeningCoefficient == nil { - x.FallbackListeningCoefficient = []string{} - } - value := &_OptionalParams_52_list{list: &x.FallbackListeningCoefficient} - return protoreflect.ValueOfList(value) case "emissions.v6.OptionalParams.min_experienced_worker_regrets": if x.MinExperiencedWorkerRegrets == nil { x.MinExperiencedWorkerRegrets = []int64{} } - value := &_OptionalParams_53_list{list: &x.MinExperiencedWorkerRegrets} + value := &_OptionalParams_52_list{list: &x.MinExperiencedWorkerRegrets} return protoreflect.ValueOfList(value) default: if fd.IsExtension() { @@ -3804,12 +3730,9 @@ func (x *fastReflection_OptionalParams) NewField(fd protoreflect.FieldDescriptor case "emissions.v6.OptionalParams.topic_creator_whitelist_enabled": list := []bool{} return protoreflect.ValueOfList(&_OptionalParams_51_list{list: &list}) - case "emissions.v6.OptionalParams.fallback_listening_coefficient": - list := []string{} - return protoreflect.ValueOfList(&_OptionalParams_52_list{list: &list}) case "emissions.v6.OptionalParams.min_experienced_worker_regrets": list := []int64{} - return protoreflect.ValueOfList(&_OptionalParams_53_list{list: &list}) + return protoreflect.ValueOfList(&_OptionalParams_52_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.OptionalParams")) @@ -4161,12 +4084,6 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { if len(x.TopicCreatorWhitelistEnabled) > 0 { n += 2 + runtime.Sov(uint64(len(x.TopicCreatorWhitelistEnabled))) + len(x.TopicCreatorWhitelistEnabled)*1 } - if len(x.FallbackListeningCoefficient) > 0 { - for _, s := range x.FallbackListeningCoefficient { - l = len(s) - n += 2 + l + runtime.Sov(uint64(l)) - } - } if len(x.MinExperiencedWorkerRegrets) > 0 { l = 0 for _, e := range x.MinExperiencedWorkerRegrets { @@ -4224,18 +4141,7 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x3 i-- - dAtA[i] = 0xaa - } - if len(x.FallbackListeningCoefficient) > 0 { - for iNdEx := len(x.FallbackListeningCoefficient) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.FallbackListeningCoefficient[iNdEx]) - copy(dAtA[i:], x.FallbackListeningCoefficient[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.FallbackListeningCoefficient[iNdEx]))) - i-- - dAtA[i] = 0x3 - i-- - dAtA[i] = 0xa2 - } + dAtA[i] = 0xa2 } if len(x.TopicCreatorWhitelistEnabled) > 0 { for iNdEx := len(x.TopicCreatorWhitelistEnabled) - 1; iNdEx >= 0; iNdEx-- { @@ -7274,38 +7180,6 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicCreatorWhitelistEnabled", wireType) } case 52: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.FallbackListeningCoefficient = append(x.FallbackListeningCoefficient, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 53: if wireType == 0 { var v int64 for shift := uint(0); ; shift += 7 { @@ -32942,8 +32816,7 @@ type OptionalParams struct { PNormSafeDiv []string `protobuf:"bytes,49,rep,name=p_norm_safe_div,json=pNormSafeDiv,proto3" json:"p_norm_safe_div,omitempty"` GlobalWhitelistEnabled []bool `protobuf:"varint,50,rep,packed,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` TopicCreatorWhitelistEnabled []bool `protobuf:"varint,51,rep,packed,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` - FallbackListeningCoefficient []string `protobuf:"bytes,52,rep,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3" json:"fallback_listening_coefficient,omitempty"` - MinExperiencedWorkerRegrets []int64 `protobuf:"varint,53,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` + MinExperiencedWorkerRegrets []int64 `protobuf:"varint,52,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (x *OptionalParams) Reset() { @@ -33281,13 +33154,6 @@ func (x *OptionalParams) GetTopicCreatorWhitelistEnabled() []bool { return nil } -func (x *OptionalParams) GetFallbackListeningCoefficient() []string { - if x != nil { - return x.FallbackListeningCoefficient - } - return nil -} - func (x *OptionalParams) GetMinExperiencedWorkerRegrets() []int64 { if x != nil { return x.MinExperiencedWorkerRegrets @@ -35535,7 +35401,7 @@ var file_emissions_v6_tx_proto_rawDesc = []byte{ 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x1f, 0x0a, 0x0e, 0x4f, 0x70, + 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x1e, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, @@ -35767,599 +35633,591 @@ var file_emissions_v6_tx_proto_rawDesc = []byte{ 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x33, 0x20, 0x03, 0x28, 0x08, 0x52, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x12, 0x7d, 0x0a, 0x1e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, - 0x69, 0x65, 0x6e, 0x74, 0x18, 0x34, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, - 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, - 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x44, 0x65, 0x63, 0x52, 0x1c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x72, - 0x65, 0x74, 0x73, 0x18, 0x35, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, - 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, - 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, - 0x08, 0x29, 0x10, 0x2a, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, - 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, - 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, - 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, - 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x09, 0x0a, 0x15, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, - 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, - 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x5f, 0x6c, - 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x54, 0x72, 0x75, 0x74, 0x68, 0x4c, 0x61, 0x67, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x5f, 0x6e, 0x6f, - 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x65, 0x64, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, + 0x72, 0x65, 0x74, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, + 0x1a, 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, + 0x04, 0x08, 0x29, 0x10, 0x2a, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x1b, 0x6d, 0x69, 0x6e, + 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1c, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, + 0x5f, 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x52, 0x24, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x12, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x09, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, + 0x6f, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, + 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x5f, + 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x54, 0x72, 0x75, 0x74, 0x68, 0x4c, 0x61, 0x67, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x5f, 0x6e, + 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, + 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, + 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, + 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, + 0x65, 0x63, 0x52, 0x05, 0x70, 0x4e, 0x6f, 0x72, 0x6d, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, + 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x51, 0x0a, 0x07, + 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x12, + 0x38, 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x6b, 0x0a, 0x15, 0x6d, 0x65, 0x72, + 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, - 0x63, 0x52, 0x05, 0x70, 0x4e, 0x6f, 0x72, 0x6d, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, - 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, - 0x67, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x51, 0x0a, 0x07, 0x65, - 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, - 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x12, 0x38, - 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x6b, 0x0a, 0x15, 0x6d, 0x65, 0x72, 0x69, - 0x74, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x63, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x69, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x6f, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, - 0x52, 0x13, 0x6d, 0x65, 0x72, 0x69, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x6f, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, - 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, - 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, - 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x75, 0x0a, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, - 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, - 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x44, 0x65, 0x63, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x6f, 0x0a, - 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, - 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x36, - 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, - 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4a, 0x04, - 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, - 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, - 0x69, 0x63, 0x52, 0x0f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x6f, - 0x67, 0x69, 0x63, 0x52, 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, - 0x72, 0x67, 0x22, 0x33, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x52, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x12, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x22, 0x1e, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x8f, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x75, 0x0a, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, + 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, + 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x44, 0x65, 0x63, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6f, 0x72, 0x65, + 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x6f, + 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, + 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4a, + 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, + 0x07, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x52, 0x0f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, + 0x6f, 0x67, 0x69, 0x63, 0x52, 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x61, 0x72, 0x67, 0x22, 0x33, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x12, 0x52, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x52, 0x12, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xae, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, + 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x5f, 0x70, 0x32, 0x70, + 0x5f, 0x6b, 0x65, 0x79, 0x52, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x46, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x41, 0x64, + 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, + 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x53, 0x74, + 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x12, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, + 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, + 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x15, 0x0a, 0x13, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, + 0x1b, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, + 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, - 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, - 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x5f, 0x70, 0x32, 0x70, 0x5f, - 0x6b, 0x65, 0x79, 0x52, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x46, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x64, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, - 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, - 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, - 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, - 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, + 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, + 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x15, 0x0a, 0x13, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, - 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1b, - 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, + 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x1a, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, - 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, + 0x0a, 0x1b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, + 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, + 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, + 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, + 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5b, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, + 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x0a, + 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, - 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, + 0x22, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x21, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, - 0x75, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x22, 0x23, 0x0a, 0x21, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x1a, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, - 0x1b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, - 0x10, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, + 0x0a, 0x22, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x22, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x46, - 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x5b, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, - 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x1f, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x22, 0x25, 0x0a, 0x23, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, + 0x26, 0x0a, 0x24, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, + 0x21, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x22, 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x20, 0x41, + 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x22, - 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x63, 0x0a, 0x21, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, - 0x22, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x22, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x22, 0x25, 0x0a, 0x23, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, - 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x26, - 0x0a, 0x24, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, - 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, + 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x41, 0x64, 0x64, + 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, + 0x01, 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x21, - 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x21, + 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, - 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x20, 0x41, 0x64, - 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x54, - 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, - 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x21, 0x41, + 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, - 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x41, 0x64, - 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x82, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, - 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x32, 0xf0, 0x18, 0x0a, 0x0a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x55, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x36, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, - 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x82, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x32, 0xf0, 0x18, 0x0a, 0x0a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x55, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x67, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, - 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x36, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, - 0x65, 0x12, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x22, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, 0x2e, - 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, - 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2e, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, - 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x41, 0x64, - 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x12, 0x20, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, + 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x22, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, + 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7c, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2e, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, + 0x09, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1e, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x41, + 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, + 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x2d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x28, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, + 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, + 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, - 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x14, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, - 0x64, 0x64, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x19, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, - 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, - 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x19, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x82, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, - 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1b, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x65, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, - 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, + 0x1a, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, - 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, + 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, + 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, - 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, - 0x0a, 0x19, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, - 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x41, 0x64, - 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7c, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, + 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, + 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, + 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x33, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x41, + 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x1f, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, - 0xb0, 0x2a, 0x01, 0x42, 0xbd, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x76, 0x36, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, - 0x3a, 0x56, 0x36, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8e, 0x01, 0x0a, + 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x34, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, + 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, + 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xbd, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x36, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x36, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x76, 0x36, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x36, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x36, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x3a, 0x3a, 0x56, 0x36, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/emissions/keeper/keeper_test.go b/x/emissions/keeper/keeper_test.go index 3be1b1210..6cb04b05e 100644 --- a/x/emissions/keeper/keeper_test.go +++ b/x/emissions/keeper/keeper_test.go @@ -3815,7 +3815,6 @@ func mockUninitializedParams() types.Params { PNormSafeDiv: alloraMath.ZeroDec(), GlobalWhitelistEnabled: true, TopicCreatorWhitelistEnabled: true, - FallbackListeningCoefficient: alloraMath.MustNewDecFromString("0.5"), MinExperiencedWorkerRegrets: int64(10), } } diff --git a/x/emissions/keeper/msgserver/msg_server_params.go b/x/emissions/keeper/msgserver/msg_server_params.go index ac7ababa9..91424fefa 100644 --- a/x/emissions/keeper/msgserver/msg_server_params.go +++ b/x/emissions/keeper/msgserver/msg_server_params.go @@ -162,9 +162,6 @@ func (ms msgServer) UpdateParams(ctx context.Context, msg *types.UpdateParamsReq if len(newParams.TopicCreatorWhitelistEnabled) == 1 { existingParams.TopicCreatorWhitelistEnabled = newParams.TopicCreatorWhitelistEnabled[0] } - if len(newParams.FallbackListeningCoefficient) == 1 { - existingParams.FallbackListeningCoefficient = newParams.FallbackListeningCoefficient[0] - } if len(newParams.MinExperiencedWorkerRegrets) == 1 { existingParams.MinExperiencedWorkerRegrets = newParams.MinExperiencedWorkerRegrets[0] } diff --git a/x/emissions/keeper/msgserver/msg_server_params_test.go b/x/emissions/keeper/msgserver/msg_server_params_test.go index b4f242e0b..899af0e20 100644 --- a/x/emissions/keeper/msgserver/msg_server_params_test.go +++ b/x/emissions/keeper/msgserver/msg_server_params_test.go @@ -65,7 +65,6 @@ func (s *MsgServerTestSuite) TestUpdateAllParams() { PNormSafeDiv: []alloraMath.Dec{alloraMath.ZeroDec()}, GlobalWhitelistEnabled: []bool{true}, TopicCreatorWhitelistEnabled: []bool{true}, - FallbackListeningCoefficient: []alloraMath.Dec{alloraMath.MustNewDecFromString(".1234")}, MinExperiencedWorkerRegrets: []int64{1234}, } @@ -175,7 +174,6 @@ func (s *MsgServerTestSuite) TestUpdateParamsNonWhitelistedUser() { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, } diff --git a/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go b/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go index 3d7aa4bc7..82de46e61 100644 --- a/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go +++ b/x/emissions/keeper/msgserver/msg_server_worker_payload_test.go @@ -363,7 +363,6 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithFewTopElementsPerFore PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, } @@ -764,7 +763,6 @@ func (s *MsgServerTestSuite) TestMsgInsertWorkerPayloadWithLowScoreForecastsAreR PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, } diff --git a/x/emissions/migrations/v6/migrate.go b/x/emissions/migrations/v6/migrate.go index 787f7f4cf..f597c3e5a 100644 --- a/x/emissions/migrations/v6/migrate.go +++ b/x/emissions/migrations/v6/migrate.go @@ -108,7 +108,6 @@ func MigrateParams(store storetypes.KVStore, cdc codec.BinaryCodec) error { // NEW PARAMS GlobalWhitelistEnabled: defaultParams.GlobalWhitelistEnabled, TopicCreatorWhitelistEnabled: defaultParams.TopicCreatorWhitelistEnabled, - FallbackListeningCoefficient: defaultParams.FallbackListeningCoefficient, MinExperiencedWorkerRegrets: defaultParams.MinExperiencedWorkerRegrets, } diff --git a/x/emissions/module/rewards/rewards_test.go b/x/emissions/module/rewards/rewards_test.go index 419db19a4..35cb6d18b 100644 --- a/x/emissions/module/rewards/rewards_test.go +++ b/x/emissions/module/rewards/rewards_test.go @@ -2216,7 +2216,6 @@ func (s *RewardsTestSuite) SetParamsForTest() { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - FallbackListeningCoefficient: nil, MinExperiencedWorkerRegrets: nil, } diff --git a/x/emissions/proto/emissions/v6/params.proto b/x/emissions/proto/emissions/v6/params.proto index 904e67280..a0aa2f3e9 100644 --- a/x/emissions/proto/emissions/v6/params.proto +++ b/x/emissions/proto/emissions/v6/params.proto @@ -155,9 +155,5 @@ message Params { bool global_whitelist_enabled = 50; // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers bool topic_creator_whitelist_enabled = 51; // topic creator whitelist enabled => only topic creator whitelisted actors can create topics - string fallback_listening_coefficient = 52 [ - (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", - (gogoproto.nullable) = false - ]; // listening coefficient to be used when there's just one reputer in the topic reward epoch and it has a previous listening coefficients of zero - int64 min_experienced_worker_regrets = 53; // minimum number of experienced workers required to use their regrets for calculating the topic initial regret + int64 min_experienced_worker_regrets = 52; // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } diff --git a/x/emissions/proto/emissions/v6/tx.proto b/x/emissions/proto/emissions/v6/tx.proto index dbd621295..6bda5d555 100644 --- a/x/emissions/proto/emissions/v6/tx.proto +++ b/x/emissions/proto/emissions/v6/tx.proto @@ -208,11 +208,7 @@ message OptionalParams { ]; repeated bool global_whitelist_enabled = 50; repeated bool topic_creator_whitelist_enabled = 51; - repeated string fallback_listening_coefficient = 52 [ - (gogoproto.customtype) = "github.com/allora-network/allora-chain/math.Dec", - (gogoproto.nullable) = false - ]; - repeated int64 min_experienced_worker_regrets = 53; + repeated int64 min_experienced_worker_regrets = 52; } message UpdateParamsRequest { diff --git a/x/emissions/types/params.go b/x/emissions/types/params.go index 8b44360c1..464d8439d 100644 --- a/x/emissions/types/params.go +++ b/x/emissions/types/params.go @@ -57,7 +57,6 @@ func DefaultParams() Params { PNormSafeDiv: alloraMath.MustNewDecFromString("8.25"), // pnorm divide value to calculate offset with cnorm GlobalWhitelistEnabled: true, // global whitelist enabled => all global whitelisted actors can create topics and participate in all topics as workers and reputers TopicCreatorWhitelistEnabled: true, // topic creator whitelist enabled => all topic creator whitelisted actors can create topics - FallbackListeningCoefficient: alloraMath.MustNewDecFromString("0.5"), // listening coefficient to be used when there's just one reputer in the topic reward epoch and it has a previous listening coefficients of zero MinExperiencedWorkerRegrets: int64(10), // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } } @@ -193,9 +192,6 @@ func (p Params) Validate() error { if err := validatePNormSafeDiv(p.PNormSafeDiv); err != nil { return errorsmod.Wrap(err, "params validation failure: pnorm safe div") } - if err := validateFallbackListeningCoefficient(p.FallbackListeningCoefficient); err != nil { - return errorsmod.Wrap(err, "params validation failure: fallback listening coefficient") - } if err := validateMinExperiencedWorkerRegrets(p.MinExperiencedWorkerRegrets); err != nil { return errorsmod.Wrap(err, "params validation failure: min experienced worker regrets") } @@ -611,13 +607,6 @@ func validateDataSendingFee(i cosmosMath.Int) error { return nil } -func validateFallbackListeningCoefficient(i alloraMath.Dec) error { - if err := ValidateDec(i); err != nil { - return err - } - return nil -} - func validateMinExperiencedWorkerRegrets(i int64) error { if i < 0 { return ErrValidationMustBeGreaterthanZero diff --git a/x/emissions/types/params.pb.go b/x/emissions/types/params.pb.go index 2b4516069..19e323a6c 100644 --- a/x/emissions/types/params.pb.go +++ b/x/emissions/types/params.pb.go @@ -91,9 +91,8 @@ type Params struct { PNormSafeDiv github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,49,opt,name=p_norm_safe_div,json=pNormSafeDiv,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"p_norm_safe_div"` GlobalWhitelistEnabled bool `protobuf:"varint,50,opt,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` // and participate in all topics as workers and reputers - TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` - FallbackListeningCoefficient github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,52,opt,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"fallback_listening_coefficient"` - MinExperiencedWorkerRegrets int64 `protobuf:"varint,53,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` + TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` + MinExperiencedWorkerRegrets int64 `protobuf:"varint,52,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -290,101 +289,99 @@ func init() { func init() { proto.RegisterFile("emissions/v6/params.proto", fileDescriptor_510cba56e74b19fc) } var fileDescriptor_510cba56e74b19fc = []byte{ - // 1504 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0x14, 0x47, - 0x12, 0xd6, 0x2c, 0x42, 0x88, 0x42, 0x48, 0xa3, 0x5e, 0x21, 0x5a, 0x7f, 0x23, 0x2d, 0x62, 0x77, - 0x07, 0x2d, 0x68, 0xd8, 0x65, 0x97, 0x65, 0x7f, 0x0e, 0x0b, 0x48, 0x22, 0xa4, 0x40, 0x84, 0xb6, - 0x25, 0xa3, 0x08, 0xec, 0x70, 0xb9, 0xd4, 0x9d, 0x3d, 0x53, 0xa1, 0xee, 0xae, 0xa6, 0xaa, 0x66, - 0x34, 0x22, 0xc2, 0x47, 0xdf, 0xfd, 0x18, 0x3e, 0xfa, 0xe0, 0x87, 0xe0, 0x48, 0xf8, 0xe4, 0xf0, - 0x81, 0x70, 0xc0, 0xc1, 0x17, 0x3f, 0x84, 0x23, 0xab, 0xaa, 0xe7, 0x07, 0x11, 0x0e, 0x07, 0xed, - 0x0b, 0xc1, 0x54, 0x7e, 0xf9, 0x65, 0xf6, 0x57, 0xd9, 0x99, 0xd9, 0x22, 0x73, 0x90, 0x72, 0xa5, - 0xb8, 0xc8, 0x54, 0xa3, 0x73, 0xb7, 0x91, 0x33, 0xc9, 0x52, 0xb5, 0x9e, 0x4b, 0xa1, 0x85, 0x37, - 0xd1, 0x33, 0xad, 0x77, 0xee, 0xce, 0x4f, 0xb3, 0x94, 0x67, 0xa2, 0x61, 0xfe, 0xb5, 0x80, 0xf9, - 0xb9, 0x50, 0xa8, 0x54, 0x28, 0x6a, 0x7e, 0x35, 0xec, 0x0f, 0x67, 0x9a, 0x69, 0x8a, 0xa6, 0xb0, - 0xe7, 0xf8, 0x3f, 0x7b, 0x7a, 0xed, 0xa7, 0x65, 0x32, 0xb6, 0x67, 0x42, 0x78, 0x3e, 0xb9, 0xd0, - 0x01, 0x89, 0xec, 0x7e, 0x65, 0xa5, 0x52, 0xbf, 0x18, 0x14, 0x3f, 0xbd, 0x7f, 0x91, 0xb9, 0x94, - 0x75, 0xa9, 0x02, 0xc9, 0x59, 0xc2, 0x5f, 0x40, 0x44, 0x53, 0xd5, 0xa4, 0x09, 0x64, 0x4d, 0xdd, - 0xf2, 0x7f, 0xb7, 0x52, 0xa9, 0x9f, 0x0b, 0x66, 0x53, 0xd6, 0xdd, 0xef, 0xd9, 0x77, 0x55, 0xf3, - 0xb1, 0xb1, 0x7a, 0x8c, 0x54, 0x53, 0x9e, 0x51, 0x2d, 0x72, 0x1e, 0xd2, 0x13, 0xe0, 0xcd, 0x96, - 0xf6, 0xcf, 0x21, 0xfb, 0x83, 0x7f, 0xbe, 0x7c, 0xbd, 0x3c, 0xf2, 0xfd, 0xeb, 0xe5, 0x46, 0x93, - 0xeb, 0x56, 0xfb, 0x68, 0x3d, 0x14, 0x69, 0x83, 0x25, 0x89, 0x90, 0xec, 0x56, 0x06, 0xfa, 0x44, - 0xc8, 0xe3, 0xe2, 0x67, 0xd8, 0x62, 0x3c, 0x6b, 0xa4, 0x4c, 0xb7, 0xd6, 0x37, 0x20, 0x0c, 0x26, - 0x53, 0x9e, 0x1d, 0x20, 0xdf, 0xa1, 0xa1, 0xf3, 0x62, 0x32, 0x2b, 0xe1, 0x79, 0x9b, 0x4b, 0xcc, - 0x8b, 0x67, 0x3c, 0x6d, 0xa7, 0x54, 0x69, 0x76, 0x0c, 0xfe, 0x79, 0x13, 0xe8, 0xb6, 0x0b, 0x74, - 0xc5, 0xca, 0xa1, 0xa2, 0xe3, 0x75, 0x2e, 0x2c, 0xdd, 0x76, 0xa6, 0xbf, 0xfd, 0xe6, 0x16, 0x71, - 0x3a, 0x6d, 0x67, 0xfa, 0xab, 0x1f, 0xbf, 0x5e, 0xab, 0x04, 0x33, 0x05, 0xdf, 0xae, 0xa5, 0xdb, - 0x47, 0x36, 0x54, 0x41, 0x42, 0x2a, 0x3a, 0x60, 0xd9, 0x69, 0x04, 0x09, 0x3b, 0xa5, 0x27, 0x3c, - 0x8b, 0xc4, 0x89, 0x3f, 0x66, 0x55, 0xb0, 0x00, 0x83, 0xdf, 0x40, 0xf3, 0xa1, 0xb1, 0x7a, 0x75, - 0xab, 0x02, 0xe4, 0x22, 0x6c, 0x15, 0xba, 0x5d, 0x30, 0x1e, 0xf8, 0x30, 0x9b, 0x78, 0xec, 0xf4, - 0x7a, 0x46, 0x26, 0x8e, 0x40, 0x33, 0x0a, 0x99, 0x96, 0x22, 0x3f, 0xf5, 0xc7, 0xcb, 0x69, 0x75, - 0x09, 0xc9, 0x36, 0x2d, 0x97, 0xf7, 0x09, 0xb9, 0x9c, 0x00, 0x93, 0x19, 0xcf, 0x9a, 0x54, 0x32, - 0x0d, 0xfe, 0xc5, 0x72, 0xe4, 0x13, 0x05, 0x5b, 0xc0, 0x34, 0x78, 0x29, 0xc1, 0x1a, 0xa0, 0x4d, - 0xc9, 0x22, 0x0e, 0x99, 0xa6, 0xba, 0x25, 0x41, 0xb5, 0x44, 0x12, 0xf9, 0xa4, 0x5c, 0x98, 0x99, - 0x94, 0x75, 0x1f, 0x39, 0xd6, 0x83, 0x82, 0xd4, 0x03, 0xe2, 0xa1, 0xa4, 0xf6, 0x2a, 0x62, 0xc9, - 0x42, 0x8d, 0x85, 0x7b, 0xa9, 0x5c, 0x28, 0xbc, 0x25, 0x73, 0x79, 0x5b, 0x8e, 0xd0, 0xdb, 0x24, - 0xcb, 0xf8, 0x54, 0xed, 0x2c, 0x6e, 0x27, 0x31, 0x4f, 0x12, 0x88, 0x28, 0xfa, 0x83, 0xa4, 0x58, - 0x23, 0xa0, 0xb4, 0xf2, 0x2f, 0xaf, 0x54, 0xea, 0xa3, 0xc1, 0x62, 0xca, 0xba, 0x1f, 0xf5, 0x51, - 0x87, 0x06, 0x14, 0x38, 0x8c, 0xf7, 0x88, 0xac, 0xbc, 0x4b, 0x23, 0x21, 0x6f, 0xeb, 0x41, 0x9e, - 0x49, 0xc3, 0xb3, 0x34, 0xcc, 0x13, 0x58, 0x54, 0x8f, 0xe8, 0x05, 0x59, 0xb2, 0xef, 0x92, 0x84, - 0x13, 0x26, 0x23, 0xf7, 0xfc, 0x3c, 0xcd, 0x85, 0xd4, 0x2c, 0x0b, 0xc1, 0x9f, 0x2a, 0xa7, 0xc0, - 0xbc, 0x61, 0x0f, 0x0c, 0xb9, 0x51, 0x62, 0xbb, 0x47, 0xed, 0x7d, 0x51, 0x21, 0xab, 0x43, 0xc1, - 0x63, 0x00, 0x2a, 0xa1, 0x03, 0x59, 0x7b, 0x28, 0x85, 0x6a, 0xb9, 0x14, 0x96, 0x07, 0x52, 0xd8, - 0x02, 0x08, 0x6c, 0x80, 0x81, 0x3c, 0x80, 0x78, 0x43, 0x69, 0xb0, 0x24, 0x6f, 0x31, 0x7f, 0xba, - 0xe4, 0xd5, 0x0f, 0x44, 0xbd, 0x8f, 0x84, 0x5e, 0x48, 0xa6, 0x35, 0x53, 0xc7, 0xc3, 0x51, 0xbc, - 0x72, 0x51, 0xa6, 0x90, 0x71, 0x30, 0x08, 0x6a, 0xda, 0x61, 0x09, 0x8f, 0x98, 0x16, 0x52, 0xd1, - 0x8e, 0xa2, 0xd6, 0x91, 0xe6, 0x20, 0x43, 0x7c, 0x8d, 0x6c, 0x74, 0xff, 0xf7, 0x25, 0x35, 0xed, - 0xc7, 0x78, 0xaa, 0xee, 0x1b, 0xc8, 0x9e, 0x0d, 0x60, 0x93, 0xf1, 0xfe, 0x4b, 0x16, 0x4c, 0x8b, - 0x67, 0x69, 0x9e, 0x80, 0xa2, 0x5a, 0x50, 0x15, 0xb2, 0x04, 0xa8, 0x0a, 0x85, 0x04, 0xe5, 0xcf, - 0x98, 0xda, 0xbc, 0x8a, 0x4d, 0xde, 0x22, 0x0e, 0xc4, 0x3e, 0xda, 0xf7, 0x8d, 0xd9, 0xfb, 0x37, - 0x99, 0x47, 0x6f, 0x2d, 0x72, 0xca, 0xb3, 0x18, 0x24, 0x48, 0x43, 0xe1, 0x72, 0xbf, 0x62, 0x9c, - 0xb1, 0x3b, 0x1c, 0x88, 0x7c, 0xdb, 0xd9, 0x0f, 0x84, 0x8b, 0xfc, 0x3f, 0xb2, 0x54, 0xf8, 0xc6, - 0x42, 0x42, 0xc8, 0x94, 0x1e, 0x76, 0x9f, 0x35, 0xee, 0x73, 0xd6, 0x7d, 0xab, 0x0f, 0xe9, 0x31, - 0x0c, 0x44, 0x77, 0x2f, 0xd5, 0xa0, 0xfb, 0xd5, 0xc1, 0xe8, 0xee, 0x75, 0xea, 0xfb, 0x3e, 0x23, - 0xd5, 0x50, 0x02, 0xd3, 0xe0, 0x46, 0x54, 0x0c, 0xe0, 0xfb, 0x1f, 0x38, 0x36, 0x26, 0x2d, 0x93, - 0x99, 0x4d, 0x5b, 0x00, 0xde, 0x7f, 0xc8, 0x7c, 0xaf, 0x1b, 0x46, 0xa0, 0xcc, 0x75, 0x62, 0xa2, - 0x1c, 0x33, 0xf0, 0xe7, 0xac, 0xa4, 0x05, 0x62, 0xc3, 0x02, 0x76, 0x59, 0x77, 0x1b, 0xcd, 0xde, - 0xc7, 0xa4, 0x2a, 0xa1, 0xc9, 0x95, 0x96, 0x0c, 0x1b, 0x91, 0x49, 0x6c, 0xf1, 0x03, 0x13, 0x9b, - 0x1a, 0x64, 0xc2, 0xcc, 0x6e, 0x12, 0x2f, 0x82, 0x98, 0xb5, 0x13, 0x4d, 0x73, 0xd6, 0x04, 0x9a, - 0xf0, 0x94, 0x6b, 0x7f, 0xc9, 0x64, 0x54, 0x75, 0x96, 0x3d, 0xd6, 0x84, 0xc7, 0x78, 0xee, 0x5d, - 0x27, 0x93, 0x98, 0xf6, 0x00, 0xb2, 0x66, 0x90, 0x13, 0x29, 0xeb, 0xf6, 0x51, 0x78, 0x8f, 0xef, - 0xcc, 0x38, 0x2a, 0x21, 0x14, 0x32, 0x72, 0x4e, 0xcb, 0x66, 0xe0, 0xcd, 0x0d, 0x0f, 0xbc, 0xc0, - 0x20, 0x2c, 0x43, 0x9d, 0x54, 0x8f, 0x12, 0x11, 0x1e, 0x2b, 0x2c, 0x7e, 0x9a, 0x8a, 0x4c, 0xb7, - 0xfc, 0x15, 0x13, 0x69, 0xd2, 0x9e, 0xef, 0x81, 0xdc, 0xc5, 0x53, 0xec, 0x00, 0x79, 0xf1, 0x5e, - 0xda, 0x82, 0xc3, 0xbe, 0xf3, 0x87, 0x92, 0x1d, 0x20, 0xb7, 0x35, 0xb1, 0x5d, 0x10, 0x62, 0x07, - 0xe8, 0x85, 0x29, 0x6a, 0xd3, 0xbf, 0x56, 0xb2, 0x03, 0xb8, 0x28, 0x45, 0x21, 0xe3, 0x86, 0xd4, - 0x0b, 0xe2, 0xca, 0xd7, 0x5f, 0x2d, 0xb9, 0x21, 0xb9, 0x18, 0xae, 0xda, 0x51, 0xae, 0xf0, 0xac, - 0x5c, 0xd7, 0x4b, 0xca, 0x15, 0xbe, 0x47, 0xae, 0xf0, 0x8c, 0x5c, 0x7f, 0x2c, 0x29, 0x57, 0xf8, - 0x8e, 0x5c, 0x4f, 0xc8, 0x58, 0x48, 0x33, 0x21, 0x53, 0xff, 0x4f, 0xe5, 0x98, 0xcf, 0x87, 0x4f, - 0x84, 0x4c, 0xbd, 0xcf, 0xc8, 0x14, 0xe4, 0x8a, 0x27, 0x22, 0xeb, 0xa9, 0x5f, 0x2f, 0xa9, 0xbe, - 0xe3, 0x2b, 0xd4, 0x7f, 0x4a, 0x6e, 0xb4, 0x58, 0x12, 0x9b, 0x57, 0x3f, 0x97, 0x22, 0x04, 0xa5, - 0xdc, 0xd8, 0x36, 0xdb, 0x22, 0x4b, 0x14, 0x85, 0x2c, 0xa2, 0xa6, 0xc4, 0xfd, 0x35, 0x53, 0xef, - 0xab, 0xe8, 0xb0, 0xcb, 0xba, 0x7b, 0x16, 0x6e, 0x06, 0x71, 0xe0, 0xc0, 0x9b, 0x59, 0xf4, 0x00, - 0xa1, 0x58, 0x38, 0x45, 0xe6, 0x8a, 0xc5, 0x40, 0x23, 0xde, 0xf1, 0xff, 0xf2, 0xdb, 0xa4, 0xbe, - 0xcf, 0x62, 0xd8, 0xe0, 0x1d, 0xec, 0x8e, 0x11, 0xd3, 0x8c, 0x2a, 0xc8, 0x22, 0xdc, 0x1a, 0xb1, - 0x09, 0xdd, 0xfc, 0xd0, 0xee, 0x88, 0x4c, 0xfb, 0x96, 0x08, 0x7b, 0x90, 0xfb, 0xa8, 0x80, 0x04, - 0x52, 0xc8, 0xb4, 0x7d, 0xe7, 0x7b, 0x55, 0x73, 0xab, 0xd7, 0xb4, 0x37, 0x9d, 0x7d, 0x0f, 0x64, - 0xaf, 0x06, 0xdc, 0xb0, 0xc2, 0x15, 0xad, 0xe3, 0x1a, 0xb7, 0xf5, 0xb7, 0x1a, 0xae, 0xf7, 0x86, - 0xd5, 0x7d, 0x83, 0x30, 0x0d, 0x19, 0x09, 0xac, 0x6e, 0x6b, 0x64, 0xda, 0x8c, 0x3a, 0x2d, 0xf1, - 0x91, 0xdc, 0x36, 0xde, 0x30, 0x3e, 0x53, 0x38, 0xe0, 0xcc, 0xb9, 0x5b, 0xc7, 0x05, 0xb9, 0xca, - 0x33, 0xae, 0x39, 0x4b, 0xa8, 0x84, 0xa6, 0x04, 0x4d, 0x9f, 0xb7, 0x59, 0xa6, 0x79, 0x02, 0xfe, - 0xed, 0x72, 0x52, 0x5f, 0x71, 0xbc, 0x81, 0xa1, 0xfd, 0xbf, 0x63, 0xf5, 0x3e, 0x25, 0x53, 0xb9, - 0x29, 0xef, 0xfe, 0x9d, 0xfe, 0xb5, 0xe4, 0x96, 0x9e, 0x63, 0x9d, 0x17, 0x37, 0x7a, 0x8f, 0xf8, - 0xcd, 0x44, 0x1c, 0xb1, 0x84, 0x9e, 0xb4, 0xb8, 0x86, 0x84, 0x2b, 0x4d, 0x21, 0x63, 0x47, 0x09, - 0x44, 0xfe, 0xdf, 0x56, 0x2a, 0xf5, 0xf1, 0x60, 0xd6, 0xda, 0x0f, 0x0b, 0xf3, 0xa6, 0xb5, 0xe2, - 0x26, 0x6c, 0x47, 0xa4, 0x99, 0x72, 0x42, 0xbe, 0x87, 0xe0, 0x8e, 0x21, 0x58, 0x34, 0xb0, 0x87, - 0x16, 0x75, 0x86, 0xe6, 0x73, 0x52, 0x8b, 0x59, 0x92, 0x1c, 0xb1, 0xf0, 0x98, 0xe2, 0x39, 0x98, - 0xcf, 0x91, 0x50, 0x40, 0x1c, 0xf3, 0x10, 0x07, 0xa1, 0xff, 0xf7, 0x72, 0xcf, 0xbb, 0x58, 0xd0, - 0x3f, 0x2e, 0xd8, 0x1f, 0xf6, 0xc9, 0xbd, 0x87, 0xa4, 0x66, 0xa6, 0x54, 0x37, 0x07, 0xc9, 0xb1, - 0x6b, 0x0d, 0xec, 0xf3, 0x78, 0x11, 0xca, 0xff, 0x87, 0x19, 0x53, 0x0b, 0x38, 0xa6, 0xfa, 0xa0, - 0x62, 0x9d, 0x37, 0x90, 0x9d, 0xd1, 0xf1, 0xd1, 0xea, 0xf9, 0x9d, 0xd1, 0xf1, 0xf9, 0xea, 0xc2, - 0xce, 0xe8, 0xf8, 0x42, 0x75, 0x71, 0x67, 0x74, 0xfc, 0xcf, 0xd5, 0xfa, 0xce, 0xe8, 0xf8, 0x8d, - 0xea, 0x9a, 0xf9, 0x5e, 0x39, 0x53, 0x94, 0x86, 0x90, 0x42, 0x1c, 0xc3, 0x40, 0xd1, 0x16, 0xcb, - 0x73, 0xb0, 0x8a, 0x2e, 0x12, 0xb4, 0xe4, 0x76, 0xf7, 0xb2, 0xeb, 0x3f, 0xcd, 0x44, 0x16, 0x82, - 0x72, 0x09, 0x3a, 0x5d, 0x87, 0x96, 0xee, 0x08, 0x42, 0x76, 0x6a, 0xbe, 0xe5, 0x82, 0xeb, 0xbf, - 0x48, 0xe1, 0x5a, 0xdb, 0x83, 0xe0, 0xe5, 0x9b, 0x5a, 0xe5, 0xd5, 0x9b, 0x5a, 0xe5, 0x87, 0x37, - 0xb5, 0xca, 0x97, 0x6f, 0x6b, 0x23, 0xaf, 0xde, 0xd6, 0x46, 0xbe, 0x7b, 0x5b, 0x1b, 0x79, 0x76, - 0xef, 0x57, 0xea, 0xdc, 0x6d, 0xf4, 0xff, 0x3c, 0xa1, 0x4f, 0x73, 0x50, 0x47, 0x63, 0xe6, 0x2f, - 0x09, 0x77, 0x7e, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xcc, 0xc0, 0xe5, 0x24, 0xb8, 0x10, 0x00, 0x00, + // 1466 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4f, 0x6f, 0x14, 0xcb, + 0x11, 0xf7, 0x06, 0x63, 0x4c, 0x63, 0xec, 0xf5, 0xc4, 0x98, 0xf1, 0xbf, 0xb5, 0x83, 0x49, 0xb2, + 0x38, 0xe0, 0x25, 0x21, 0x22, 0xe4, 0xcf, 0x21, 0x80, 0x6d, 0x64, 0x0b, 0x23, 0x67, 0xec, 0x60, + 0x89, 0x44, 0xe9, 0xb4, 0x67, 0x6a, 0x77, 0x5b, 0x9e, 0xe9, 0x1e, 0xba, 0x7b, 0xd7, 0x6b, 0xee, + 0xb9, 0xe7, 0x63, 0xe4, 0x98, 0x43, 0x3e, 0x04, 0x47, 0x94, 0x53, 0x94, 0x03, 0x7a, 0x82, 0xc3, + 0x3b, 0xbd, 0xef, 0xf0, 0x54, 0xdd, 0x3d, 0xfb, 0x07, 0xa3, 0xa7, 0x27, 0xe6, 0x5d, 0x10, 0x3b, + 0xf5, 0xab, 0x5f, 0xd5, 0xfc, 0xba, 0xba, 0xaa, 0xc6, 0x64, 0x01, 0x32, 0xae, 0x35, 0x97, 0x42, + 0x37, 0xba, 0x0f, 0x1b, 0x39, 0x53, 0x2c, 0xd3, 0x9b, 0xb9, 0x92, 0x46, 0x06, 0x53, 0x7d, 0xd3, + 0x66, 0xf7, 0xe1, 0xe2, 0x2c, 0xcb, 0xb8, 0x90, 0x0d, 0xfb, 0xaf, 0x03, 0x2c, 0x2e, 0xc4, 0x52, + 0x67, 0x52, 0x53, 0xfb, 0xab, 0xe1, 0x7e, 0x78, 0xd3, 0x5c, 0x4b, 0xb6, 0xa4, 0x7b, 0x8e, 0xff, + 0x73, 0x4f, 0x6f, 0x7d, 0x53, 0x23, 0x13, 0x07, 0x36, 0x44, 0x10, 0x92, 0x2b, 0x5d, 0x50, 0xc8, + 0x1e, 0x56, 0xd6, 0x2a, 0xf5, 0xab, 0x51, 0xf1, 0x33, 0xf8, 0x2d, 0x59, 0xc8, 0x58, 0x8f, 0x6a, + 0x50, 0x9c, 0xa5, 0xfc, 0x0d, 0x24, 0x34, 0xd3, 0x2d, 0x9a, 0x82, 0x68, 0x99, 0x76, 0xf8, 0xa3, + 0xb5, 0x4a, 0xfd, 0x52, 0x34, 0x9f, 0xb1, 0xde, 0x61, 0xdf, 0xbe, 0xaf, 0x5b, 0xcf, 0xad, 0x35, + 0x60, 0xa4, 0x9a, 0x71, 0x41, 0x8d, 0xcc, 0x79, 0x4c, 0xcf, 0x80, 0xb7, 0xda, 0x26, 0xbc, 0x84, + 0xec, 0x4f, 0x7e, 0xf3, 0xf6, 0xfd, 0xea, 0xd8, 0xff, 0xdf, 0xaf, 0x36, 0x5a, 0xdc, 0xb4, 0x3b, + 0x27, 0x9b, 0xb1, 0xcc, 0x1a, 0x2c, 0x4d, 0xa5, 0x62, 0xf7, 0x04, 0x98, 0x33, 0xa9, 0x4e, 0x8b, + 0x9f, 0x71, 0x9b, 0x71, 0xd1, 0xc8, 0x98, 0x69, 0x6f, 0x6e, 0x41, 0x1c, 0x4d, 0x67, 0x5c, 0x1c, + 0x21, 0xdf, 0xb1, 0xa5, 0x0b, 0x9a, 0x64, 0x5e, 0xc1, 0xeb, 0x0e, 0x57, 0x98, 0x17, 0x17, 0x3c, + 0xeb, 0x64, 0x54, 0x1b, 0x76, 0x0a, 0xe1, 0x65, 0x1b, 0xe8, 0xbe, 0x0f, 0x74, 0xc3, 0xc9, 0xa1, + 0x93, 0xd3, 0x4d, 0x2e, 0x1d, 0xdd, 0xae, 0x30, 0xff, 0xfd, 0xcf, 0x3d, 0xe2, 0x75, 0xda, 0x15, + 0xe6, 0x5f, 0x5f, 0xff, 0x7b, 0xa3, 0x12, 0xcd, 0x15, 0x7c, 0xfb, 0x8e, 0xee, 0x10, 0xd9, 0x50, + 0x05, 0x05, 0x99, 0xec, 0x82, 0x63, 0xa7, 0x09, 0xa4, 0xec, 0x9c, 0x9e, 0x71, 0x91, 0xc8, 0xb3, + 0x70, 0xc2, 0xa9, 0xe0, 0x00, 0x16, 0xbf, 0x85, 0xe6, 0x63, 0x6b, 0x0d, 0xea, 0x4e, 0x05, 0xc8, + 0x65, 0xdc, 0x2e, 0x74, 0xbb, 0x62, 0x3d, 0xf0, 0x65, 0xb6, 0xf1, 0xb1, 0xd7, 0xeb, 0x15, 0x99, + 0x3a, 0x01, 0xc3, 0x28, 0x08, 0xa3, 0x64, 0x7e, 0x1e, 0x4e, 0x96, 0xd3, 0xea, 0x1a, 0x92, 0x6d, + 0x3b, 0xae, 0xe0, 0xaf, 0xe4, 0x7a, 0x0a, 0x4c, 0x09, 0x2e, 0x5a, 0x54, 0x31, 0x03, 0xe1, 0xd5, + 0x72, 0xe4, 0x53, 0x05, 0x5b, 0xc4, 0x0c, 0x04, 0x19, 0xc1, 0x1a, 0xa0, 0x2d, 0xc5, 0x12, 0x0e, + 0xc2, 0x50, 0xd3, 0x56, 0xa0, 0xdb, 0x32, 0x4d, 0x42, 0x52, 0x2e, 0xcc, 0x5c, 0xc6, 0x7a, 0xcf, + 0x3c, 0xeb, 0x51, 0x41, 0x1a, 0x00, 0x09, 0x50, 0x52, 0x77, 0x14, 0x4d, 0xc5, 0x62, 0x83, 0x85, + 0x7b, 0xad, 0x5c, 0x28, 0x3c, 0x25, 0x7b, 0x78, 0x3b, 0x9e, 0x30, 0xd8, 0x26, 0xab, 0xf8, 0x56, + 0x1d, 0xd1, 0xec, 0xa4, 0x4d, 0x9e, 0xa6, 0x90, 0x50, 0xf4, 0x07, 0x45, 0xb1, 0x46, 0x40, 0x1b, + 0x1d, 0x5e, 0x5f, 0xab, 0xd4, 0xc7, 0xa3, 0xe5, 0x8c, 0xf5, 0xfe, 0x3c, 0x40, 0x1d, 0x5b, 0x50, + 0xe4, 0x31, 0xc1, 0x33, 0xb2, 0xf6, 0x29, 0x8d, 0x82, 0xbc, 0x63, 0x86, 0x79, 0xa6, 0x2d, 0xcf, + 0xca, 0x28, 0x4f, 0xe4, 0x50, 0x7d, 0xa2, 0x37, 0x64, 0xc5, 0xdd, 0x25, 0x05, 0x67, 0x4c, 0x25, + 0xfe, 0xfd, 0x79, 0x96, 0x4b, 0x65, 0x98, 0x88, 0x21, 0x9c, 0x29, 0xa7, 0xc0, 0xa2, 0x65, 0x8f, + 0x2c, 0xb9, 0x55, 0x62, 0xb7, 0x4f, 0x1d, 0xfc, 0xa3, 0x42, 0xd6, 0x47, 0x82, 0x37, 0x01, 0xa8, + 0x82, 0x2e, 0x88, 0xce, 0x48, 0x0a, 0xd5, 0x72, 0x29, 0xac, 0x0e, 0xa5, 0xb0, 0x03, 0x10, 0xb9, + 0x00, 0x43, 0x79, 0x00, 0x09, 0x46, 0xd2, 0x60, 0x69, 0xde, 0x66, 0xe1, 0x6c, 0xc9, 0xa3, 0x1f, + 0x8a, 0xfa, 0x18, 0x09, 0x83, 0x98, 0xcc, 0x1a, 0xa6, 0x4f, 0x47, 0xa3, 0x04, 0xe5, 0xa2, 0xcc, + 0x20, 0xe3, 0x70, 0x10, 0xd4, 0xb4, 0xcb, 0x52, 0x9e, 0x30, 0x23, 0x95, 0xa6, 0x5d, 0x4d, 0x9d, + 0x23, 0xcd, 0x41, 0xc5, 0x78, 0x8d, 0x5c, 0xf4, 0xf0, 0xc7, 0x25, 0x35, 0x1d, 0xc4, 0x78, 0xa9, + 0x1f, 0x5b, 0xc8, 0x81, 0x0b, 0xe0, 0x92, 0x09, 0xfe, 0x40, 0x96, 0x6c, 0x8b, 0x67, 0x59, 0x9e, + 0x82, 0xa6, 0x46, 0x52, 0x1d, 0xb3, 0x14, 0xa8, 0x8e, 0xa5, 0x02, 0x1d, 0xce, 0xd9, 0xda, 0xbc, + 0x89, 0x4d, 0xde, 0x21, 0x8e, 0xe4, 0x21, 0xda, 0x0f, 0xad, 0x39, 0xf8, 0x1d, 0x59, 0x44, 0x6f, + 0x23, 0x73, 0xca, 0x45, 0x13, 0x14, 0x28, 0x4b, 0xe1, 0x73, 0xbf, 0x61, 0x9d, 0xb1, 0x3b, 0x1c, + 0xc9, 0x7c, 0xd7, 0xdb, 0x8f, 0xa4, 0x8f, 0xfc, 0x47, 0xb2, 0x52, 0xf8, 0x36, 0xa5, 0x82, 0x98, + 0x69, 0x33, 0xea, 0x3e, 0x6f, 0xdd, 0x17, 0x9c, 0xfb, 0xce, 0x00, 0xd2, 0x67, 0x18, 0x8a, 0xee, + 0x2f, 0xd5, 0xb0, 0xfb, 0xcd, 0xe1, 0xe8, 0xfe, 0x3a, 0x0d, 0x7c, 0x5f, 0x91, 0x6a, 0xac, 0x80, + 0x19, 0xf0, 0x23, 0xaa, 0x09, 0x10, 0x86, 0x5f, 0x38, 0x36, 0xa6, 0x1d, 0x93, 0x9d, 0x4d, 0x3b, + 0x00, 0xc1, 0xef, 0xc9, 0x62, 0xbf, 0x1b, 0x26, 0xa0, 0xed, 0x71, 0x62, 0xa2, 0x1c, 0x33, 0x08, + 0x17, 0x9c, 0xa4, 0x05, 0x62, 0xcb, 0x01, 0xf6, 0x59, 0x6f, 0x17, 0xcd, 0xc1, 0x5f, 0x48, 0x55, + 0x41, 0x8b, 0x6b, 0xa3, 0x18, 0x36, 0x22, 0x9b, 0xd8, 0xf2, 0x17, 0x26, 0x36, 0x33, 0xcc, 0x84, + 0x99, 0xdd, 0x25, 0x41, 0x02, 0x4d, 0xd6, 0x49, 0x0d, 0xcd, 0x59, 0x0b, 0x68, 0xca, 0x33, 0x6e, + 0xc2, 0x15, 0x9b, 0x51, 0xd5, 0x5b, 0x0e, 0x58, 0x0b, 0x9e, 0xe3, 0xf3, 0xe0, 0x36, 0x99, 0xc6, + 0xb4, 0x87, 0x90, 0x35, 0x8b, 0x9c, 0xca, 0x58, 0x6f, 0x80, 0xc2, 0x73, 0xfc, 0x64, 0xc6, 0x51, + 0x05, 0xb1, 0x54, 0x89, 0x77, 0x5a, 0xb5, 0x03, 0x6f, 0x61, 0x74, 0xe0, 0x45, 0x16, 0xe1, 0x18, + 0xea, 0xa4, 0x7a, 0x92, 0xca, 0xf8, 0x54, 0x63, 0xf1, 0xd3, 0x4c, 0x0a, 0xd3, 0x0e, 0xd7, 0x6c, + 0xa4, 0x69, 0xf7, 0xfc, 0x00, 0xd4, 0x3e, 0x3e, 0xc5, 0x0e, 0x90, 0x17, 0xf7, 0xd2, 0x15, 0x1c, + 0xf6, 0x9d, 0x9f, 0x94, 0xec, 0x00, 0xb9, 0xab, 0x89, 0xdd, 0x82, 0x10, 0x3b, 0x40, 0x3f, 0x4c, + 0x51, 0x9b, 0xe1, 0xad, 0x92, 0x1d, 0xc0, 0x47, 0x29, 0x0a, 0x19, 0x37, 0xa4, 0x7e, 0x10, 0x5f, + 0xbe, 0xe1, 0x7a, 0xc9, 0x0d, 0xc9, 0xc7, 0xf0, 0xd5, 0x8e, 0x72, 0xc5, 0x17, 0xe5, 0xba, 0x5d, + 0x52, 0xae, 0xf8, 0x33, 0x72, 0xc5, 0x17, 0xe4, 0xfa, 0x69, 0x49, 0xb9, 0xe2, 0x4f, 0xe4, 0x7a, + 0x41, 0x26, 0x62, 0x2a, 0xa4, 0xca, 0xc2, 0x9f, 0x95, 0x63, 0xbe, 0x1c, 0xbf, 0x90, 0x2a, 0x0b, + 0xfe, 0x4e, 0x66, 0x20, 0xd7, 0x3c, 0x95, 0xa2, 0xaf, 0x7e, 0xbd, 0xa4, 0xfa, 0x9e, 0xaf, 0x50, + 0xff, 0x25, 0xb9, 0xd3, 0x66, 0x69, 0xd3, 0x5e, 0xfd, 0x5c, 0xc9, 0x18, 0xb4, 0xf6, 0x63, 0xdb, + 0x6e, 0x8b, 0x2c, 0xd5, 0x14, 0x44, 0x42, 0x6d, 0x89, 0x87, 0x1b, 0xb6, 0xde, 0xd7, 0xd1, 0x61, + 0x9f, 0xf5, 0x0e, 0x1c, 0xdc, 0x0e, 0xe2, 0xc8, 0x83, 0xb7, 0x45, 0xf2, 0x04, 0xa1, 0x58, 0x38, + 0x45, 0xe6, 0x9a, 0x35, 0x81, 0x26, 0xbc, 0x1b, 0xfe, 0xe2, 0x87, 0x49, 0xfd, 0x90, 0x35, 0x61, + 0x8b, 0x77, 0xb1, 0x3b, 0x26, 0xcc, 0x30, 0xaa, 0x41, 0x24, 0xb8, 0x35, 0x62, 0x13, 0xba, 0xfb, + 0xa5, 0xdd, 0x11, 0x99, 0x0e, 0x1d, 0x11, 0xf6, 0x20, 0xff, 0x51, 0x01, 0x29, 0x64, 0x20, 0x8c, + 0xbb, 0xf3, 0xfd, 0xaa, 0xb9, 0xd7, 0x6f, 0xda, 0xdb, 0xde, 0x7e, 0x00, 0xaa, 0x5f, 0x03, 0x7e, + 0x58, 0xe1, 0x8a, 0xd6, 0xf5, 0x8d, 0xdb, 0xf9, 0x3b, 0x0d, 0x37, 0xfb, 0xc3, 0xea, 0xb1, 0x45, + 0xd8, 0x86, 0x8c, 0x04, 0x4e, 0xb7, 0x0d, 0x32, 0x6b, 0x47, 0x9d, 0x51, 0xf8, 0x4a, 0x7e, 0x1b, + 0x6f, 0x58, 0x9f, 0x19, 0x1c, 0x70, 0xf6, 0xb9, 0x5f, 0xc7, 0x25, 0xb9, 0xc9, 0x05, 0x37, 0x9c, + 0xa5, 0x54, 0x41, 0x4b, 0x81, 0xa1, 0xaf, 0x3b, 0x4c, 0x18, 0x9e, 0x42, 0x78, 0xbf, 0x9c, 0xd4, + 0x37, 0x3c, 0x6f, 0x64, 0x69, 0xff, 0xe4, 0x59, 0x83, 0xbf, 0x91, 0x99, 0xdc, 0x96, 0xf7, 0xe0, + 0x4c, 0x7f, 0x59, 0x72, 0x4b, 0xcf, 0xb1, 0xce, 0x8b, 0x13, 0x7d, 0x44, 0xc2, 0x56, 0x2a, 0x4f, + 0x58, 0x4a, 0xcf, 0xda, 0xdc, 0x40, 0xca, 0xb5, 0xa1, 0x20, 0xd8, 0x49, 0x0a, 0x49, 0xf8, 0xab, + 0xb5, 0x4a, 0x7d, 0x32, 0x9a, 0x77, 0xf6, 0xe3, 0xc2, 0xbc, 0xed, 0xac, 0xb8, 0x09, 0xbb, 0x11, + 0x69, 0xa7, 0x9c, 0x54, 0x9f, 0x21, 0x78, 0x60, 0x09, 0x96, 0x2d, 0xec, 0xa9, 0x43, 0x5d, 0xa0, + 0x79, 0x4a, 0x6a, 0x76, 0x4c, 0xf4, 0x72, 0x50, 0x1c, 0xdb, 0xc6, 0xd0, 0x42, 0x8d, 0x4a, 0xe8, + 0xf0, 0xd7, 0x76, 0x4e, 0x2c, 0xe1, 0x9c, 0x18, 0x80, 0x8a, 0x7d, 0xda, 0x42, 0xf6, 0xc6, 0x27, + 0xc7, 0xab, 0x97, 0xf7, 0xc6, 0x27, 0x17, 0xab, 0x4b, 0x7b, 0xe3, 0x93, 0x4b, 0xd5, 0xe5, 0xbd, + 0xf1, 0xc9, 0x9f, 0x57, 0xeb, 0x7b, 0xe3, 0x93, 0x77, 0xaa, 0x1b, 0xf6, 0x83, 0xe1, 0x42, 0x55, + 0x58, 0x42, 0x0a, 0xcd, 0x26, 0x0c, 0x55, 0x4d, 0xb1, 0xbd, 0x46, 0xeb, 0xe8, 0xa2, 0xc0, 0x28, + 0xee, 0x96, 0x1f, 0xb7, 0x7f, 0x53, 0x21, 0x45, 0x0c, 0xda, 0x27, 0xe8, 0x5f, 0x6c, 0x64, 0xeb, + 0x4d, 0x20, 0x66, 0xe7, 0xf6, 0x63, 0x2a, 0xba, 0xfd, 0x9d, 0x14, 0xbe, 0xb7, 0x3c, 0x89, 0xde, + 0x7e, 0xa8, 0x55, 0xde, 0x7d, 0xa8, 0x55, 0xbe, 0xfa, 0x50, 0xab, 0xfc, 0xf3, 0x63, 0x6d, 0xec, + 0xdd, 0xc7, 0xda, 0xd8, 0xff, 0x3e, 0xd6, 0xc6, 0x5e, 0x3d, 0xfa, 0x9e, 0x07, 0xdb, 0x6b, 0x0c, + 0xfe, 0x3e, 0x60, 0xce, 0x73, 0xd0, 0x27, 0x13, 0xf6, 0x53, 0xfe, 0xc1, 0xb7, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x58, 0x68, 0x11, 0xaa, 0x39, 0x10, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -412,20 +409,8 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3 i-- - dAtA[i] = 0xa8 - } - { - size := m.FallbackListeningCoefficient.Size() - i -= size - if _, err := m.FallbackListeningCoefficient.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) + dAtA[i] = 0xa0 } - i-- - dAtA[i] = 0x3 - i-- - dAtA[i] = 0xa2 if m.TopicCreatorWhitelistEnabled { i-- if m.TopicCreatorWhitelistEnabled { @@ -979,8 +964,6 @@ func (m *Params) Size() (n int) { if m.TopicCreatorWhitelistEnabled { n += 3 } - l = m.FallbackListeningCoefficient.Size() - n += 2 + l + sovParams(uint64(l)) if m.MinExperiencedWorkerRegrets != 0 { n += 2 + sovParams(uint64(m.MinExperiencedWorkerRegrets)) } @@ -2253,40 +2236,6 @@ func (m *Params) Unmarshal(dAtA []byte) error { } m.TopicCreatorWhitelistEnabled = bool(v != 0) case 52: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.FallbackListeningCoefficient.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 53: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field MinExperiencedWorkerRegrets", wireType) } diff --git a/x/emissions/types/params_test.go b/x/emissions/types/params_test.go index daf285582..72d2e5003 100644 --- a/x/emissions/types/params_test.go +++ b/x/emissions/types/params_test.go @@ -55,7 +55,6 @@ func TestDefaultParams(t *testing.T) { PNormSafeDiv: alloraMath.MustNewDecFromString("8.25"), GlobalWhitelistEnabled: true, TopicCreatorWhitelistEnabled: true, - FallbackListeningCoefficient: alloraMath.MustNewDecFromString("0.5"), MinExperiencedWorkerRegrets: int64(10), } diff --git a/x/emissions/types/tx.pb.go b/x/emissions/types/tx.pb.go index 12b676758..a75477f71 100644 --- a/x/emissions/types/tx.pb.go +++ b/x/emissions/types/tx.pb.go @@ -85,8 +85,7 @@ type OptionalParams struct { PNormSafeDiv []github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,49,rep,name=p_norm_safe_div,json=pNormSafeDiv,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"p_norm_safe_div"` GlobalWhitelistEnabled []bool `protobuf:"varint,50,rep,packed,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` TopicCreatorWhitelistEnabled []bool `protobuf:"varint,51,rep,packed,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` - FallbackListeningCoefficient []github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,52,rep,name=fallback_listening_coefficient,json=fallbackListeningCoefficient,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"fallback_listening_coefficient"` - MinExperiencedWorkerRegrets []int64 `protobuf:"varint,53,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` + MinExperiencedWorkerRegrets []int64 `protobuf:"varint,52,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (m *OptionalParams) Reset() { *m = OptionalParams{} } @@ -3020,205 +3019,203 @@ func init() { func init() { proto.RegisterFile("emissions/v6/tx.proto", fileDescriptor_1c9dde1df4cd2521) } var fileDescriptor_1c9dde1df4cd2521 = []byte{ - // 3165 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x4b, 0x6f, 0x1c, 0xc7, - 0x11, 0xd6, 0x8a, 0x2b, 0x72, 0x59, 0xa4, 0xc8, 0x55, 0x8b, 0xa4, 0x86, 0xcb, 0xf7, 0x52, 0x8f, - 0x95, 0x62, 0x71, 0x65, 0x49, 0x76, 0x1c, 0x27, 0x87, 0xe8, 0xe9, 0x90, 0x90, 0x14, 0x7a, 0x48, - 0x5b, 0x81, 0x6c, 0x64, 0xdc, 0x9c, 0xe9, 0x5d, 0x4e, 0x38, 0x8f, 0x75, 0xcf, 0x2c, 0x1f, 0x86, - 0x8d, 0x24, 0x06, 0x7c, 0x0a, 0x90, 0xe4, 0x94, 0x43, 0x12, 0xe4, 0x9c, 0x53, 0xe0, 0x43, 0x72, - 0xc9, 0x29, 0x47, 0x1f, 0x8d, 0x9c, 0x82, 0x1c, 0x8c, 0xc0, 0x3e, 0xf8, 0x9a, 0x43, 0x7e, 0x40, - 0xd0, 0x8f, 0x79, 0xee, 0xcc, 0x92, 0xd4, 0x50, 0x86, 0x2f, 0x12, 0xa7, 0xbb, 0xfa, 0xab, 0xaf, - 0xaa, 0xab, 0xab, 0xab, 0x9a, 0x20, 0x4c, 0x12, 0xdb, 0xf4, 0x3c, 0xd3, 0x75, 0xbc, 0xe6, 0xee, - 0xab, 0x4d, 0x7f, 0x7f, 0xa5, 0x43, 0x5d, 0xdf, 0x45, 0xa3, 0xe1, 0xf0, 0xca, 0xee, 0xab, 0xb5, - 0x73, 0xd8, 0x36, 0x1d, 0xb7, 0xc9, 0xff, 0x15, 0x02, 0xb5, 0x0b, 0xba, 0xeb, 0xd9, 0xae, 0xd7, - 0xb4, 0xbd, 0x76, 0x73, 0xf7, 0x65, 0xf6, 0x9f, 0x9c, 0x98, 0x16, 0x13, 0x1a, 0xff, 0x6a, 0x8a, - 0x0f, 0x39, 0x55, 0x8b, 0xe9, 0xba, 0xd5, 0xa4, 0xa4, 0xd3, 0xf5, 0x09, 0x0d, 0x96, 0x25, 0xe6, - 0xf6, 0x5c, 0xba, 0x13, 0x4e, 0x4d, 0xb4, 0xdd, 0xb6, 0x2b, 0xe0, 0xd8, 0x4f, 0x62, 0xb4, 0xfe, - 0xbf, 0x05, 0x18, 0xfb, 0x71, 0xc7, 0x37, 0x5d, 0x07, 0x5b, 0xeb, 0x98, 0x62, 0xdb, 0x43, 0x0a, - 0x0c, 0xed, 0x12, 0xca, 0x40, 0x94, 0xd2, 0xe2, 0x40, 0x63, 0x58, 0x0d, 0x3e, 0xd1, 0xf7, 0x60, - 0xda, 0xc6, 0xfb, 0x9a, 0x47, 0xa8, 0x89, 0x2d, 0xf3, 0x03, 0x62, 0x68, 0xb6, 0xd7, 0xd6, 0x2c, - 0xe2, 0xb4, 0xfd, 0x6d, 0xe5, 0xf4, 0xe2, 0x40, 0x63, 0x40, 0x9d, 0xb2, 0xf1, 0xfe, 0x46, 0x38, - 0xff, 0xd8, 0x6b, 0x3f, 0xe2, 0xb3, 0x08, 0x43, 0xd5, 0x36, 0x1d, 0xcd, 0x77, 0x3b, 0xa6, 0xae, - 0xed, 0x11, 0xb3, 0xbd, 0xed, 0x2b, 0x03, 0x0c, 0xfd, 0xee, 0x77, 0x3f, 0xfb, 0x62, 0xe1, 0xd4, - 0xbf, 0xbf, 0x58, 0x68, 0xb6, 0x4d, 0x7f, 0xbb, 0xbb, 0xb5, 0xa2, 0xbb, 0x76, 0x13, 0x5b, 0x96, - 0x4b, 0xf1, 0x75, 0x87, 0xf8, 0xcc, 0x84, 0xe0, 0x53, 0xdf, 0xc6, 0xa6, 0xd3, 0xb4, 0xb1, 0xbf, - 0xbd, 0x72, 0x9f, 0xe8, 0xea, 0x98, 0x6d, 0x3a, 0x9b, 0x0c, 0xef, 0x29, 0x87, 0x43, 0x2d, 0x98, - 0xa2, 0xe4, 0xfd, 0xae, 0x49, 0x19, 0x2f, 0xd3, 0x31, 0xed, 0xae, 0xad, 0x79, 0x3e, 0xde, 0x21, - 0xca, 0x19, 0xae, 0xe8, 0x86, 0x54, 0x34, 0x29, 0xbc, 0xe9, 0x19, 0x3b, 0x2b, 0xa6, 0x2b, 0xe0, - 0x56, 0x1d, 0xff, 0x9f, 0x7f, 0xbd, 0x0e, 0xd2, 0xcd, 0xab, 0x8e, 0xff, 0xe7, 0xaf, 0x3f, 0xbd, - 0x56, 0x52, 0x27, 0x02, 0xbc, 0xc7, 0x02, 0x6e, 0x83, 0xa1, 0x31, 0x2f, 0x50, 0x62, 0xbb, 0xbb, - 0x44, 0xa0, 0x6b, 0x06, 0xb1, 0xf0, 0x81, 0xb6, 0x67, 0x3a, 0x86, 0xbb, 0xa7, 0x0c, 0x0a, 0x2f, - 0x08, 0x01, 0x2e, 0x7f, 0x9f, 0x4d, 0x3f, 0xe5, 0xb3, 0xa8, 0x21, 0xbc, 0x40, 0x3a, 0xae, 0xbe, - 0x1d, 0xf8, 0x6d, 0x88, 0xaf, 0x60, 0xc6, 0x3c, 0x60, 0xc3, 0xd2, 0x5f, 0xcf, 0x60, 0x74, 0x8b, - 0xf8, 0x58, 0x23, 0x8e, 0x4f, 0xdd, 0xce, 0x81, 0x52, 0x29, 0xe6, 0xab, 0x11, 0x06, 0xf6, 0x40, - 0x60, 0xa1, 0x77, 0xe1, 0xac, 0x45, 0x30, 0x75, 0x4c, 0xa7, 0xad, 0x51, 0xec, 0x13, 0x65, 0xb8, - 0x18, 0xf8, 0x68, 0x80, 0xa6, 0x62, 0x9f, 0x20, 0x1b, 0x58, 0x0c, 0x68, 0x6d, 0x8a, 0x0d, 0x93, - 0x38, 0xbe, 0xe6, 0x6f, 0x53, 0xe2, 0x6d, 0xbb, 0x96, 0xa1, 0x40, 0x31, 0x35, 0x13, 0x36, 0xde, - 0x7f, 0x43, 0xa2, 0x6e, 0x06, 0xa0, 0x88, 0x00, 0x62, 0x2e, 0x15, 0x5b, 0xd1, 0xa2, 0x58, 0x67, - 0xb1, 0xac, 0x8c, 0x14, 0x53, 0xc5, 0x76, 0x89, 0x6f, 0xde, 0x43, 0x09, 0x88, 0x1e, 0xc0, 0x02, - 0xb3, 0xaa, 0xeb, 0xb4, 0xba, 0x56, 0xcb, 0xb4, 0x2c, 0x62, 0x68, 0xe2, 0x74, 0x69, 0x2c, 0x46, - 0x88, 0xe7, 0x7b, 0xca, 0xd9, 0xc5, 0x81, 0x46, 0x59, 0x9d, 0xb5, 0xf1, 0xfe, 0x5b, 0x91, 0xd4, - 0x53, 0x2e, 0xa4, 0x4a, 0x19, 0xf4, 0x06, 0x2c, 0xa6, 0x61, 0xe4, 0x01, 0x8e, 0x70, 0xc6, 0x38, - 0xce, 0x5c, 0x12, 0x47, 0x15, 0x52, 0x21, 0xd0, 0x07, 0x30, 0x27, 0xce, 0x12, 0x25, 0x7b, 0x98, - 0x1a, 0xd2, 0x7e, 0xd3, 0xee, 0xb8, 0xd4, 0xc7, 0x8e, 0x4e, 0x94, 0xf1, 0x62, 0x1e, 0xa8, 0x71, - 0x74, 0x95, 0x83, 0x73, 0x4f, 0xac, 0x86, 0xd0, 0xe8, 0x93, 0x12, 0x2c, 0x27, 0x94, 0xb7, 0x08, - 0xd1, 0x28, 0xd9, 0x25, 0x4e, 0x37, 0x41, 0xa1, 0x5a, 0x8c, 0xc2, 0x42, 0x8c, 0xc2, 0x43, 0x42, - 0x54, 0xa1, 0x20, 0xc6, 0x83, 0x00, 0x4a, 0xd0, 0xc0, 0x56, 0x67, 0x1b, 0x2b, 0xe7, 0x0a, 0x6e, - 0x7d, 0x4c, 0xeb, 0x1d, 0x06, 0x88, 0x74, 0x38, 0xe7, 0x63, 0x6f, 0x27, 0xa9, 0x05, 0x15, 0xd3, - 0x32, 0xce, 0x10, 0xe3, 0x4a, 0x98, 0x4f, 0x77, 0xb1, 0x65, 0x1a, 0xd8, 0x77, 0xa9, 0xa7, 0xed, - 0x7a, 0x9a, 0x58, 0xa8, 0x75, 0x08, 0xd5, 0xd9, 0x31, 0x12, 0xda, 0x95, 0xf3, 0x05, 0x7d, 0x1a, - 0xe9, 0x78, 0xdb, 0xbb, 0xc3, 0x45, 0xd6, 0x85, 0x02, 0x41, 0x06, 0xfd, 0x00, 0x66, 0x78, 0x8a, - 0xc7, 0x76, 0xc7, 0x22, 0x9e, 0xe6, 0xbb, 0x9a, 0xa7, 0x63, 0x8b, 0x68, 0x9e, 0xee, 0x52, 0xe2, - 0x29, 0x13, 0x3c, 0x36, 0x2f, 0xb0, 0x24, 0x2f, 0x24, 0x36, 0xdd, 0x0d, 0x36, 0xbf, 0xc1, 0xa7, - 0xd1, 0xeb, 0x50, 0x63, 0xab, 0x7d, 0xb7, 0xa3, 0x99, 0x4e, 0x8b, 0x50, 0x42, 0x39, 0x84, 0xe4, - 0x3e, 0xc9, 0x17, 0xb3, 0xec, 0xb0, 0xe9, 0x76, 0x56, 0xe5, 0xfc, 0xa6, 0x2b, 0x35, 0xff, 0x10, - 0xe6, 0x82, 0xb5, 0x2d, 0x97, 0x12, 0x1d, 0x7b, 0x7e, 0x72, 0xf9, 0x14, 0x5f, 0x3e, 0x2d, 0x96, - 0x3f, 0x8c, 0x44, 0x42, 0x84, 0x98, 0x76, 0x79, 0xa8, 0xe2, 0xcb, 0x2f, 0xc4, 0xb5, 0xcb, 0xe3, - 0x14, 0xad, 0x7d, 0x06, 0x55, 0x9d, 0x12, 0xec, 0x13, 0x79, 0x45, 0xb5, 0x08, 0x51, 0x94, 0xe7, - 0xbc, 0x36, 0xc6, 0x04, 0x12, 0xbf, 0x9b, 0x1e, 0x12, 0x82, 0xbe, 0x0f, 0xb5, 0x30, 0x1b, 0x1a, - 0xc4, 0xe3, 0xdb, 0xc9, 0x88, 0x9a, 0x8c, 0x81, 0x32, 0x2d, 0x5c, 0x1a, 0x48, 0xdc, 0x17, 0x02, - 0x8f, 0xf1, 0xfe, 0x2a, 0x9b, 0x46, 0xef, 0x40, 0x95, 0x92, 0xb6, 0xe9, 0xf9, 0x14, 0xb3, 0x44, - 0xc4, 0x89, 0xcd, 0x3e, 0x27, 0xb1, 0xf1, 0x38, 0x12, 0x63, 0xf6, 0x12, 0x20, 0x83, 0xb4, 0x70, - 0xd7, 0xf2, 0xb5, 0x0e, 0x6e, 0x13, 0xcd, 0x32, 0x6d, 0xd3, 0x57, 0xe6, 0x38, 0xa3, 0xaa, 0x9c, - 0x59, 0xc7, 0x6d, 0xf2, 0x88, 0x8d, 0xa3, 0x8b, 0x30, 0xc6, 0x68, 0xc7, 0x24, 0xe7, 0xb9, 0xe4, - 0xa8, 0x8d, 0xf7, 0x23, 0x29, 0xb6, 0x8f, 0xa9, 0x3b, 0x4e, 0xa3, 0x44, 0x77, 0xa9, 0x21, 0x17, - 0x2d, 0xf0, 0x0b, 0x6f, 0x3a, 0x79, 0xe1, 0xa9, 0x5c, 0x42, 0x20, 0x34, 0xa0, 0xba, 0x65, 0xb9, - 0xfa, 0x8e, 0xc7, 0x82, 0x5f, 0xb3, 0x5d, 0xc7, 0xdf, 0x56, 0x16, 0xb9, 0xa6, 0x31, 0x31, 0xbe, - 0x4e, 0xe8, 0x63, 0x36, 0xca, 0x32, 0x40, 0x27, 0x38, 0x97, 0x22, 0xe0, 0x58, 0xde, 0x59, 0x2a, - 0x98, 0x01, 0x3a, 0x22, 0x26, 0x56, 0x03, 0x40, 0x96, 0x01, 0x42, 0x35, 0x41, 0x6c, 0x2a, 0xf5, - 0x82, 0x19, 0x40, 0x6a, 0x09, 0x02, 0x99, 0x55, 0x48, 0xa1, 0x12, 0x19, 0xbe, 0xca, 0x72, 0xc1, - 0x0a, 0x49, 0xea, 0x90, 0xd1, 0xce, 0xdc, 0xa5, 0xf7, 0xba, 0xeb, 0x62, 0x41, 0x77, 0xe9, 0x19, - 0xee, 0xd2, 0x7b, 0xdc, 0x75, 0xa9, 0xa0, 0xbb, 0xf4, 0x94, 0xbb, 0x9e, 0xc0, 0xa0, 0xae, 0x39, - 0x2e, 0xb5, 0x95, 0xcb, 0xc5, 0x90, 0xcf, 0xe8, 0x4f, 0x5c, 0x6a, 0xa3, 0xf7, 0x60, 0x9c, 0x74, - 0x3c, 0xd3, 0x72, 0x9d, 0xd0, 0xfb, 0x8d, 0x82, 0xde, 0x97, 0x78, 0x81, 0xf7, 0xdf, 0x86, 0xab, - 0xdb, 0xd8, 0x6a, 0xf1, 0xa3, 0xdf, 0xa1, 0xae, 0x4e, 0x3c, 0x4f, 0x5e, 0xdb, 0xbc, 0x5a, 0xc4, - 0x96, 0xa7, 0x11, 0xc7, 0xd0, 0x78, 0x88, 0x2b, 0xd7, 0x78, 0xbc, 0x2f, 0xb3, 0x05, 0x8f, 0xf1, - 0xfe, 0xba, 0x10, 0xe7, 0x17, 0xb1, 0x2a, 0x85, 0x1f, 0x38, 0xc6, 0x5d, 0x26, 0xca, 0x52, 0x97, - 0x81, 0x7d, 0xac, 0x79, 0xc4, 0x31, 0x58, 0x49, 0xc7, 0x32, 0xc4, 0x77, 0x9e, 0x37, 0x75, 0x31, - 0xa4, 0x0d, 0x01, 0xc4, 0x12, 0x04, 0x86, 0x6a, 0xe0, 0x15, 0x0f, 0xb7, 0x88, 0x66, 0x98, 0xbb, - 0xca, 0x4b, 0x27, 0xe3, 0x96, 0x0d, 0xdc, 0x22, 0xf7, 0xcd, 0xdd, 0xa0, 0xa9, 0x20, 0x16, 0xb1, - 0x89, 0xe3, 0x8b, 0x33, 0x1f, 0x46, 0xcd, 0xf5, 0x30, 0x69, 0x3f, 0x90, 0xf3, 0xeb, 0x84, 0x86, - 0x31, 0x20, 0x2f, 0x2b, 0x56, 0xa2, 0xed, 0xca, 0xc4, 0x2d, 0xd6, 0x0b, 0x1f, 0xae, 0x84, 0x97, - 0xd5, 0x1d, 0x2e, 0xc1, 0x13, 0x32, 0x03, 0x10, 0x7e, 0xbb, 0x06, 0xe7, 0xf8, 0x55, 0xe7, 0x53, - 0xe6, 0x35, 0x59, 0x8d, 0x37, 0xf9, 0x9a, 0x71, 0x76, 0xc1, 0xf1, 0x71, 0x59, 0x8e, 0xbb, 0x70, - 0xc1, 0x74, 0x4c, 0xdf, 0xc4, 0x96, 0x46, 0x49, 0x9b, 0x12, 0x5f, 0x7b, 0xbf, 0x8b, 0x1d, 0xdf, - 0xb4, 0x88, 0x72, 0xa3, 0x98, 0x3b, 0x26, 0x25, 0xae, 0xca, 0x61, 0xdf, 0x94, 0xa8, 0xe8, 0xa7, - 0x30, 0xde, 0xe1, 0xe1, 0x1d, 0xf9, 0xfd, 0xe5, 0x82, 0x55, 0x7a, 0x87, 0xc5, 0x79, 0xe0, 0xf5, - 0xd7, 0x40, 0x69, 0x5b, 0xee, 0x16, 0xb6, 0xb4, 0xbd, 0x6d, 0xd3, 0x27, 0x96, 0xe9, 0xf9, 0x1a, - 0x71, 0xf0, 0x96, 0x45, 0x0c, 0xe5, 0xe6, 0xe2, 0x40, 0xa3, 0xa2, 0x4e, 0x89, 0xf9, 0xa7, 0xc1, - 0xf4, 0x03, 0x31, 0xcb, 0x2a, 0x61, 0x71, 0x45, 0xf2, 0x5b, 0xce, 0xa5, 0x19, 0x00, 0xb7, 0x38, - 0xc0, 0x2c, 0x17, 0xbb, 0x27, 0xa4, 0x7a, 0x60, 0x3e, 0x82, 0xf9, 0x16, 0xb6, 0xac, 0x2d, 0xac, - 0xef, 0x68, 0x6c, 0x9c, 0xf0, 0x76, 0x44, 0x77, 0x49, 0xab, 0x65, 0xea, 0xec, 0x22, 0x54, 0x6e, - 0x17, 0xb3, 0x77, 0x36, 0x80, 0x7f, 0x14, 0xa0, 0xdf, 0x8b, 0xc0, 0xd1, 0x3d, 0x98, 0xe7, 0xb7, - 0xd4, 0x7e, 0x87, 0x50, 0x93, 0x65, 0xad, 0x58, 0x3d, 0xcf, 0x36, 0xc2, 0x53, 0x5e, 0xe1, 0xd7, - 0xd4, 0x0c, 0xbb, 0xa6, 0x22, 0xa1, 0xa0, 0x9c, 0xe7, 0x22, 0x6b, 0xe5, 0x4a, 0xb9, 0x7a, 0x66, - 0xad, 0x5c, 0xa9, 0x55, 0x67, 0xd6, 0xca, 0x95, 0x99, 0xea, 0xec, 0x5a, 0xb9, 0x72, 0xa5, 0xda, - 0x58, 0x2b, 0x57, 0xae, 0x56, 0xaf, 0xf1, 0x7e, 0xa5, 0x27, 0x28, 0x39, 0xa0, 0x46, 0x5a, 0x2d, - 0x12, 0x0b, 0xda, 0xa0, 0x78, 0x56, 0x97, 0xd9, 0x12, 0x4a, 0x7c, 0x6a, 0x8a, 0xda, 0x4b, 0x94, - 0xff, 0x9a, 0xe3, 0x3a, 0x3a, 0xf1, 0x24, 0x41, 0xe9, 0xd7, 0x44, 0xd1, 0x6d, 0x10, 0x1d, 0x1f, - 0xf0, 0x5e, 0x4e, 0xbd, 0xd8, 0x17, 0x42, 0xa6, 0xb6, 0x7a, 0x07, 0xce, 0xbf, 0xd5, 0x31, 0xb0, - 0x4f, 0x44, 0xcf, 0x2f, 0xdb, 0x0a, 0x34, 0x05, 0x83, 0x2c, 0x8b, 0x10, 0xaa, 0x94, 0x16, 0x4b, - 0x8d, 0x61, 0x55, 0x7e, 0xa1, 0xdb, 0x30, 0xd8, 0xe1, 0x82, 0xca, 0xe9, 0xc5, 0x52, 0x63, 0xe4, - 0xe6, 0xec, 0x4a, 0xfc, 0x61, 0x63, 0x25, 0xf9, 0x80, 0xa0, 0x4a, 0xd9, 0xd7, 0x47, 0x3e, 0xfe, - 0xfa, 0xd3, 0x6b, 0x12, 0xa2, 0x3e, 0x05, 0x13, 0x49, 0x8d, 0x5e, 0xc7, 0x75, 0x3c, 0x52, 0xff, - 0xdb, 0x30, 0x4c, 0xf2, 0x18, 0x21, 0x4f, 0xc8, 0xde, 0xa6, 0xa8, 0xbd, 0x05, 0x19, 0x05, 0x86, - 0x64, 0x88, 0x49, 0x36, 0xc1, 0x27, 0xaa, 0x41, 0xc5, 0x26, 0x3e, 0x66, 0xb9, 0x8a, 0x13, 0x1a, - 0x56, 0xc3, 0x6f, 0xb4, 0x00, 0x23, 0x96, 0xeb, 0x79, 0x9a, 0x4d, 0xfc, 0x6d, 0xd7, 0x50, 0xca, - 0x7c, 0x1a, 0xd8, 0xd0, 0x63, 0x3e, 0x82, 0x96, 0x60, 0x34, 0xd5, 0x7f, 0x97, 0x1a, 0x03, 0xea, - 0x08, 0x89, 0x35, 0xdf, 0x0d, 0xa8, 0xb6, 0xa9, 0xdb, 0x75, 0x0c, 0xcd, 0xa7, 0x5d, 0x7f, 0x5b, - 0xb3, 0x70, 0x5b, 0xa9, 0x70, 0xb1, 0x31, 0x31, 0xbe, 0xc9, 0x86, 0x1f, 0xe1, 0x36, 0xbb, 0x85, - 0xc4, 0x31, 0x55, 0x80, 0x29, 0x2a, 0x70, 0x0b, 0xf1, 0xd3, 0xc9, 0xda, 0x7e, 0xde, 0x5f, 0xc8, - 0x28, 0x54, 0x46, 0x8a, 0xa1, 0x8e, 0x70, 0x30, 0x11, 0xae, 0xe8, 0x12, 0x8c, 0x31, 0xa9, 0x3d, - 0xcd, 0x21, 0x6d, 0xcc, 0x82, 0x4f, 0x19, 0x5d, 0x2c, 0x35, 0x2a, 0xea, 0x59, 0x3e, 0xfa, 0x44, - 0x0e, 0xa2, 0x37, 0x61, 0x48, 0x66, 0x68, 0xe5, 0x6c, 0x31, 0xed, 0x01, 0x0e, 0x4b, 0x36, 0xf2, - 0x70, 0x79, 0xdd, 0x2d, 0x19, 0x38, 0xc1, 0x83, 0xc9, 0x18, 0xf7, 0xeb, 0x94, 0x98, 0xdf, 0x08, - 0xa7, 0xe5, 0x83, 0xc9, 0x0e, 0x4c, 0xda, 0x84, 0x9a, 0xbe, 0xe6, 0xb9, 0xd4, 0x37, 0x79, 0x01, - 0x2c, 0xfa, 0xaf, 0xf1, 0x62, 0xd4, 0xce, 0x73, 0xd4, 0x8d, 0x00, 0x54, 0xf4, 0x60, 0x2e, 0x5c, - 0x90, 0x57, 0x89, 0x6c, 0x5e, 0xa2, 0x24, 0x5f, 0x2d, 0xa6, 0x6e, 0x52, 0xe0, 0xca, 0x9e, 0x27, - 0x4c, 0xf2, 0x5d, 0xa8, 0x49, 0x85, 0x51, 0xc7, 0x13, 0xe9, 0x3c, 0x57, 0x4c, 0xa7, 0x22, 0xa0, - 0xa3, 0x46, 0x29, 0x54, 0x1b, 0xd9, 0x19, 0xbc, 0x3d, 0x84, 0x3a, 0xd1, 0x89, 0xd8, 0x29, 0x2b, - 0x9e, 0x50, 0xe1, 0xab, 0x70, 0x41, 0x5c, 0x0d, 0x41, 0x8e, 0x0d, 0xaf, 0x0c, 0xe5, 0x3c, 0x0f, - 0xc1, 0x49, 0x31, 0x2d, 0xb2, 0x6b, 0x78, 0x55, 0xb0, 0xb8, 0x91, 0xeb, 0x02, 0xa2, 0xd1, 0xc2, - 0x09, 0xbe, 0x70, 0x4a, 0xcc, 0x4b, 0x85, 0xe1, 0xca, 0xd7, 0x47, 0x59, 0xea, 0x09, 0xf2, 0xc5, - 0x5a, 0xb9, 0x32, 0x50, 0x2d, 0xaf, 0x95, 0x2b, 0x67, 0xaa, 0x83, 0x6b, 0xe5, 0xca, 0x60, 0x75, - 0x68, 0xad, 0x5c, 0x19, 0xae, 0x82, 0x48, 0x0b, 0x9a, 0xe5, 0xb6, 0x4d, 0x5d, 0x1d, 0x0f, 0x0b, - 0x62, 0x39, 0x50, 0x8d, 0x06, 0x44, 0x2e, 0x51, 0x47, 0x82, 0x5e, 0x09, 0xd3, 0x76, 0xfd, 0x16, - 0x4c, 0xa5, 0xd3, 0x96, 0xc8, 0x68, 0x68, 0x1a, 0x2a, 0x22, 0x43, 0x9b, 0x06, 0x4f, 0x5c, 0x65, - 0x75, 0x88, 0x7f, 0xaf, 0x1a, 0xf5, 0xdf, 0x95, 0x60, 0x66, 0xd5, 0xf1, 0x08, 0xf5, 0x25, 0xe3, - 0x75, 0x7c, 0x60, 0xb9, 0xd8, 0x38, 0x2c, 0xff, 0xaa, 0x30, 0x11, 0x78, 0x60, 0x17, 0x5b, 0x5d, - 0xa2, 0x6d, 0x75, 0x1d, 0xc3, 0x22, 0x32, 0x1b, 0x2f, 0xc6, 0xb3, 0xf1, 0xad, 0x15, 0x09, 0xfd, - 0x36, 0x13, 0xbc, 0xcb, 0xe5, 0x54, 0x44, 0x7b, 0xc6, 0x92, 0xd9, 0x79, 0x1e, 0x66, 0xb3, 0x79, - 0xc9, 0x2c, 0xfd, 0x9b, 0x12, 0xd4, 0x84, 0x80, 0xd8, 0xa3, 0x23, 0xf2, 0x7e, 0x04, 0x48, 0xee, - 0x38, 0xaf, 0x50, 0x13, 0xac, 0xe7, 0x93, 0xac, 0x05, 0xee, 0x7d, 0xec, 0x63, 0xc9, 0xb9, 0xba, - 0x97, 0x1a, 0x49, 0x32, 0x9e, 0x0b, 0x3c, 0x99, 0x22, 0x24, 0x09, 0xff, 0xa5, 0x04, 0xe3, 0x2a, - 0xef, 0x76, 0xc3, 0x47, 0xb3, 0x5c, 0x96, 0xf1, 0x0d, 0x2b, 0x27, 0x36, 0x0c, 0x4d, 0xc0, 0x19, - 0x77, 0xcf, 0x21, 0x54, 0x39, 0xc3, 0x57, 0x88, 0x0f, 0x34, 0x07, 0x60, 0x86, 0x77, 0xa9, 0x32, - 0xc8, 0x23, 0x71, 0xd8, 0xf4, 0xa4, 0xef, 0x12, 0x3c, 0xd7, 0xca, 0x95, 0xd3, 0xd5, 0x01, 0x11, - 0x81, 0xea, 0x88, 0x65, 0x6e, 0x69, 0x9d, 0x9b, 0x1d, 0x6d, 0x87, 0x1c, 0xa8, 0x67, 0xed, 0xae, - 0xe5, 0x9b, 0x1a, 0x36, 0x0c, 0x4a, 0x3c, 0xaf, 0xfe, 0x10, 0xaa, 0x11, 0x5f, 0x19, 0x49, 0x0a, - 0x0c, 0x79, 0x5d, 0x9d, 0x55, 0xfe, 0x9c, 0x71, 0x45, 0x0d, 0x3e, 0xd9, 0x8c, 0x4d, 0x3c, 0x0f, - 0xb7, 0x89, 0xbc, 0x00, 0x83, 0xcf, 0xfa, 0x07, 0x30, 0xcd, 0x3b, 0x04, 0xa2, 0xc6, 0x7a, 0xfd, - 0xe3, 0x78, 0xe0, 0x74, 0xd2, 0x03, 0x49, 0x5b, 0x07, 0xfa, 0xd9, 0x5a, 0x5f, 0x87, 0x5a, 0x96, - 0xee, 0x02, 0xd6, 0xfc, 0xa1, 0x04, 0xe3, 0x77, 0x0c, 0x43, 0x36, 0x3e, 0xcf, 0x6d, 0xc4, 0x8f, - 0x60, 0x10, 0xdb, 0x6e, 0xd7, 0xf1, 0xb9, 0x01, 0xcf, 0xd3, 0x18, 0xc9, 0xf5, 0x49, 0x7b, 0x11, - 0x54, 0x23, 0x72, 0x32, 0xf0, 0xfe, 0x54, 0x02, 0xa4, 0x46, 0xaf, 0xff, 0xdf, 0x3e, 0xd2, 0x93, - 0x70, 0x3e, 0xc1, 0x4f, 0xf2, 0x7e, 0x06, 0xca, 0x3d, 0xec, 0xe8, 0xc4, 0x3a, 0x11, 0xf2, 0x49, - 0x95, 0x33, 0x30, 0x9d, 0x81, 0x2d, 0x15, 0xff, 0xbd, 0x04, 0x13, 0xf7, 0x89, 0xc5, 0xca, 0x8f, - 0xc2, 0x2e, 0x53, 0x60, 0x28, 0x1e, 0xa9, 0xc3, 0x6a, 0xf0, 0x19, 0x73, 0x66, 0xf9, 0x24, 0x9d, - 0x79, 0x01, 0x26, 0x53, 0xdc, 0xa5, 0x55, 0xff, 0x28, 0x05, 0x67, 0xe1, 0x58, 0xb6, 0xc5, 0x0c, - 0x38, 0x9d, 0x34, 0x20, 0x6e, 0xf5, 0x40, 0x5e, 0xa0, 0x9c, 0xa8, 0x6d, 0x73, 0x30, 0x93, 0x69, - 0x81, 0xb4, 0xf0, 0xf7, 0x25, 0x58, 0x8c, 0xef, 0xea, 0x49, 0xed, 0xe1, 0x2c, 0x0c, 0x1b, 0x02, - 0xca, 0x0d, 0x76, 0x31, 0x1a, 0x88, 0x3b, 0xa8, 0x9c, 0x70, 0x50, 0x92, 0xfb, 0x32, 0x2c, 0xf5, - 0xe1, 0x26, 0x2d, 0xd8, 0x65, 0x5b, 0xb4, 0x87, 0xa9, 0xf1, 0xc2, 0xc3, 0x2f, 0xc3, 0xb1, 0x19, - 0x7a, 0x25, 0xad, 0x3f, 0x96, 0xa0, 0xfa, 0x90, 0x35, 0x19, 0xf1, 0x66, 0xe8, 0xdb, 0x93, 0x3f, - 0xce, 0xc3, 0xb9, 0x18, 0x3b, 0xc9, 0xf9, 0x1d, 0xa8, 0xdd, 0x31, 0x8c, 0x4d, 0x37, 0xac, 0xc0, - 0xee, 0x18, 0xb6, 0xe9, 0x1c, 0x21, 0xda, 0xe5, 0xf5, 0x17, 0x44, 0xbb, 0xfc, 0xec, 0xf1, 0x57, - 0x26, 0xb8, 0xd4, 0xfd, 0x1e, 0x2c, 0x88, 0x5d, 0x7e, 0x48, 0x5d, 0xfb, 0x85, 0x10, 0xa8, 0xc3, - 0x62, 0xbe, 0x06, 0xc9, 0x42, 0x87, 0x25, 0xf1, 0xb4, 0x21, 0x7e, 0x25, 0x9d, 0xac, 0x64, 0x4f, - 0x2a, 0x91, 0x5e, 0x84, 0x7a, 0x3f, 0x25, 0x92, 0x8a, 0x01, 0xf5, 0xfb, 0xa6, 0xf7, 0xa2, 0xb9, - 0x5c, 0x82, 0xe5, 0xbe, 0x5a, 0x22, 0x32, 0x31, 0xca, 0xe9, 0x42, 0xfd, 0x04, 0xc9, 0xf4, 0xd5, - 0x22, 0xc9, 0x90, 0x24, 0xe7, 0x17, 0xc5, 0xe6, 0x32, 0x5c, 0xec, 0xaf, 0x46, 0xd2, 0x79, 0x57, - 0x06, 0xf6, 0x1b, 0xc9, 0x97, 0xb6, 0x13, 0x8a, 0xda, 0x79, 0x98, 0xcd, 0x46, 0x97, 0xda, 0x71, - 0x3c, 0xaa, 0x5f, 0x0c, 0x85, 0x65, 0x58, 0xea, 0xa3, 0x42, 0xf2, 0xd8, 0x82, 0x25, 0xce, 0x73, - 0x33, 0xeb, 0xb9, 0xf0, 0x84, 0x88, 0x5c, 0x84, 0x7a, 0x3f, 0x1d, 0x92, 0x49, 0x1b, 0x2e, 0x47, - 0x74, 0x5f, 0x24, 0x9d, 0xab, 0x70, 0xe5, 0x50, 0x45, 0x92, 0xd3, 0x87, 0xb0, 0x18, 0x31, 0x3f, - 0xe6, 0x51, 0xce, 0x65, 0xd3, 0xa7, 0x9a, 0xe8, 0xd9, 0xc0, 0x3e, 0xda, 0x25, 0xc5, 0x5f, 0x96, - 0xe0, 0x52, 0xca, 0x9c, 0x6f, 0x9c, 0x68, 0xa3, 0x67, 0xeb, 0xf2, 0xd8, 0x7e, 0x14, 0x37, 0xe9, - 0xb8, 0x19, 0xa0, 0x38, 0xd1, 0x44, 0x24, 0xe6, 0x66, 0x86, 0x8f, 0x4b, 0x3d, 0xf6, 0x7c, 0xf3, - 0x54, 0x7b, 0xa3, 0x34, 0x8f, 0xef, 0xcd, 0xff, 0x2a, 0x00, 0x8f, 0xbd, 0xf6, 0x06, 0xa1, 0xbb, - 0xa6, 0x4e, 0xd0, 0x5b, 0x30, 0x1a, 0x7f, 0xec, 0x45, 0x4b, 0xc9, 0xf7, 0xe2, 0x8c, 0xa7, 0xe7, - 0x5a, 0xbd, 0x9f, 0x88, 0xec, 0x20, 0xdf, 0x81, 0xb1, 0xe4, 0x9b, 0x0b, 0x5a, 0x4e, 0xae, 0xca, - 0x7c, 0x48, 0xae, 0x5d, 0xec, 0x2f, 0x24, 0xc1, 0x57, 0xa1, 0x12, 0x34, 0xe0, 0x68, 0x2e, 0xb9, - 0x22, 0xf5, 0x90, 0x50, 0x9b, 0xcf, 0x9b, 0x96, 0x50, 0xed, 0xa0, 0x05, 0x8c, 0xf7, 0xc1, 0xe8, - 0x4a, 0x7a, 0x55, 0x4e, 0x97, 0x5e, 0x6b, 0x1c, 0x2e, 0x18, 0x71, 0x0e, 0x1a, 0xd0, 0x34, 0xe7, - 0x54, 0xd7, 0x9c, 0xe6, 0x9c, 0xee, 0x5b, 0x91, 0x0a, 0x23, 0xb1, 0xee, 0x0c, 0x2d, 0x66, 0x71, - 0x48, 0x00, 0x2e, 0xf5, 0x91, 0x90, 0x98, 0x06, 0x9c, 0xeb, 0xe9, 0xfb, 0xd0, 0xe5, 0xd4, 0x6e, - 0xe4, 0x34, 0x9d, 0xb5, 0x2b, 0x87, 0xca, 0x49, 0x2d, 0x3f, 0x81, 0xb3, 0x89, 0x42, 0x1a, 0xa5, - 0x42, 0x29, 0xab, 0xba, 0xaf, 0x2d, 0xf7, 0x95, 0x91, 0xc8, 0x3f, 0x63, 0xad, 0x72, 0x4f, 0xa1, - 0x8e, 0x7a, 0xf6, 0x27, 0xaf, 0x87, 0xa8, 0x5d, 0x3d, 0x82, 0x64, 0x5c, 0x57, 0x4f, 0xaf, 0x82, - 0x32, 0x63, 0xe1, 0x68, 0xba, 0x72, 0x1b, 0x1f, 0xf4, 0x61, 0xb2, 0x1f, 0x4f, 0x6a, 0x5c, 0xc9, - 0xf7, 0x7b, 0xa6, 0xde, 0xe6, 0x91, 0xe5, 0xa5, 0xf6, 0x47, 0x30, 0x1c, 0x36, 0x10, 0x28, 0x15, - 0x96, 0xe9, 0xbe, 0xa7, 0xb6, 0x90, 0x3b, 0x1f, 0xf9, 0x2d, 0xa3, 0x39, 0x48, 0xfb, 0x2d, 0xbf, - 0x39, 0x49, 0xfb, 0xad, 0x4f, 0xa7, 0x81, 0x0e, 0x40, 0xc9, 0xeb, 0x03, 0xd0, 0xf5, 0x2c, 0xf7, - 0xe7, 0x76, 0x24, 0xb5, 0x95, 0xa3, 0x8a, 0x47, 0x66, 0x66, 0x3c, 0x77, 0xa6, 0xcd, 0xcc, 0x7f, - 0xa2, 0x4d, 0x9b, 0xd9, 0xe7, 0xed, 0x14, 0xd9, 0x30, 0x91, 0xf5, 0x18, 0x8c, 0x32, 0x21, 0x32, - 0x1f, 0xb2, 0x6b, 0xd7, 0x8e, 0x22, 0x1a, 0xa9, 0xcb, 0xaa, 0x53, 0x51, 0xd6, 0xc6, 0x64, 0x97, - 0xa9, 0x69, 0x75, 0xfd, 0xca, 0x5e, 0x16, 0xfc, 0xb9, 0x35, 0x29, 0xca, 0xdd, 0x96, 0x1c, 0xc5, - 0xcd, 0x23, 0xcb, 0x4b, 0xed, 0x3f, 0x87, 0x5a, 0x7e, 0x07, 0x87, 0x52, 0x70, 0x87, 0x36, 0x94, - 0xb5, 0x1b, 0x47, 0x5f, 0x20, 0x09, 0x7c, 0x5c, 0x82, 0x99, 0x3e, 0x7d, 0x1b, 0x4a, 0x21, 0x1e, - 0xde, 0x48, 0xd6, 0x5e, 0x3e, 0xc6, 0x8a, 0x18, 0x89, 0x3e, 0xfd, 0x1a, 0xca, 0x37, 0x2b, 0xa7, - 0x0a, 0x4a, 0x93, 0x38, 0x42, 0x33, 0x88, 0x3e, 0x29, 0xc1, 0x6c, 0xbf, 0x36, 0x0d, 0xf5, 0x31, - 0x2c, 0x8f, 0xc6, 0xcd, 0xe3, 0x2c, 0x89, 0x42, 0x22, 0xbf, 0x37, 0x49, 0x87, 0xc4, 0xa1, 0x9d, - 0x52, 0x3a, 0x24, 0x0e, 0x6f, 0x7b, 0xd0, 0xaf, 0x4b, 0xf1, 0x17, 0x94, 0x6c, 0x1a, 0xb7, 0xf3, - 0x02, 0xbd, 0x2f, 0x97, 0x57, 0x8e, 0xb9, 0x2a, 0x3a, 0xa2, 0xb9, 0x5d, 0x47, 0xfa, 0x88, 0x1e, - 0xd6, 0x1c, 0xd5, 0x9a, 0x47, 0x96, 0x97, 0xda, 0x7f, 0x55, 0x82, 0xf9, 0xfe, 0xbd, 0x04, 0xba, - 0xd5, 0xd7, 0xae, 0x1c, 0x22, 0xb7, 0x8f, 0xb7, 0x28, 0x2b, 0x3a, 0x7a, 0x42, 0x34, 0xd7, 0xb8, - 0xbc, 0x00, 0xbd, 0x71, 0xf4, 0x05, 0xf9, 0xd1, 0xd1, 0x43, 0xa3, 0xbf, 0x69, 0x79, 0x5c, 0x5e, - 0x39, 0xe6, 0x2a, 0x41, 0xa8, 0x76, 0xe6, 0x17, 0x5f, 0x7f, 0x7a, 0xad, 0x74, 0x57, 0xfd, 0xec, - 0xcb, 0xf9, 0xd2, 0xe7, 0x5f, 0xce, 0x97, 0xfe, 0xf3, 0xe5, 0x7c, 0xe9, 0xb7, 0x5f, 0xcd, 0x9f, - 0xfa, 0xfc, 0xab, 0xf9, 0x53, 0xff, 0xfa, 0x6a, 0xfe, 0xd4, 0xb3, 0xd7, 0x8e, 0xf8, 0x6b, 0xeb, - 0xfd, 0x66, 0xf4, 0xd7, 0x32, 0xfe, 0x41, 0x87, 0x78, 0x5b, 0x83, 0xfc, 0x8f, 0x62, 0x6e, 0xfd, - 0x3f, 0x00, 0x00, 0xff, 0xff, 0x1c, 0xec, 0x93, 0x42, 0xcf, 0x33, 0x00, 0x00, + // 3131 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x3d, 0x70, 0x1b, 0xc7, + 0xf5, 0x17, 0x44, 0x88, 0x04, 0x1f, 0x29, 0x12, 0x5a, 0x91, 0xd4, 0x11, 0xfc, 0x02, 0x41, 0x7d, + 0x40, 0xfa, 0x5b, 0x84, 0x2c, 0xc9, 0xfe, 0x3b, 0x4e, 0x8a, 0x48, 0x96, 0xe4, 0x90, 0x23, 0x29, + 0xf4, 0x91, 0xb6, 0x32, 0xb2, 0x27, 0xe7, 0xe5, 0xdd, 0x02, 0xb8, 0xe8, 0x3e, 0xe0, 0xbd, 0x03, + 0x48, 0x7a, 0x9c, 0x49, 0xe2, 0x19, 0x57, 0x99, 0x49, 0x52, 0xa5, 0x48, 0x32, 0xa9, 0x53, 0x65, + 0x5c, 0x24, 0x4d, 0xaa, 0x94, 0x2e, 0x3d, 0xa9, 0x32, 0x29, 0x3c, 0x19, 0xbb, 0x70, 0x9b, 0x26, + 0x7d, 0x66, 0x3f, 0xee, 0x13, 0x77, 0x20, 0x29, 0x50, 0x1e, 0x37, 0x12, 0x6f, 0xf7, 0xed, 0xef, + 0xfd, 0xde, 0xdb, 0xb7, 0x6f, 0xdf, 0x5b, 0x0e, 0x61, 0x96, 0xd8, 0xa6, 0xe7, 0x99, 0xae, 0xe3, + 0x35, 0x7a, 0xaf, 0x36, 0xfc, 0xfd, 0xf5, 0x0e, 0x75, 0x7d, 0x17, 0x4d, 0x86, 0xc3, 0xeb, 0xbd, + 0x57, 0x2b, 0xe7, 0xb0, 0x6d, 0x3a, 0x6e, 0x83, 0xff, 0x2b, 0x04, 0x2a, 0x17, 0x74, 0xd7, 0xb3, + 0x5d, 0xaf, 0x61, 0x7b, 0xad, 0x46, 0xef, 0x65, 0xf6, 0x9f, 0x9c, 0x98, 0x17, 0x13, 0x1a, 0xff, + 0x6a, 0x88, 0x0f, 0x39, 0x55, 0x89, 0xe9, 0xba, 0xd5, 0xa0, 0xa4, 0xd3, 0xf5, 0x09, 0x0d, 0x96, + 0x25, 0xe6, 0xf6, 0x5c, 0xfa, 0x2c, 0x9c, 0x9a, 0x69, 0xb9, 0x2d, 0x57, 0xc0, 0xb1, 0x9f, 0xc4, + 0x68, 0xed, 0xbf, 0xcb, 0x30, 0xf5, 0xc3, 0x8e, 0x6f, 0xba, 0x0e, 0xb6, 0xb6, 0x30, 0xc5, 0xb6, + 0x87, 0x14, 0x18, 0xeb, 0x11, 0xca, 0x40, 0x94, 0x42, 0x75, 0xa4, 0x3e, 0xae, 0x06, 0x9f, 0xe8, + 0x3b, 0x30, 0x6f, 0xe3, 0x7d, 0xcd, 0x23, 0xd4, 0xc4, 0x96, 0xf9, 0x21, 0x31, 0x34, 0xdb, 0x6b, + 0x69, 0x16, 0x71, 0x5a, 0x7e, 0x5b, 0x39, 0x5d, 0x1d, 0xa9, 0x8f, 0xa8, 0x73, 0x36, 0xde, 0xdf, + 0x0e, 0xe7, 0x1f, 0x79, 0xad, 0x87, 0x7c, 0x16, 0x61, 0x28, 0xdb, 0xa6, 0xa3, 0xf9, 0x6e, 0xc7, + 0xd4, 0xb5, 0x3d, 0x62, 0xb6, 0xda, 0xbe, 0x32, 0xc2, 0xd0, 0xef, 0xfe, 0xff, 0x67, 0x5f, 0xac, + 0x9c, 0xfa, 0xd7, 0x17, 0x2b, 0x8d, 0x96, 0xe9, 0xb7, 0xbb, 0xbb, 0xeb, 0xba, 0x6b, 0x37, 0xb0, + 0x65, 0xb9, 0x14, 0x5f, 0x77, 0x88, 0xcf, 0x4c, 0x08, 0x3e, 0xf5, 0x36, 0x36, 0x9d, 0x86, 0x8d, + 0xfd, 0xf6, 0xfa, 0x3d, 0xa2, 0xab, 0x53, 0xb6, 0xe9, 0xec, 0x30, 0xbc, 0x27, 0x1c, 0x0e, 0x35, + 0x61, 0x8e, 0x92, 0x0f, 0xba, 0x26, 0x65, 0xbc, 0x4c, 0xc7, 0xb4, 0xbb, 0xb6, 0xe6, 0xf9, 0xf8, + 0x19, 0x51, 0xce, 0x70, 0x45, 0x37, 0xa4, 0xa2, 0x59, 0xe1, 0x4d, 0xcf, 0x78, 0xb6, 0x6e, 0xba, + 0x02, 0x6e, 0xc3, 0xf1, 0xff, 0xf1, 0x97, 0xeb, 0x20, 0xdd, 0xbc, 0xe1, 0xf8, 0x7f, 0xfa, 0xfa, + 0xd3, 0x6b, 0x05, 0x75, 0x26, 0xc0, 0x7b, 0x24, 0xe0, 0xb6, 0x19, 0x1a, 0xf3, 0x02, 0x25, 0xb6, + 0xdb, 0x23, 0x02, 0x5d, 0x33, 0x88, 0x85, 0x0f, 0xb4, 0x3d, 0xd3, 0x31, 0xdc, 0x3d, 0x65, 0x54, + 0x78, 0x41, 0x08, 0x70, 0xf9, 0x7b, 0x6c, 0xfa, 0x09, 0x9f, 0x45, 0x75, 0xe1, 0x05, 0xd2, 0x71, + 0xf5, 0x76, 0xe0, 0xb7, 0x31, 0xbe, 0x82, 0x19, 0x73, 0x9f, 0x0d, 0x4b, 0x7f, 0x3d, 0x85, 0xc9, + 0x5d, 0xe2, 0x63, 0x8d, 0x38, 0x3e, 0x75, 0x3b, 0x07, 0x4a, 0x69, 0x38, 0x5f, 0x4d, 0x30, 0xb0, + 0xfb, 0x02, 0x0b, 0xbd, 0x07, 0x67, 0x2d, 0x82, 0xa9, 0x63, 0x3a, 0x2d, 0x8d, 0x62, 0x9f, 0x28, + 0xe3, 0xc3, 0x81, 0x4f, 0x06, 0x68, 0x2a, 0xf6, 0x09, 0xb2, 0x81, 0xc5, 0x80, 0xd6, 0xa2, 0xd8, + 0x30, 0x89, 0xe3, 0x6b, 0x7e, 0x9b, 0x12, 0xaf, 0xed, 0x5a, 0x86, 0x02, 0xc3, 0xa9, 0x99, 0xb1, + 0xf1, 0xfe, 0x9b, 0x12, 0x75, 0x27, 0x00, 0x45, 0x04, 0x10, 0x73, 0xa9, 0xd8, 0x8a, 0x26, 0xc5, + 0x3a, 0x8b, 0x65, 0x65, 0x62, 0x38, 0x55, 0x6c, 0x97, 0xf8, 0xe6, 0x3d, 0x90, 0x80, 0xe8, 0x3e, + 0xac, 0x30, 0xab, 0xba, 0x4e, 0xb3, 0x6b, 0x35, 0x4d, 0xcb, 0x22, 0x86, 0x26, 0x4e, 0x97, 0xc6, + 0x62, 0x84, 0x78, 0xbe, 0xa7, 0x9c, 0xad, 0x8e, 0xd4, 0x8b, 0xea, 0xa2, 0x8d, 0xf7, 0xdf, 0x8e, + 0xa4, 0x9e, 0x70, 0x21, 0x55, 0xca, 0xa0, 0x37, 0xa1, 0x9a, 0x86, 0x91, 0x07, 0x38, 0xc2, 0x99, + 0xe2, 0x38, 0x4b, 0x49, 0x1c, 0x55, 0x48, 0x85, 0x40, 0x1f, 0xc2, 0x92, 0x38, 0x4b, 0x94, 0xec, + 0x61, 0x6a, 0x48, 0xfb, 0x4d, 0xbb, 0xe3, 0x52, 0x1f, 0x3b, 0x3a, 0x51, 0xa6, 0x87, 0xf3, 0x40, + 0x85, 0xa3, 0xab, 0x1c, 0x9c, 0x7b, 0x62, 0x23, 0x84, 0x46, 0x9f, 0x14, 0x60, 0x2d, 0xa1, 0xbc, + 0x49, 0x88, 0x46, 0x49, 0x8f, 0x38, 0xdd, 0x04, 0x85, 0xf2, 0x70, 0x14, 0x56, 0x62, 0x14, 0x1e, + 0x10, 0xa2, 0x0a, 0x05, 0x31, 0x1e, 0x04, 0x50, 0x82, 0x06, 0xb6, 0x3a, 0x6d, 0xac, 0x9c, 0x1b, + 0x72, 0xeb, 0x63, 0x5a, 0xef, 0x30, 0x40, 0xa4, 0xc3, 0x39, 0x1f, 0x7b, 0xcf, 0x92, 0x5a, 0xd0, + 0x70, 0x5a, 0xa6, 0x19, 0x62, 0x5c, 0x09, 0xf3, 0x69, 0x0f, 0x5b, 0xa6, 0x81, 0x7d, 0x97, 0x7a, + 0x5a, 0xcf, 0xd3, 0xc4, 0x42, 0xad, 0x43, 0xa8, 0xce, 0x8e, 0x91, 0xd0, 0xae, 0x9c, 0x1f, 0xd2, + 0xa7, 0x91, 0x8e, 0x77, 0xbc, 0x3b, 0x5c, 0x64, 0x4b, 0x28, 0x10, 0x64, 0xd0, 0xf7, 0x60, 0x81, + 0xa7, 0x78, 0x6c, 0x77, 0x2c, 0xe2, 0x69, 0xbe, 0xab, 0x79, 0x3a, 0xb6, 0x88, 0xe6, 0xe9, 0x2e, + 0x25, 0x9e, 0x32, 0xc3, 0x63, 0xf3, 0x02, 0x4b, 0xf2, 0x42, 0x62, 0xc7, 0xdd, 0x66, 0xf3, 0xdb, + 0x7c, 0x1a, 0xbd, 0x0e, 0x15, 0xb6, 0xda, 0x77, 0x3b, 0x9a, 0xe9, 0x34, 0x09, 0x25, 0x94, 0x43, + 0x48, 0xee, 0xb3, 0x7c, 0x31, 0xcb, 0x0e, 0x3b, 0x6e, 0x67, 0x43, 0xce, 0xef, 0xb8, 0x52, 0xf3, + 0xf7, 0x61, 0x29, 0x58, 0xdb, 0x74, 0x29, 0xd1, 0xb1, 0xe7, 0x27, 0x97, 0xcf, 0xf1, 0xe5, 0xf3, + 0x62, 0xf9, 0x83, 0x48, 0x24, 0x44, 0x88, 0x69, 0x97, 0x87, 0x2a, 0xbe, 0xfc, 0x42, 0x5c, 0xbb, + 0x3c, 0x4e, 0xd1, 0xda, 0xa7, 0x50, 0xd6, 0x29, 0xc1, 0x3e, 0x91, 0x57, 0x54, 0x93, 0x10, 0x45, + 0x79, 0xce, 0x6b, 0x63, 0x4a, 0x20, 0xf1, 0xbb, 0xe9, 0x01, 0x21, 0xe8, 0xbb, 0x50, 0x09, 0xb3, + 0xa1, 0x41, 0x3c, 0xbe, 0x9d, 0x8c, 0xa8, 0xc9, 0x18, 0x28, 0xf3, 0xc2, 0xa5, 0x81, 0xc4, 0x3d, + 0x21, 0xf0, 0x08, 0xef, 0x6f, 0xb0, 0x69, 0xf4, 0x2e, 0x94, 0x29, 0x69, 0x99, 0x9e, 0x4f, 0x31, + 0x4b, 0x44, 0x9c, 0xd8, 0xe2, 0x73, 0x12, 0x9b, 0x8e, 0x23, 0x31, 0x66, 0x2f, 0x01, 0x32, 0x48, + 0x13, 0x77, 0x2d, 0x5f, 0xeb, 0xe0, 0x16, 0xd1, 0x2c, 0xd3, 0x36, 0x7d, 0x65, 0x89, 0x33, 0x2a, + 0xcb, 0x99, 0x2d, 0xdc, 0x22, 0x0f, 0xd9, 0x38, 0xba, 0x08, 0x53, 0x8c, 0x76, 0x4c, 0x72, 0x99, + 0x4b, 0x4e, 0xda, 0x78, 0x3f, 0x92, 0x62, 0xfb, 0x98, 0xba, 0xe3, 0x34, 0x4a, 0x74, 0x97, 0x1a, + 0x72, 0xd1, 0x0a, 0xbf, 0xf0, 0xe6, 0x93, 0x17, 0x9e, 0xca, 0x25, 0x04, 0x42, 0x1d, 0xca, 0xbb, + 0x96, 0xab, 0x3f, 0xf3, 0x58, 0xf0, 0x6b, 0xb6, 0xeb, 0xf8, 0x6d, 0xa5, 0xca, 0x35, 0x4d, 0x89, + 0xf1, 0x2d, 0x42, 0x1f, 0xb1, 0x51, 0x96, 0x01, 0x3a, 0xc1, 0xb9, 0x14, 0x01, 0xc7, 0xf2, 0xce, + 0xea, 0x90, 0x19, 0xa0, 0x23, 0x62, 0x62, 0x23, 0x00, 0x64, 0x19, 0x20, 0x54, 0x13, 0xc4, 0xa6, + 0x52, 0x1b, 0x32, 0x03, 0x48, 0x2d, 0x41, 0x20, 0xb3, 0x0a, 0x29, 0x54, 0x22, 0xc3, 0x57, 0x59, + 0x1b, 0xb2, 0x42, 0x92, 0x3a, 0x64, 0xb4, 0x33, 0x77, 0xe9, 0xfd, 0xee, 0xba, 0x38, 0xa4, 0xbb, + 0xf4, 0x0c, 0x77, 0xe9, 0x7d, 0xee, 0xba, 0x34, 0xa4, 0xbb, 0xf4, 0x94, 0xbb, 0x1e, 0xc3, 0xa8, + 0xae, 0x39, 0x2e, 0xb5, 0x95, 0xcb, 0xc3, 0x21, 0x9f, 0xd1, 0x1f, 0xbb, 0xd4, 0x46, 0xef, 0xc3, + 0x34, 0xe9, 0x78, 0xa6, 0xe5, 0x3a, 0xa1, 0xf7, 0xeb, 0x43, 0x7a, 0x5f, 0xe2, 0x05, 0xde, 0x7f, + 0x07, 0xae, 0xb6, 0xb1, 0xd5, 0xe4, 0x47, 0xbf, 0x43, 0x5d, 0x9d, 0x78, 0x9e, 0xbc, 0xb6, 0x79, + 0xb5, 0x88, 0x2d, 0x4f, 0x23, 0x8e, 0xa1, 0xf1, 0x10, 0x57, 0xae, 0xf1, 0x78, 0x5f, 0x63, 0x0b, + 0x1e, 0xe1, 0xfd, 0x2d, 0x21, 0xce, 0x2f, 0x62, 0x55, 0x0a, 0xdf, 0x77, 0x8c, 0xbb, 0x4c, 0x94, + 0xa5, 0x2e, 0x03, 0xfb, 0x58, 0xf3, 0x88, 0x63, 0xb0, 0x92, 0x8e, 0x65, 0x88, 0xff, 0x7b, 0xde, + 0xd4, 0xc5, 0x90, 0xb6, 0x05, 0x10, 0x4b, 0x10, 0x18, 0xca, 0x81, 0x57, 0x3c, 0xdc, 0x24, 0x9a, + 0x61, 0xf6, 0x94, 0x97, 0x4e, 0xc6, 0x2d, 0xdb, 0xb8, 0x49, 0xee, 0x99, 0xbd, 0xa0, 0xa9, 0x20, + 0x16, 0xb1, 0x89, 0xe3, 0x8b, 0x33, 0x1f, 0x46, 0xcd, 0xf5, 0x30, 0x69, 0xdf, 0x97, 0xf3, 0x5b, + 0x84, 0x86, 0x31, 0x20, 0x2f, 0x2b, 0x56, 0xa2, 0xf5, 0x64, 0xe2, 0x16, 0xeb, 0x85, 0x0f, 0xd7, + 0xc3, 0xcb, 0xea, 0x0e, 0x97, 0xe0, 0x09, 0x99, 0x01, 0x08, 0xbf, 0x5d, 0x83, 0x73, 0xfc, 0xaa, + 0xf3, 0x29, 0xf3, 0x9a, 0xac, 0xc6, 0x1b, 0x7c, 0xcd, 0x34, 0xbb, 0xe0, 0xf8, 0xb8, 0x2c, 0xc7, + 0x5d, 0xb8, 0x60, 0x3a, 0xa6, 0x6f, 0x62, 0x4b, 0xa3, 0xa4, 0x45, 0x89, 0xaf, 0x7d, 0xd0, 0xc5, + 0x8e, 0x6f, 0x5a, 0x44, 0xb9, 0x31, 0x9c, 0x3b, 0x66, 0x25, 0xae, 0xca, 0x61, 0xdf, 0x92, 0xa8, + 0xe8, 0xc7, 0x30, 0xdd, 0xe1, 0xe1, 0x1d, 0xf9, 0xfd, 0xe5, 0x21, 0xab, 0xf4, 0x0e, 0x8b, 0xf3, + 0xc0, 0xeb, 0xaf, 0x81, 0xd2, 0xb2, 0xdc, 0x5d, 0x6c, 0x69, 0x7b, 0x6d, 0xd3, 0x27, 0x96, 0xe9, + 0xf9, 0x1a, 0x71, 0xf0, 0xae, 0x45, 0x0c, 0xe5, 0x66, 0x75, 0xa4, 0x5e, 0x52, 0xe7, 0xc4, 0xfc, + 0x93, 0x60, 0xfa, 0xbe, 0x98, 0x65, 0x95, 0xb0, 0xb8, 0x22, 0xf9, 0x2d, 0xe7, 0xd2, 0x0c, 0x80, + 0x5b, 0x1c, 0x60, 0x91, 0x8b, 0xbd, 0x21, 0xa4, 0xfa, 0x60, 0xde, 0x80, 0x65, 0x7e, 0x4d, 0xec, + 0x77, 0x08, 0x35, 0x59, 0xda, 0x88, 0x15, 0xd4, 0xcc, 0x13, 0x9e, 0x72, 0x9b, 0xdf, 0x13, 0x0b, + 0xec, 0x9e, 0x88, 0x84, 0x82, 0x7a, 0x9a, 0x8b, 0x6c, 0x16, 0x4b, 0xc5, 0xf2, 0x99, 0xcd, 0x62, + 0xa9, 0x52, 0x5e, 0xd8, 0x2c, 0x96, 0x16, 0xca, 0x8b, 0x9b, 0xc5, 0xd2, 0x95, 0x72, 0x7d, 0xb3, + 0x58, 0xba, 0x5a, 0xbe, 0xc6, 0x1b, 0x86, 0xbe, 0xa8, 0xe0, 0x80, 0x1a, 0x69, 0x36, 0x49, 0x2c, + 0x6a, 0x82, 0xea, 0x55, 0x5d, 0x63, 0x4b, 0x28, 0xf1, 0xa9, 0x29, 0x8a, 0x1f, 0x51, 0x7f, 0x6b, + 0x8e, 0xeb, 0xe8, 0xc4, 0x93, 0x04, 0xa5, 0x61, 0x89, 0xaa, 0xd7, 0x20, 0x3a, 0x3e, 0xe0, 0xcd, + 0x94, 0x7a, 0x71, 0x20, 0x84, 0xcc, 0x2d, 0xb5, 0x0e, 0x9c, 0x7f, 0xbb, 0x63, 0x60, 0x9f, 0x88, + 0xa6, 0x5b, 0xd6, 0xf5, 0x68, 0x0e, 0x46, 0xd9, 0x31, 0x26, 0x54, 0x29, 0x54, 0x0b, 0xf5, 0x71, + 0x55, 0x7e, 0xa1, 0xdb, 0x30, 0xda, 0xe1, 0x82, 0xca, 0xe9, 0x6a, 0xa1, 0x3e, 0x71, 0x73, 0x71, + 0x3d, 0xfe, 0xb2, 0xb0, 0x9e, 0xec, 0xe0, 0x55, 0x29, 0xfb, 0xfa, 0xc4, 0xc7, 0x5f, 0x7f, 0x7a, + 0x4d, 0x42, 0xd4, 0xe6, 0x60, 0x26, 0xa9, 0xd1, 0xeb, 0xb8, 0x8e, 0x47, 0x6a, 0x7f, 0x1d, 0x87, + 0x59, 0xbe, 0x49, 0xe4, 0x31, 0xd9, 0xdb, 0x11, 0xc5, 0xaf, 0x20, 0xa3, 0xc0, 0x98, 0xdc, 0x63, + 0xc9, 0x26, 0xf8, 0x44, 0x15, 0x28, 0xd9, 0xc4, 0xc7, 0x2c, 0x59, 0x70, 0x42, 0xe3, 0x6a, 0xf8, + 0x8d, 0x56, 0x60, 0xc2, 0x72, 0x3d, 0x4f, 0xb3, 0x89, 0xdf, 0x76, 0x0d, 0xa5, 0xc8, 0xa7, 0x81, + 0x0d, 0x3d, 0xe2, 0x23, 0x68, 0x15, 0x26, 0x53, 0x0d, 0x70, 0xa1, 0x3e, 0xa2, 0x4e, 0x90, 0x58, + 0xf7, 0x5b, 0x87, 0x72, 0x8b, 0xba, 0x5d, 0xc7, 0xd0, 0x7c, 0xda, 0xf5, 0xdb, 0x9a, 0x85, 0x5b, + 0x4a, 0x89, 0x8b, 0x4d, 0x89, 0xf1, 0x1d, 0x36, 0xfc, 0x10, 0xb7, 0xd8, 0x35, 0x20, 0xce, 0x89, + 0x02, 0x4c, 0xd1, 0x10, 0xd7, 0x00, 0x3f, 0x1e, 0xac, 0xef, 0xe6, 0x05, 0xbe, 0x8c, 0x42, 0x65, + 0x62, 0x38, 0xd4, 0x09, 0x0e, 0x26, 0xc2, 0x15, 0x5d, 0x82, 0x29, 0x26, 0xb5, 0xa7, 0x39, 0xa4, + 0x85, 0x59, 0xf0, 0x29, 0x93, 0xd5, 0x42, 0xbd, 0xa4, 0x9e, 0xe5, 0xa3, 0x8f, 0xe5, 0x20, 0x7a, + 0x0b, 0xc6, 0x64, 0x8a, 0x54, 0xce, 0x0e, 0xa7, 0x3d, 0xc0, 0x61, 0xa7, 0x5d, 0x1e, 0x2e, 0xaf, + 0xbb, 0x2b, 0x03, 0x27, 0x78, 0xb1, 0x98, 0xe2, 0x7e, 0x9d, 0x13, 0xf3, 0xdb, 0xe1, 0xb4, 0x7c, + 0xb1, 0x78, 0x06, 0xb3, 0x36, 0xa1, 0xa6, 0xaf, 0x79, 0x2e, 0xf5, 0x4d, 0x5e, 0x81, 0x8a, 0x06, + 0x68, 0x7a, 0x38, 0x6a, 0xe7, 0x39, 0xea, 0x76, 0x00, 0x2a, 0x9a, 0x20, 0x17, 0x2e, 0xc8, 0x5c, + 0x2e, 0xbb, 0x87, 0x28, 0xcb, 0x96, 0x87, 0x53, 0x37, 0x2b, 0x70, 0x65, 0xd3, 0x11, 0x66, 0xd9, + 0x2e, 0x54, 0xa4, 0xc2, 0xa8, 0xe5, 0x88, 0x74, 0x9e, 0x1b, 0x4e, 0xa7, 0x22, 0xa0, 0xa3, 0x4e, + 0x25, 0x54, 0x1b, 0xd9, 0x19, 0x34, 0xff, 0xa1, 0x4e, 0x74, 0x22, 0x76, 0xca, 0x92, 0x23, 0x54, + 0xf8, 0x2a, 0x5c, 0x10, 0xb9, 0x39, 0xc8, 0xb1, 0x61, 0xce, 0x56, 0xce, 0xf3, 0x10, 0x9c, 0x15, + 0xd3, 0x22, 0xbb, 0x86, 0xb9, 0x9a, 0xc5, 0x8d, 0x5c, 0x17, 0x10, 0x8d, 0x16, 0xce, 0xf0, 0x85, + 0x73, 0x62, 0x5e, 0x2a, 0x0c, 0x57, 0xbe, 0x3e, 0xc9, 0x52, 0x4f, 0x90, 0x2f, 0x36, 0x8b, 0xa5, + 0x91, 0x72, 0x71, 0xb3, 0x58, 0x3a, 0x53, 0x1e, 0xdd, 0x2c, 0x96, 0x46, 0xcb, 0x63, 0x9b, 0xc5, + 0xd2, 0x78, 0x19, 0x44, 0x5a, 0xd0, 0x2c, 0xb7, 0x65, 0xea, 0xea, 0x74, 0x58, 0x91, 0xca, 0x81, + 0x72, 0x34, 0x20, 0x72, 0x89, 0x3a, 0x11, 0x34, 0x2b, 0x98, 0xb6, 0x6a, 0xb7, 0x60, 0x2e, 0x9d, + 0xb6, 0x44, 0x46, 0x43, 0xf3, 0x50, 0x12, 0x19, 0xda, 0x34, 0x78, 0xe2, 0x2a, 0xaa, 0x63, 0xfc, + 0x7b, 0xc3, 0xa8, 0xfd, 0xb6, 0x00, 0x0b, 0x1b, 0x8e, 0x47, 0xa8, 0x2f, 0x19, 0x6f, 0xe1, 0x03, + 0xcb, 0xc5, 0xc6, 0x61, 0xf9, 0x57, 0x85, 0x99, 0xc0, 0x03, 0x3d, 0x6c, 0x75, 0x89, 0xb6, 0xdb, + 0x75, 0x0c, 0x8b, 0xc8, 0x6c, 0x5c, 0x8d, 0x67, 0xe3, 0x5b, 0xeb, 0x12, 0xfa, 0x1d, 0x26, 0x78, + 0x97, 0xcb, 0xa9, 0x88, 0xf6, 0x8d, 0x25, 0xb3, 0xf3, 0x32, 0x2c, 0x66, 0xf3, 0x92, 0x59, 0xfa, + 0xd7, 0x05, 0xa8, 0x08, 0x01, 0xb1, 0x47, 0x47, 0xe4, 0xfd, 0x10, 0x90, 0xdc, 0x71, 0x5e, 0x22, + 0x26, 0x58, 0x2f, 0x27, 0x59, 0x0b, 0xdc, 0x7b, 0xd8, 0xc7, 0x92, 0x73, 0x79, 0x2f, 0x35, 0x92, + 0x64, 0xbc, 0x14, 0x78, 0x32, 0x45, 0x48, 0x12, 0xfe, 0x73, 0x01, 0xa6, 0x55, 0xde, 0x6e, 0x86, + 0xaf, 0x56, 0xb9, 0x2c, 0xe3, 0x1b, 0x56, 0x4c, 0x6c, 0x18, 0x9a, 0x81, 0x33, 0xee, 0x9e, 0x43, + 0xa8, 0x72, 0x86, 0xaf, 0x10, 0x1f, 0x68, 0x09, 0xc0, 0x0c, 0xef, 0x52, 0x65, 0x94, 0x47, 0xe2, + 0xb8, 0xe9, 0x49, 0xdf, 0x25, 0x78, 0x6e, 0x16, 0x4b, 0xa7, 0xcb, 0x23, 0x22, 0x02, 0xd5, 0x09, + 0xcb, 0xdc, 0xd5, 0x3a, 0x37, 0x3b, 0xda, 0x33, 0x72, 0xa0, 0x9e, 0xb5, 0xbb, 0x96, 0x6f, 0x6a, + 0xd8, 0x30, 0x28, 0xf1, 0xbc, 0xda, 0x03, 0x28, 0x47, 0x7c, 0x65, 0x24, 0x29, 0x30, 0xe6, 0x75, + 0x75, 0x56, 0x7a, 0x73, 0xc6, 0x25, 0x35, 0xf8, 0x64, 0x33, 0x36, 0xf1, 0x3c, 0xdc, 0x22, 0xf2, + 0x02, 0x0c, 0x3e, 0x6b, 0x1f, 0xc2, 0x3c, 0x2f, 0xd1, 0x89, 0x1a, 0x6b, 0xb6, 0x8f, 0xe3, 0x81, + 0xd3, 0x49, 0x0f, 0x24, 0x6d, 0x1d, 0x19, 0x64, 0x6b, 0x6d, 0x0b, 0x2a, 0x59, 0xba, 0x87, 0xb0, + 0xe6, 0xf7, 0x05, 0x98, 0xbe, 0x63, 0x18, 0xb2, 0xf3, 0x78, 0x6e, 0x23, 0x7e, 0x00, 0xa3, 0xd8, + 0x76, 0xbb, 0x8e, 0xcf, 0x0d, 0x78, 0x9e, 0xce, 0x44, 0xae, 0x4f, 0xda, 0x8b, 0xa0, 0x1c, 0x91, + 0x93, 0x81, 0xf7, 0xc7, 0x02, 0x20, 0x35, 0x7a, 0x7e, 0xff, 0xf6, 0x91, 0x9e, 0x85, 0xf3, 0x09, + 0x7e, 0x92, 0xf7, 0x53, 0x50, 0xde, 0xc0, 0x8e, 0x4e, 0xac, 0x13, 0x21, 0x9f, 0x54, 0xb9, 0x00, + 0xf3, 0x19, 0xd8, 0x52, 0xf1, 0xdf, 0x0a, 0x30, 0x73, 0x8f, 0x58, 0xac, 0xfc, 0x18, 0xda, 0x65, + 0x0a, 0x8c, 0xc5, 0x23, 0x75, 0x5c, 0x0d, 0x3e, 0x63, 0xce, 0x2c, 0x9e, 0xa4, 0x33, 0x2f, 0xc0, + 0x6c, 0x8a, 0xbb, 0xb4, 0xea, 0xef, 0x85, 0xe0, 0x2c, 0x1c, 0xcb, 0xb6, 0x98, 0x01, 0xa7, 0x93, + 0x06, 0xc4, 0xad, 0x1e, 0xc9, 0x0b, 0x94, 0x13, 0xb5, 0x6d, 0x09, 0x16, 0x32, 0x2d, 0x90, 0x16, + 0xfe, 0xae, 0x00, 0xd5, 0xf8, 0xae, 0x9e, 0xd4, 0x1e, 0x2e, 0xc2, 0xb8, 0x21, 0xa0, 0xdc, 0x60, + 0x17, 0xa3, 0x81, 0xb8, 0x83, 0x8a, 0x09, 0x07, 0x25, 0xb9, 0xaf, 0xc1, 0xea, 0x00, 0x6e, 0xd2, + 0x82, 0x1e, 0xdb, 0xa2, 0x3d, 0x4c, 0x8d, 0x17, 0x1e, 0x7e, 0x19, 0x8e, 0xcd, 0xd0, 0x2b, 0x69, + 0xfd, 0xa1, 0x00, 0xe5, 0x07, 0xac, 0xc9, 0x88, 0x37, 0x43, 0xdf, 0x9e, 0xfc, 0x71, 0x1e, 0xce, + 0xc5, 0xd8, 0x49, 0xce, 0xef, 0x42, 0xe5, 0x8e, 0x61, 0xec, 0xb8, 0x61, 0x05, 0x76, 0xc7, 0xb0, + 0x4d, 0xe7, 0x08, 0xd1, 0x2e, 0xaf, 0xbf, 0x20, 0xda, 0xe5, 0x67, 0x9f, 0xbf, 0x32, 0xc1, 0xa5, + 0xee, 0xf7, 0x61, 0x45, 0xec, 0xf2, 0x03, 0xea, 0xda, 0x2f, 0x84, 0x40, 0x0d, 0xaa, 0xf9, 0x1a, + 0x24, 0x0b, 0x1d, 0x56, 0xc5, 0xdb, 0x82, 0xf8, 0x9d, 0x70, 0xb2, 0x92, 0x3d, 0xa9, 0x44, 0x7a, + 0x11, 0x6a, 0x83, 0x94, 0x48, 0x2a, 0x06, 0xd4, 0xee, 0x99, 0xde, 0x8b, 0xe6, 0x72, 0x09, 0xd6, + 0x06, 0x6a, 0x89, 0xc8, 0xc4, 0x28, 0xa7, 0x0b, 0xf5, 0x13, 0x24, 0x33, 0x50, 0x8b, 0x24, 0x43, + 0x92, 0x9c, 0x5f, 0x14, 0x9b, 0xcb, 0x70, 0x71, 0xb0, 0x1a, 0x49, 0xe7, 0x3d, 0x19, 0xd8, 0x6f, + 0x26, 0x9f, 0xba, 0x4e, 0x28, 0x6a, 0x97, 0x61, 0x31, 0x1b, 0x5d, 0x6a, 0xc7, 0xf1, 0xa8, 0x7e, + 0x31, 0x14, 0xd6, 0x60, 0x75, 0x80, 0x0a, 0xc9, 0x63, 0x17, 0x56, 0x39, 0xcf, 0x9d, 0xac, 0xf7, + 0xba, 0x13, 0x22, 0x72, 0x11, 0x6a, 0x83, 0x74, 0x48, 0x26, 0x2d, 0xb8, 0x1c, 0xd1, 0x7d, 0x91, + 0x74, 0xae, 0xc2, 0x95, 0x43, 0x15, 0x49, 0x4e, 0x1f, 0x41, 0x35, 0x62, 0x7e, 0xcc, 0xa3, 0x9c, + 0xcb, 0x66, 0x40, 0x35, 0xd1, 0xb7, 0x81, 0x03, 0xb4, 0x4b, 0x8a, 0xbf, 0x28, 0xc0, 0xa5, 0x94, + 0x39, 0xdf, 0x38, 0xd1, 0x7a, 0xdf, 0xd6, 0xe5, 0xb1, 0xfd, 0x69, 0xdc, 0xa4, 0xe3, 0x66, 0x80, + 0xe1, 0x89, 0x26, 0x22, 0x31, 0x37, 0x33, 0x7c, 0x5c, 0xe8, 0xb3, 0xe7, 0x9b, 0xa7, 0xda, 0x1f, + 0xa5, 0x79, 0x7c, 0x6f, 0xfe, 0x47, 0x01, 0x78, 0xe4, 0xb5, 0xb6, 0x09, 0xed, 0x99, 0x3a, 0x41, + 0x6f, 0xc3, 0x64, 0xfc, 0xb1, 0x17, 0xad, 0x26, 0xdf, 0x8b, 0x33, 0x9e, 0x9e, 0x2b, 0xb5, 0x41, + 0x22, 0xb2, 0x83, 0x7c, 0x17, 0xa6, 0x92, 0x6f, 0x2e, 0x68, 0x2d, 0xb9, 0x2a, 0xf3, 0x21, 0xb9, + 0x72, 0x71, 0xb0, 0x90, 0x04, 0xdf, 0x80, 0x52, 0xd0, 0x80, 0xa3, 0xa5, 0xe4, 0x8a, 0xd4, 0x43, + 0x42, 0x65, 0x39, 0x6f, 0x5a, 0x42, 0xb5, 0x82, 0x16, 0x30, 0xde, 0x07, 0xa3, 0x2b, 0xe9, 0x55, + 0x39, 0x5d, 0x7a, 0xa5, 0x7e, 0xb8, 0x60, 0xc4, 0x39, 0x68, 0x40, 0xd3, 0x9c, 0x53, 0x5d, 0x73, + 0x9a, 0x73, 0xba, 0x6f, 0x45, 0x2a, 0x4c, 0xc4, 0xba, 0x33, 0x54, 0xcd, 0xe2, 0x90, 0x00, 0x5c, + 0x1d, 0x20, 0x21, 0x31, 0x0d, 0x38, 0xd7, 0xd7, 0xf7, 0xa1, 0xcb, 0xa9, 0xdd, 0xc8, 0x69, 0x3a, + 0x2b, 0x57, 0x0e, 0x95, 0x93, 0x5a, 0x7e, 0x04, 0x67, 0x13, 0x85, 0x34, 0x4a, 0x85, 0x52, 0x56, + 0x75, 0x5f, 0x59, 0x1b, 0x28, 0x23, 0x91, 0x7f, 0xc2, 0x5a, 0xe5, 0xbe, 0x42, 0x1d, 0xf5, 0xed, + 0x4f, 0x5e, 0x0f, 0x51, 0xb9, 0x7a, 0x04, 0xc9, 0xb8, 0xae, 0xbe, 0x5e, 0x05, 0x65, 0xc6, 0xc2, + 0xd1, 0x74, 0xe5, 0x36, 0x3e, 0xe8, 0xa3, 0x64, 0x3f, 0x9e, 0xd4, 0xb8, 0x9e, 0xef, 0xf7, 0x4c, + 0xbd, 0x8d, 0x23, 0xcb, 0x4b, 0xed, 0x0f, 0x61, 0x3c, 0x6c, 0x20, 0x50, 0x2a, 0x2c, 0xd3, 0x7d, + 0x4f, 0x65, 0x25, 0x77, 0x3e, 0xf2, 0x5b, 0x46, 0x73, 0x90, 0xf6, 0x5b, 0x7e, 0x73, 0x92, 0xf6, + 0xdb, 0x80, 0x4e, 0x03, 0x1d, 0x80, 0x92, 0xd7, 0x07, 0xa0, 0xeb, 0x59, 0xee, 0xcf, 0xed, 0x48, + 0x2a, 0xeb, 0x47, 0x15, 0x8f, 0xcc, 0xcc, 0x78, 0xee, 0x4c, 0x9b, 0x99, 0xff, 0x44, 0x9b, 0x36, + 0x73, 0xc0, 0xdb, 0x29, 0xb2, 0x61, 0x26, 0xeb, 0x31, 0x18, 0x65, 0x42, 0x64, 0x3e, 0x64, 0x57, + 0xae, 0x1d, 0x45, 0x34, 0x52, 0x97, 0x55, 0xa7, 0xa2, 0xac, 0x8d, 0xc9, 0x2e, 0x53, 0xd3, 0xea, + 0x06, 0x95, 0xbd, 0x2c, 0xf8, 0x73, 0x6b, 0x52, 0x94, 0xbb, 0x2d, 0x39, 0x8a, 0x1b, 0x47, 0x96, + 0x97, 0xda, 0x7f, 0x06, 0x95, 0xfc, 0x0e, 0x0e, 0xa5, 0xe0, 0x0e, 0x6d, 0x28, 0x2b, 0x37, 0x8e, + 0xbe, 0x40, 0x12, 0xf8, 0xb8, 0x00, 0x0b, 0x03, 0xfa, 0x36, 0x94, 0x42, 0x3c, 0xbc, 0x91, 0xac, + 0xbc, 0x7c, 0x8c, 0x15, 0x31, 0x12, 0x03, 0xfa, 0x35, 0x94, 0x6f, 0x56, 0x4e, 0x15, 0x94, 0x26, + 0x71, 0x84, 0x66, 0x10, 0x7d, 0x52, 0x80, 0xc5, 0x41, 0x6d, 0x1a, 0x1a, 0x60, 0x58, 0x1e, 0x8d, + 0x9b, 0xc7, 0x59, 0x12, 0x85, 0x44, 0x7e, 0x6f, 0x92, 0x0e, 0x89, 0x43, 0x3b, 0xa5, 0x74, 0x48, + 0x1c, 0xde, 0xf6, 0xa0, 0x5f, 0x15, 0xe2, 0x2f, 0x28, 0xd9, 0x34, 0x6e, 0xe7, 0x05, 0xfa, 0x40, + 0x2e, 0xaf, 0x1c, 0x73, 0x55, 0x74, 0x44, 0x73, 0xbb, 0x8e, 0xf4, 0x11, 0x3d, 0xac, 0x39, 0xaa, + 0x34, 0x8e, 0x2c, 0x2f, 0xb5, 0xff, 0xb2, 0x00, 0xcb, 0x83, 0x7b, 0x09, 0x74, 0x6b, 0xa0, 0x5d, + 0x39, 0x44, 0x6e, 0x1f, 0x6f, 0x51, 0x56, 0x74, 0xf4, 0x85, 0x68, 0xae, 0x71, 0x79, 0x01, 0x7a, + 0xe3, 0xe8, 0x0b, 0xf2, 0xa3, 0xa3, 0x8f, 0xc6, 0x60, 0xd3, 0xf2, 0xb8, 0xbc, 0x72, 0xcc, 0x55, + 0x82, 0x50, 0xe5, 0xcc, 0xcf, 0xbf, 0xfe, 0xf4, 0x5a, 0xe1, 0xae, 0xfa, 0xd9, 0x97, 0xcb, 0x85, + 0xcf, 0xbf, 0x5c, 0x2e, 0xfc, 0xfb, 0xcb, 0xe5, 0xc2, 0x6f, 0xbe, 0x5a, 0x3e, 0xf5, 0xf9, 0x57, + 0xcb, 0xa7, 0xfe, 0xf9, 0xd5, 0xf2, 0xa9, 0xa7, 0xaf, 0x1d, 0xf1, 0xd7, 0xd6, 0xfb, 0x8d, 0xe8, + 0xcf, 0x55, 0xfc, 0x83, 0x0e, 0xf1, 0x76, 0x47, 0xf9, 0x5f, 0xa5, 0xdc, 0xfa, 0x5f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xb7, 0x1a, 0x0e, 0x90, 0x50, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4313,23 +4310,7 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3 i-- - dAtA[i] = 0xaa - } - if len(m.FallbackListeningCoefficient) > 0 { - for iNdEx := len(m.FallbackListeningCoefficient) - 1; iNdEx >= 0; iNdEx-- { - { - size := m.FallbackListeningCoefficient[iNdEx].Size() - i -= size - if _, err := m.FallbackListeningCoefficient[iNdEx].MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3 - i-- - dAtA[i] = 0xa2 - } + dAtA[i] = 0xa2 } if len(m.TopicCreatorWhitelistEnabled) > 0 { for iNdEx := len(m.TopicCreatorWhitelistEnabled) - 1; iNdEx >= 0; iNdEx-- { @@ -7366,12 +7347,6 @@ func (m *OptionalParams) Size() (n int) { if len(m.TopicCreatorWhitelistEnabled) > 0 { n += 2 + sovTx(uint64(len(m.TopicCreatorWhitelistEnabled))) + len(m.TopicCreatorWhitelistEnabled)*1 } - if len(m.FallbackListeningCoefficient) > 0 { - for _, e := range m.FallbackListeningCoefficient { - l = e.Size() - n += 2 + l + sovTx(uint64(l)) - } - } if len(m.MinExperiencedWorkerRegrets) > 0 { l = 0 for _, e := range m.MinExperiencedWorkerRegrets { @@ -10641,42 +10616,6 @@ func (m *OptionalParams) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: wrong wireType = %d for field TopicCreatorWhitelistEnabled", wireType) } case 52: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FallbackListeningCoefficient", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var v github_com_allora_network_allora_chain_math.Dec - m.FallbackListeningCoefficient = append(m.FallbackListeningCoefficient, v) - if err := m.FallbackListeningCoefficient[len(m.FallbackListeningCoefficient)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 53: if wireType == 0 { var v int64 for shift := uint(0); ; shift += 7 { From e0be43252fbb97014688c79b566e19fe7ec86c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guilherme=20Brand=C3=A3o?= Date: Mon, 2 Dec 2024 23:56:55 +0000 Subject: [PATCH 14/16] Fix fmt --- test/integration/update_params_test.go | 6 +++--- x/emissions/proto/emissions/v6/params.proto | 2 +- x/emissions/proto/emissions/v6/tx.proto | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/integration/update_params_test.go b/test/integration/update_params_test.go index f6dba6403..7b1813944 100644 --- a/test/integration/update_params_test.go +++ b/test/integration/update_params_test.go @@ -88,7 +88,7 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - MinExperiencedWorkerRegrets: nil, + MinExperiencedWorkerRegrets: nil, }, } txResp, err := m.Client.BroadcastTx(ctx, m.AliceAcc, updateParamRequest) @@ -147,7 +147,7 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - MinExperiencedWorkerRegrets: nil, + MinExperiencedWorkerRegrets: nil, }, } _, err = m.Client.BroadcastTx(ctx, m.BobAcc, updateParamRequest) @@ -210,7 +210,7 @@ func UpdateParamsChecks(m testCommon.TestConfig) { PNormSafeDiv: nil, GlobalWhitelistEnabled: nil, TopicCreatorWhitelistEnabled: nil, - MinExperiencedWorkerRegrets: nil, + MinExperiencedWorkerRegrets: nil, }, } txResp, err = m.Client.BroadcastTx(ctx, m.AliceAcc, updateParamRequest) diff --git a/x/emissions/proto/emissions/v6/params.proto b/x/emissions/proto/emissions/v6/params.proto index a0aa2f3e9..6839059ca 100644 --- a/x/emissions/proto/emissions/v6/params.proto +++ b/x/emissions/proto/emissions/v6/params.proto @@ -155,5 +155,5 @@ message Params { bool global_whitelist_enabled = 50; // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers bool topic_creator_whitelist_enabled = 51; // topic creator whitelist enabled => only topic creator whitelisted actors can create topics - int64 min_experienced_worker_regrets = 52; // minimum number of experienced workers required to use their regrets for calculating the topic initial regret + int64 min_experienced_worker_regrets = 52; // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } diff --git a/x/emissions/proto/emissions/v6/tx.proto b/x/emissions/proto/emissions/v6/tx.proto index 6bda5d555..755b77f47 100644 --- a/x/emissions/proto/emissions/v6/tx.proto +++ b/x/emissions/proto/emissions/v6/tx.proto @@ -208,7 +208,7 @@ message OptionalParams { ]; repeated bool global_whitelist_enabled = 50; repeated bool topic_creator_whitelist_enabled = 51; - repeated int64 min_experienced_worker_regrets = 52; + repeated int64 min_experienced_worker_regrets = 52; } message UpdateParamsRequest { From 8ff184bbb2f3774fbe0120009e729e28a69eaf76 Mon Sep 17 00:00:00 2001 From: Kenny Date: Tue, 3 Dec 2024 02:29:02 -0500 Subject: [PATCH 15/16] change min_experienced_worker_regrets type int->uint --- x/emissions/api/emissions/v6/params.pulsar.go | 24 +- x/emissions/api/emissions/v6/tx.pulsar.go | 35 ++- x/emissions/keeper/keeper_test.go | 2 +- .../msgserver/msg_server_params_test.go | 2 +- x/emissions/proto/emissions/v6/params.proto | 3 +- x/emissions/proto/emissions/v6/tx.proto | 2 +- x/emissions/types/params.go | 8 +- x/emissions/types/params.pb.go | 28 +-- x/emissions/types/params_test.go | 2 +- x/emissions/types/tx.pb.go | 237 +++++++++--------- 10 files changed, 170 insertions(+), 173 deletions(-) diff --git a/x/emissions/api/emissions/v6/params.pulsar.go b/x/emissions/api/emissions/v6/params.pulsar.go index f11cd0097..81bb2ea07 100644 --- a/x/emissions/api/emissions/v6/params.pulsar.go +++ b/x/emissions/api/emissions/v6/params.pulsar.go @@ -451,8 +451,8 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } - if x.MinExperiencedWorkerRegrets != int64(0) { - value := protoreflect.ValueOfInt64(x.MinExperiencedWorkerRegrets) + if x.MinExperiencedWorkerRegrets != uint64(0) { + value := protoreflect.ValueOfUint64(x.MinExperiencedWorkerRegrets) if !f(fd_Params_min_experienced_worker_regrets, value) { return } @@ -563,7 +563,7 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { case "emissions.v6.Params.topic_creator_whitelist_enabled": return x.TopicCreatorWhitelistEnabled != false case "emissions.v6.Params.min_experienced_worker_regrets": - return x.MinExperiencedWorkerRegrets != int64(0) + return x.MinExperiencedWorkerRegrets != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -671,7 +671,7 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { case "emissions.v6.Params.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = false case "emissions.v6.Params.min_experienced_worker_regrets": - x.MinExperiencedWorkerRegrets = int64(0) + x.MinExperiencedWorkerRegrets = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -825,7 +825,7 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro return protoreflect.ValueOfBool(value) case "emissions.v6.Params.min_experienced_worker_regrets": value := x.MinExperiencedWorkerRegrets - return protoreflect.ValueOfInt64(value) + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -937,7 +937,7 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto case "emissions.v6.Params.topic_creator_whitelist_enabled": x.TopicCreatorWhitelistEnabled = value.Bool() case "emissions.v6.Params.min_experienced_worker_regrets": - x.MinExperiencedWorkerRegrets = value.Int() + x.MinExperiencedWorkerRegrets = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -1154,7 +1154,7 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor case "emissions.v6.Params.topic_creator_whitelist_enabled": return protoreflect.ValueOfBool(false) case "emissions.v6.Params.min_experienced_worker_regrets": - return protoreflect.ValueOfInt64(int64(0)) + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v6.Params")) @@ -3017,7 +3017,7 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.MinExperiencedWorkerRegrets |= int64(b&0x7F) << shift + x.MinExperiencedWorkerRegrets |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -3138,8 +3138,8 @@ type Params struct { PNormSafeDiv string `protobuf:"bytes,49,opt,name=p_norm_safe_div,json=pNormSafeDiv,proto3" json:"p_norm_safe_div,omitempty"` GlobalWhitelistEnabled bool `protobuf:"varint,50,opt,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers - TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` // topic creator whitelist enabled => only topic creator whitelisted actors can create topics - MinExperiencedWorkerRegrets int64 `protobuf:"varint,52,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` // minimum number of experienced workers required to use their regrets for calculating the topic initial regret + TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` // topic creator whitelist enabled => only topic creator whitelisted actors can create topics + MinExperiencedWorkerRegrets uint64 `protobuf:"varint,52,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` // minimum number of experienced workers required to use their regrets } func (x *Params) Reset() { @@ -3477,7 +3477,7 @@ func (x *Params) GetTopicCreatorWhitelistEnabled() bool { return false } -func (x *Params) GetMinExperiencedWorkerRegrets() int64 { +func (x *Params) GetMinExperiencedWorkerRegrets() uint64 { if x != nil { return x.MinExperiencedWorkerRegrets } @@ -3727,7 +3727,7 @@ var file_emissions_v6_params_proto_rawDesc = []byte{ 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, - 0x18, 0x34, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x18, 0x34, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, 0x04, 0x08, 0x29, 0x10, diff --git a/x/emissions/api/emissions/v6/tx.pulsar.go b/x/emissions/api/emissions/v6/tx.pulsar.go index 4a541991d..1aec5618f 100644 --- a/x/emissions/api/emissions/v6/tx.pulsar.go +++ b/x/emissions/api/emissions/v6/tx.pulsar.go @@ -2090,7 +2090,7 @@ func (x *_OptionalParams_51_list) IsValid() bool { var _ protoreflect.List = (*_OptionalParams_52_list)(nil) type _OptionalParams_52_list struct { - list *[]int64 + list *[]uint64 } func (x *_OptionalParams_52_list) Len() int { @@ -2101,17 +2101,17 @@ func (x *_OptionalParams_52_list) Len() int { } func (x *_OptionalParams_52_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfInt64((*x.list)[i]) + return protoreflect.ValueOfUint64((*x.list)[i]) } func (x *_OptionalParams_52_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Int() + valueUnwrapped := value.Uint() concreteValue := valueUnwrapped (*x.list)[i] = concreteValue } func (x *_OptionalParams_52_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Int() + valueUnwrapped := value.Uint() concreteValue := valueUnwrapped *x.list = append(*x.list, concreteValue) } @@ -2125,8 +2125,8 @@ func (x *_OptionalParams_52_list) Truncate(n int) { } func (x *_OptionalParams_52_list) NewElement() protoreflect.Value { - v := int64(0) - return protoreflect.ValueOfInt64(v) + v := uint64(0) + return protoreflect.ValueOfUint64(v) } func (x *_OptionalParams_52_list) IsValid() bool { @@ -3578,7 +3578,7 @@ func (x *fastReflection_OptionalParams) Mutable(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfList(value) case "emissions.v6.OptionalParams.min_experienced_worker_regrets": if x.MinExperiencedWorkerRegrets == nil { - x.MinExperiencedWorkerRegrets = []int64{} + x.MinExperiencedWorkerRegrets = []uint64{} } value := &_OptionalParams_52_list{list: &x.MinExperiencedWorkerRegrets} return protoreflect.ValueOfList(value) @@ -3731,7 +3731,7 @@ func (x *fastReflection_OptionalParams) NewField(fd protoreflect.FieldDescriptor list := []bool{} return protoreflect.ValueOfList(&_OptionalParams_51_list{list: &list}) case "emissions.v6.OptionalParams.min_experienced_worker_regrets": - list := []int64{} + list := []uint64{} return protoreflect.ValueOfList(&_OptionalParams_52_list{list: &list}) default: if fd.IsExtension() { @@ -4127,8 +4127,7 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } i -= pksize2 j1 := i - for _, num1 := range x.MinExperiencedWorkerRegrets { - num := uint64(num1) + for _, num := range x.MinExperiencedWorkerRegrets { for num >= 1<<7 { dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -7181,7 +7180,7 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } case 52: if wireType == 0 { - var v int64 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -7191,7 +7190,7 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - v |= int64(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7232,10 +7231,10 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } elementCount = count if elementCount != 0 && len(x.MinExperiencedWorkerRegrets) == 0 { - x.MinExperiencedWorkerRegrets = make([]int64, 0, elementCount) + x.MinExperiencedWorkerRegrets = make([]uint64, 0, elementCount) } for iNdEx < postIndex { - var v int64 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -7245,7 +7244,7 @@ func (x *fastReflection_OptionalParams) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - v |= int64(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -32816,7 +32815,7 @@ type OptionalParams struct { PNormSafeDiv []string `protobuf:"bytes,49,rep,name=p_norm_safe_div,json=pNormSafeDiv,proto3" json:"p_norm_safe_div,omitempty"` GlobalWhitelistEnabled []bool `protobuf:"varint,50,rep,packed,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` TopicCreatorWhitelistEnabled []bool `protobuf:"varint,51,rep,packed,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` - MinExperiencedWorkerRegrets []int64 `protobuf:"varint,52,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` + MinExperiencedWorkerRegrets []uint64 `protobuf:"varint,52,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (x *OptionalParams) Reset() { @@ -33154,7 +33153,7 @@ func (x *OptionalParams) GetTopicCreatorWhitelistEnabled() []bool { return nil } -func (x *OptionalParams) GetMinExperiencedWorkerRegrets() []int64 { +func (x *OptionalParams) GetMinExperiencedWorkerRegrets() []uint64 { if x != nil { return x.MinExperiencedWorkerRegrets } @@ -35635,7 +35634,7 @@ var file_emissions_v6_tx_proto_rawDesc = []byte{ 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, - 0x72, 0x65, 0x74, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, + 0x72, 0x65, 0x74, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x04, 0x52, 0x1b, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x27, 0x10, 0x28, 0x4a, diff --git a/x/emissions/keeper/keeper_test.go b/x/emissions/keeper/keeper_test.go index 6cb04b05e..361a93781 100644 --- a/x/emissions/keeper/keeper_test.go +++ b/x/emissions/keeper/keeper_test.go @@ -3815,7 +3815,7 @@ func mockUninitializedParams() types.Params { PNormSafeDiv: alloraMath.ZeroDec(), GlobalWhitelistEnabled: true, TopicCreatorWhitelistEnabled: true, - MinExperiencedWorkerRegrets: int64(10), + MinExperiencedWorkerRegrets: uint64(10), } } diff --git a/x/emissions/keeper/msgserver/msg_server_params_test.go b/x/emissions/keeper/msgserver/msg_server_params_test.go index 899af0e20..d254e013f 100644 --- a/x/emissions/keeper/msgserver/msg_server_params_test.go +++ b/x/emissions/keeper/msgserver/msg_server_params_test.go @@ -65,7 +65,7 @@ func (s *MsgServerTestSuite) TestUpdateAllParams() { PNormSafeDiv: []alloraMath.Dec{alloraMath.ZeroDec()}, GlobalWhitelistEnabled: []bool{true}, TopicCreatorWhitelistEnabled: []bool{true}, - MinExperiencedWorkerRegrets: []int64{1234}, + MinExperiencedWorkerRegrets: []uint64{1234}, } updateMsg := &types.UpdateParamsRequest{ diff --git a/x/emissions/proto/emissions/v6/params.proto b/x/emissions/proto/emissions/v6/params.proto index 6839059ca..145fdff2a 100644 --- a/x/emissions/proto/emissions/v6/params.proto +++ b/x/emissions/proto/emissions/v6/params.proto @@ -155,5 +155,6 @@ message Params { bool global_whitelist_enabled = 50; // global whitelist enabled => all global whitelisted actors can create topics // and participate in all topics as workers and reputers bool topic_creator_whitelist_enabled = 51; // topic creator whitelist enabled => only topic creator whitelisted actors can create topics - int64 min_experienced_worker_regrets = 52; // minimum number of experienced workers required to use their regrets for calculating the topic initial regret + uint64 min_experienced_worker_regrets = 52; // minimum number of experienced workers required to use their regrets + // for calculating the topic initial regret } diff --git a/x/emissions/proto/emissions/v6/tx.proto b/x/emissions/proto/emissions/v6/tx.proto index 755b77f47..84b8539e7 100644 --- a/x/emissions/proto/emissions/v6/tx.proto +++ b/x/emissions/proto/emissions/v6/tx.proto @@ -208,7 +208,7 @@ message OptionalParams { ]; repeated bool global_whitelist_enabled = 50; repeated bool topic_creator_whitelist_enabled = 51; - repeated int64 min_experienced_worker_regrets = 52; + repeated uint64 min_experienced_worker_regrets = 52; } message UpdateParamsRequest { diff --git a/x/emissions/types/params.go b/x/emissions/types/params.go index 464d8439d..17cdee832 100644 --- a/x/emissions/types/params.go +++ b/x/emissions/types/params.go @@ -57,7 +57,7 @@ func DefaultParams() Params { PNormSafeDiv: alloraMath.MustNewDecFromString("8.25"), // pnorm divide value to calculate offset with cnorm GlobalWhitelistEnabled: true, // global whitelist enabled => all global whitelisted actors can create topics and participate in all topics as workers and reputers TopicCreatorWhitelistEnabled: true, // topic creator whitelist enabled => all topic creator whitelisted actors can create topics - MinExperiencedWorkerRegrets: int64(10), // minimum number of experienced workers required to use their regrets for calculating the topic initial regret + MinExperiencedWorkerRegrets: uint64(10), // minimum number of experienced workers required to use their regrets for calculating the topic initial regret } } @@ -607,9 +607,7 @@ func validateDataSendingFee(i cosmosMath.Int) error { return nil } -func validateMinExperiencedWorkerRegrets(i int64) error { - if i < 0 { - return ErrValidationMustBeGreaterthanZero - } +// No validation needed as it is a uint +func validateMinExperiencedWorkerRegrets(i uint64) error { return nil } diff --git a/x/emissions/types/params.pb.go b/x/emissions/types/params.pb.go index 19e323a6c..6b8e40fae 100644 --- a/x/emissions/types/params.pb.go +++ b/x/emissions/types/params.pb.go @@ -91,8 +91,8 @@ type Params struct { PNormSafeDiv github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,49,opt,name=p_norm_safe_div,json=pNormSafeDiv,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"p_norm_safe_div"` GlobalWhitelistEnabled bool `protobuf:"varint,50,opt,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` // and participate in all topics as workers and reputers - TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` - MinExperiencedWorkerRegrets int64 `protobuf:"varint,52,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` + TopicCreatorWhitelistEnabled bool `protobuf:"varint,51,opt,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` + MinExperiencedWorkerRegrets uint64 `protobuf:"varint,52,opt,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -275,7 +275,7 @@ func (m *Params) GetTopicCreatorWhitelistEnabled() bool { return false } -func (m *Params) GetMinExperiencedWorkerRegrets() int64 { +func (m *Params) GetMinExperiencedWorkerRegrets() uint64 { if m != nil { return m.MinExperiencedWorkerRegrets } @@ -372,16 +372,16 @@ var fileDescriptor_510cba56e74b19fc = []byte{ 0xb5, 0x4a, 0x7d, 0x32, 0x9a, 0x77, 0xf6, 0xe3, 0xc2, 0xbc, 0xed, 0xac, 0xb8, 0x09, 0xbb, 0x11, 0x69, 0xa7, 0x9c, 0x54, 0x9f, 0x21, 0x78, 0x60, 0x09, 0x96, 0x2d, 0xec, 0xa9, 0x43, 0x5d, 0xa0, 0x79, 0x4a, 0x6a, 0x76, 0x4c, 0xf4, 0x72, 0x50, 0x1c, 0xdb, 0xc6, 0xd0, 0x42, 0x8d, 0x4a, 0xe8, - 0xf0, 0xd7, 0x76, 0x4e, 0x2c, 0xe1, 0x9c, 0x18, 0x80, 0x8a, 0x7d, 0xda, 0x42, 0xf6, 0xc6, 0x27, - 0xc7, 0xab, 0x97, 0xf7, 0xc6, 0x27, 0x17, 0xab, 0x4b, 0x7b, 0xe3, 0x93, 0x4b, 0xd5, 0xe5, 0xbd, - 0xf1, 0xc9, 0x9f, 0x57, 0xeb, 0x7b, 0xe3, 0x93, 0x77, 0xaa, 0x1b, 0xf6, 0x83, 0xe1, 0x42, 0x55, - 0x58, 0x42, 0x0a, 0xcd, 0x26, 0x0c, 0x55, 0x4d, 0xb1, 0xbd, 0x46, 0xeb, 0xe8, 0xa2, 0xc0, 0x28, - 0xee, 0x96, 0x1f, 0xb7, 0x7f, 0x53, 0x21, 0x45, 0x0c, 0xda, 0x27, 0xe8, 0x5f, 0x6c, 0x64, 0xeb, - 0x4d, 0x20, 0x66, 0xe7, 0xf6, 0x63, 0x2a, 0xba, 0xfd, 0x9d, 0x14, 0xbe, 0xb7, 0x3c, 0x89, 0xde, - 0x7e, 0xa8, 0x55, 0xde, 0x7d, 0xa8, 0x55, 0xbe, 0xfa, 0x50, 0xab, 0xfc, 0xf3, 0x63, 0x6d, 0xec, - 0xdd, 0xc7, 0xda, 0xd8, 0xff, 0x3e, 0xd6, 0xc6, 0x5e, 0x3d, 0xfa, 0x9e, 0x07, 0xdb, 0x6b, 0x0c, - 0xfe, 0x3e, 0x60, 0xce, 0x73, 0xd0, 0x27, 0x13, 0xf6, 0x53, 0xfe, 0xc1, 0xb7, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x58, 0x68, 0x11, 0xaa, 0x39, 0x10, 0x00, 0x00, + 0xf0, 0xd7, 0xf6, 0x28, 0x96, 0x70, 0x4e, 0x0c, 0x40, 0xc5, 0x3e, 0x6d, 0x21, 0x7b, 0xe3, 0x93, + 0xe3, 0xd5, 0xcb, 0x7b, 0xe3, 0x93, 0x8b, 0xd5, 0xa5, 0xbd, 0xf1, 0xc9, 0xa5, 0xea, 0xf2, 0xde, + 0xf8, 0xe4, 0xcf, 0xab, 0xf5, 0xbd, 0xf1, 0xc9, 0x3b, 0xd5, 0x0d, 0xfb, 0xc1, 0x70, 0xa1, 0x2a, + 0x2c, 0x21, 0x85, 0x66, 0x13, 0x86, 0xaa, 0xa6, 0xd8, 0x5e, 0xa3, 0x75, 0x74, 0x51, 0x60, 0x14, + 0x77, 0xcb, 0x8f, 0xdb, 0xbf, 0xa9, 0x90, 0x22, 0x06, 0xed, 0x13, 0xf4, 0x2f, 0x36, 0xb2, 0xf5, + 0x26, 0x10, 0xb3, 0x73, 0xfb, 0x31, 0x15, 0xdd, 0xfe, 0x4e, 0x0a, 0xdf, 0x5b, 0x9e, 0x44, 0x6f, + 0x3f, 0xd4, 0x2a, 0xef, 0x3e, 0xd4, 0x2a, 0x5f, 0x7d, 0xa8, 0x55, 0xfe, 0xf9, 0xb1, 0x36, 0xf6, + 0xee, 0x63, 0x6d, 0xec, 0x7f, 0x1f, 0x6b, 0x63, 0xaf, 0x1e, 0x7d, 0xcf, 0x83, 0xed, 0x35, 0x06, + 0x7f, 0x1f, 0x30, 0xe7, 0x39, 0xe8, 0x93, 0x09, 0xfb, 0x29, 0xff, 0xe0, 0xdb, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x43, 0x68, 0x0b, 0x86, 0x39, 0x10, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -2249,7 +2249,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinExperiencedWorkerRegrets |= int64(b&0x7F) << shift + m.MinExperiencedWorkerRegrets |= uint64(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/emissions/types/params_test.go b/x/emissions/types/params_test.go index 72d2e5003..a6a94201f 100644 --- a/x/emissions/types/params_test.go +++ b/x/emissions/types/params_test.go @@ -55,7 +55,7 @@ func TestDefaultParams(t *testing.T) { PNormSafeDiv: alloraMath.MustNewDecFromString("8.25"), GlobalWhitelistEnabled: true, TopicCreatorWhitelistEnabled: true, - MinExperiencedWorkerRegrets: int64(10), + MinExperiencedWorkerRegrets: uint64(10), } params := DefaultParams() diff --git a/x/emissions/types/tx.pb.go b/x/emissions/types/tx.pb.go index a75477f71..fb36d2b29 100644 --- a/x/emissions/types/tx.pb.go +++ b/x/emissions/types/tx.pb.go @@ -85,7 +85,7 @@ type OptionalParams struct { PNormSafeDiv []github_com_allora_network_allora_chain_math.Dec `protobuf:"bytes,49,rep,name=p_norm_safe_div,json=pNormSafeDiv,proto3,customtype=github.com/allora-network/allora-chain/math.Dec" json:"p_norm_safe_div"` GlobalWhitelistEnabled []bool `protobuf:"varint,50,rep,packed,name=global_whitelist_enabled,json=globalWhitelistEnabled,proto3" json:"global_whitelist_enabled,omitempty"` TopicCreatorWhitelistEnabled []bool `protobuf:"varint,51,rep,packed,name=topic_creator_whitelist_enabled,json=topicCreatorWhitelistEnabled,proto3" json:"topic_creator_whitelist_enabled,omitempty"` - MinExperiencedWorkerRegrets []int64 `protobuf:"varint,52,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` + MinExperiencedWorkerRegrets []uint64 `protobuf:"varint,52,rep,packed,name=min_experienced_worker_regrets,json=minExperiencedWorkerRegrets,proto3" json:"min_experienced_worker_regrets,omitempty"` } func (m *OptionalParams) Reset() { *m = OptionalParams{} } @@ -268,7 +268,7 @@ func (m *OptionalParams) GetTopicCreatorWhitelistEnabled() []bool { return nil } -func (m *OptionalParams) GetMinExperiencedWorkerRegrets() []int64 { +func (m *OptionalParams) GetMinExperiencedWorkerRegrets() []uint64 { if m != nil { return m.MinExperiencedWorkerRegrets } @@ -3019,7 +3019,7 @@ func init() { func init() { proto.RegisterFile("emissions/v6/tx.proto", fileDescriptor_1c9dde1df4cd2521) } var fileDescriptor_1c9dde1df4cd2521 = []byte{ - // 3131 bytes of a gzipped FileDescriptorProto + // 3130 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x3d, 0x70, 0x1b, 0xc7, 0xf5, 0x17, 0x44, 0x88, 0x04, 0x1f, 0x29, 0x12, 0x5a, 0x91, 0xd4, 0x11, 0xfc, 0x02, 0x41, 0x7d, 0x40, 0xfa, 0x5b, 0x84, 0x2c, 0xc9, 0xfe, 0x3b, 0x4e, 0x8a, 0x48, 0x96, 0xe4, 0x90, 0x23, 0x29, @@ -3107,115 +3107,115 @@ var fileDescriptor_1c9dde1df4cd2521 = []byte{ 0xf9, 0x1a, 0x71, 0xf0, 0xae, 0x45, 0x0c, 0xe5, 0x66, 0x75, 0xa4, 0x5e, 0x52, 0xe7, 0xc4, 0xfc, 0x93, 0x60, 0xfa, 0xbe, 0x98, 0x65, 0x95, 0xb0, 0xb8, 0x22, 0xf9, 0x2d, 0xe7, 0xd2, 0x0c, 0x80, 0x5b, 0x1c, 0x60, 0x91, 0x8b, 0xbd, 0x21, 0xa4, 0xfa, 0x60, 0xde, 0x80, 0x65, 0x7e, 0x4d, 0xec, - 0x77, 0x08, 0x35, 0x59, 0xda, 0x88, 0x15, 0xd4, 0xcc, 0x13, 0x9e, 0x72, 0x9b, 0xdf, 0x13, 0x0b, - 0xec, 0x9e, 0x88, 0x84, 0x82, 0x7a, 0x9a, 0x8b, 0x6c, 0x16, 0x4b, 0xc5, 0xf2, 0x99, 0xcd, 0x62, - 0xa9, 0x52, 0x5e, 0xd8, 0x2c, 0x96, 0x16, 0xca, 0x8b, 0x9b, 0xc5, 0xd2, 0x95, 0x72, 0x7d, 0xb3, - 0x58, 0xba, 0x5a, 0xbe, 0xc6, 0x1b, 0x86, 0xbe, 0xa8, 0xe0, 0x80, 0x1a, 0x69, 0x36, 0x49, 0x2c, - 0x6a, 0x82, 0xea, 0x55, 0x5d, 0x63, 0x4b, 0x28, 0xf1, 0xa9, 0x29, 0x8a, 0x1f, 0x51, 0x7f, 0x6b, - 0x8e, 0xeb, 0xe8, 0xc4, 0x93, 0x04, 0xa5, 0x61, 0x89, 0xaa, 0xd7, 0x20, 0x3a, 0x3e, 0xe0, 0xcd, - 0x94, 0x7a, 0x71, 0x20, 0x84, 0xcc, 0x2d, 0xb5, 0x0e, 0x9c, 0x7f, 0xbb, 0x63, 0x60, 0x9f, 0x88, - 0xa6, 0x5b, 0xd6, 0xf5, 0x68, 0x0e, 0x46, 0xd9, 0x31, 0x26, 0x54, 0x29, 0x54, 0x0b, 0xf5, 0x71, - 0x55, 0x7e, 0xa1, 0xdb, 0x30, 0xda, 0xe1, 0x82, 0xca, 0xe9, 0x6a, 0xa1, 0x3e, 0x71, 0x73, 0x71, - 0x3d, 0xfe, 0xb2, 0xb0, 0x9e, 0xec, 0xe0, 0x55, 0x29, 0xfb, 0xfa, 0xc4, 0xc7, 0x5f, 0x7f, 0x7a, - 0x4d, 0x42, 0xd4, 0xe6, 0x60, 0x26, 0xa9, 0xd1, 0xeb, 0xb8, 0x8e, 0x47, 0x6a, 0x7f, 0x1d, 0x87, - 0x59, 0xbe, 0x49, 0xe4, 0x31, 0xd9, 0xdb, 0x11, 0xc5, 0xaf, 0x20, 0xa3, 0xc0, 0x98, 0xdc, 0x63, - 0xc9, 0x26, 0xf8, 0x44, 0x15, 0x28, 0xd9, 0xc4, 0xc7, 0x2c, 0x59, 0x70, 0x42, 0xe3, 0x6a, 0xf8, - 0x8d, 0x56, 0x60, 0xc2, 0x72, 0x3d, 0x4f, 0xb3, 0x89, 0xdf, 0x76, 0x0d, 0xa5, 0xc8, 0xa7, 0x81, - 0x0d, 0x3d, 0xe2, 0x23, 0x68, 0x15, 0x26, 0x53, 0x0d, 0x70, 0xa1, 0x3e, 0xa2, 0x4e, 0x90, 0x58, - 0xf7, 0x5b, 0x87, 0x72, 0x8b, 0xba, 0x5d, 0xc7, 0xd0, 0x7c, 0xda, 0xf5, 0xdb, 0x9a, 0x85, 0x5b, - 0x4a, 0x89, 0x8b, 0x4d, 0x89, 0xf1, 0x1d, 0x36, 0xfc, 0x10, 0xb7, 0xd8, 0x35, 0x20, 0xce, 0x89, - 0x02, 0x4c, 0xd1, 0x10, 0xd7, 0x00, 0x3f, 0x1e, 0xac, 0xef, 0xe6, 0x05, 0xbe, 0x8c, 0x42, 0x65, - 0x62, 0x38, 0xd4, 0x09, 0x0e, 0x26, 0xc2, 0x15, 0x5d, 0x82, 0x29, 0x26, 0xb5, 0xa7, 0x39, 0xa4, - 0x85, 0x59, 0xf0, 0x29, 0x93, 0xd5, 0x42, 0xbd, 0xa4, 0x9e, 0xe5, 0xa3, 0x8f, 0xe5, 0x20, 0x7a, - 0x0b, 0xc6, 0x64, 0x8a, 0x54, 0xce, 0x0e, 0xa7, 0x3d, 0xc0, 0x61, 0xa7, 0x5d, 0x1e, 0x2e, 0xaf, - 0xbb, 0x2b, 0x03, 0x27, 0x78, 0xb1, 0x98, 0xe2, 0x7e, 0x9d, 0x13, 0xf3, 0xdb, 0xe1, 0xb4, 0x7c, - 0xb1, 0x78, 0x06, 0xb3, 0x36, 0xa1, 0xa6, 0xaf, 0x79, 0x2e, 0xf5, 0x4d, 0x5e, 0x81, 0x8a, 0x06, - 0x68, 0x7a, 0x38, 0x6a, 0xe7, 0x39, 0xea, 0x76, 0x00, 0x2a, 0x9a, 0x20, 0x17, 0x2e, 0xc8, 0x5c, - 0x2e, 0xbb, 0x87, 0x28, 0xcb, 0x96, 0x87, 0x53, 0x37, 0x2b, 0x70, 0x65, 0xd3, 0x11, 0x66, 0xd9, - 0x2e, 0x54, 0xa4, 0xc2, 0xa8, 0xe5, 0x88, 0x74, 0x9e, 0x1b, 0x4e, 0xa7, 0x22, 0xa0, 0xa3, 0x4e, - 0x25, 0x54, 0x1b, 0xd9, 0x19, 0x34, 0xff, 0xa1, 0x4e, 0x74, 0x22, 0x76, 0xca, 0x92, 0x23, 0x54, - 0xf8, 0x2a, 0x5c, 0x10, 0xb9, 0x39, 0xc8, 0xb1, 0x61, 0xce, 0x56, 0xce, 0xf3, 0x10, 0x9c, 0x15, - 0xd3, 0x22, 0xbb, 0x86, 0xb9, 0x9a, 0xc5, 0x8d, 0x5c, 0x17, 0x10, 0x8d, 0x16, 0xce, 0xf0, 0x85, - 0x73, 0x62, 0x5e, 0x2a, 0x0c, 0x57, 0xbe, 0x3e, 0xc9, 0x52, 0x4f, 0x90, 0x2f, 0x36, 0x8b, 0xa5, - 0x91, 0x72, 0x71, 0xb3, 0x58, 0x3a, 0x53, 0x1e, 0xdd, 0x2c, 0x96, 0x46, 0xcb, 0x63, 0x9b, 0xc5, - 0xd2, 0x78, 0x19, 0x44, 0x5a, 0xd0, 0x2c, 0xb7, 0x65, 0xea, 0xea, 0x74, 0x58, 0x91, 0xca, 0x81, - 0x72, 0x34, 0x20, 0x72, 0x89, 0x3a, 0x11, 0x34, 0x2b, 0x98, 0xb6, 0x6a, 0xb7, 0x60, 0x2e, 0x9d, - 0xb6, 0x44, 0x46, 0x43, 0xf3, 0x50, 0x12, 0x19, 0xda, 0x34, 0x78, 0xe2, 0x2a, 0xaa, 0x63, 0xfc, - 0x7b, 0xc3, 0xa8, 0xfd, 0xb6, 0x00, 0x0b, 0x1b, 0x8e, 0x47, 0xa8, 0x2f, 0x19, 0x6f, 0xe1, 0x03, - 0xcb, 0xc5, 0xc6, 0x61, 0xf9, 0x57, 0x85, 0x99, 0xc0, 0x03, 0x3d, 0x6c, 0x75, 0x89, 0xb6, 0xdb, - 0x75, 0x0c, 0x8b, 0xc8, 0x6c, 0x5c, 0x8d, 0x67, 0xe3, 0x5b, 0xeb, 0x12, 0xfa, 0x1d, 0x26, 0x78, - 0x97, 0xcb, 0xa9, 0x88, 0xf6, 0x8d, 0x25, 0xb3, 0xf3, 0x32, 0x2c, 0x66, 0xf3, 0x92, 0x59, 0xfa, - 0xd7, 0x05, 0xa8, 0x08, 0x01, 0xb1, 0x47, 0x47, 0xe4, 0xfd, 0x10, 0x90, 0xdc, 0x71, 0x5e, 0x22, - 0x26, 0x58, 0x2f, 0x27, 0x59, 0x0b, 0xdc, 0x7b, 0xd8, 0xc7, 0x92, 0x73, 0x79, 0x2f, 0x35, 0x92, - 0x64, 0xbc, 0x14, 0x78, 0x32, 0x45, 0x48, 0x12, 0xfe, 0x73, 0x01, 0xa6, 0x55, 0xde, 0x6e, 0x86, - 0xaf, 0x56, 0xb9, 0x2c, 0xe3, 0x1b, 0x56, 0x4c, 0x6c, 0x18, 0x9a, 0x81, 0x33, 0xee, 0x9e, 0x43, - 0xa8, 0x72, 0x86, 0xaf, 0x10, 0x1f, 0x68, 0x09, 0xc0, 0x0c, 0xef, 0x52, 0x65, 0x94, 0x47, 0xe2, - 0xb8, 0xe9, 0x49, 0xdf, 0x25, 0x78, 0x6e, 0x16, 0x4b, 0xa7, 0xcb, 0x23, 0x22, 0x02, 0xd5, 0x09, - 0xcb, 0xdc, 0xd5, 0x3a, 0x37, 0x3b, 0xda, 0x33, 0x72, 0xa0, 0x9e, 0xb5, 0xbb, 0x96, 0x6f, 0x6a, - 0xd8, 0x30, 0x28, 0xf1, 0xbc, 0xda, 0x03, 0x28, 0x47, 0x7c, 0x65, 0x24, 0x29, 0x30, 0xe6, 0x75, - 0x75, 0x56, 0x7a, 0x73, 0xc6, 0x25, 0x35, 0xf8, 0x64, 0x33, 0x36, 0xf1, 0x3c, 0xdc, 0x22, 0xf2, - 0x02, 0x0c, 0x3e, 0x6b, 0x1f, 0xc2, 0x3c, 0x2f, 0xd1, 0x89, 0x1a, 0x6b, 0xb6, 0x8f, 0xe3, 0x81, - 0xd3, 0x49, 0x0f, 0x24, 0x6d, 0x1d, 0x19, 0x64, 0x6b, 0x6d, 0x0b, 0x2a, 0x59, 0xba, 0x87, 0xb0, - 0xe6, 0xf7, 0x05, 0x98, 0xbe, 0x63, 0x18, 0xb2, 0xf3, 0x78, 0x6e, 0x23, 0x7e, 0x00, 0xa3, 0xd8, - 0x76, 0xbb, 0x8e, 0xcf, 0x0d, 0x78, 0x9e, 0xce, 0x44, 0xae, 0x4f, 0xda, 0x8b, 0xa0, 0x1c, 0x91, - 0x93, 0x81, 0xf7, 0xc7, 0x02, 0x20, 0x35, 0x7a, 0x7e, 0xff, 0xf6, 0x91, 0x9e, 0x85, 0xf3, 0x09, - 0x7e, 0x92, 0xf7, 0x53, 0x50, 0xde, 0xc0, 0x8e, 0x4e, 0xac, 0x13, 0x21, 0x9f, 0x54, 0xb9, 0x00, - 0xf3, 0x19, 0xd8, 0x52, 0xf1, 0xdf, 0x0a, 0x30, 0x73, 0x8f, 0x58, 0xac, 0xfc, 0x18, 0xda, 0x65, - 0x0a, 0x8c, 0xc5, 0x23, 0x75, 0x5c, 0x0d, 0x3e, 0x63, 0xce, 0x2c, 0x9e, 0xa4, 0x33, 0x2f, 0xc0, - 0x6c, 0x8a, 0xbb, 0xb4, 0xea, 0xef, 0x85, 0xe0, 0x2c, 0x1c, 0xcb, 0xb6, 0x98, 0x01, 0xa7, 0x93, - 0x06, 0xc4, 0xad, 0x1e, 0xc9, 0x0b, 0x94, 0x13, 0xb5, 0x6d, 0x09, 0x16, 0x32, 0x2d, 0x90, 0x16, - 0xfe, 0xae, 0x00, 0xd5, 0xf8, 0xae, 0x9e, 0xd4, 0x1e, 0x2e, 0xc2, 0xb8, 0x21, 0xa0, 0xdc, 0x60, - 0x17, 0xa3, 0x81, 0xb8, 0x83, 0x8a, 0x09, 0x07, 0x25, 0xb9, 0xaf, 0xc1, 0xea, 0x00, 0x6e, 0xd2, - 0x82, 0x1e, 0xdb, 0xa2, 0x3d, 0x4c, 0x8d, 0x17, 0x1e, 0x7e, 0x19, 0x8e, 0xcd, 0xd0, 0x2b, 0x69, - 0xfd, 0xa1, 0x00, 0xe5, 0x07, 0xac, 0xc9, 0x88, 0x37, 0x43, 0xdf, 0x9e, 0xfc, 0x71, 0x1e, 0xce, - 0xc5, 0xd8, 0x49, 0xce, 0xef, 0x42, 0xe5, 0x8e, 0x61, 0xec, 0xb8, 0x61, 0x05, 0x76, 0xc7, 0xb0, - 0x4d, 0xe7, 0x08, 0xd1, 0x2e, 0xaf, 0xbf, 0x20, 0xda, 0xe5, 0x67, 0x9f, 0xbf, 0x32, 0xc1, 0xa5, - 0xee, 0xf7, 0x61, 0x45, 0xec, 0xf2, 0x03, 0xea, 0xda, 0x2f, 0x84, 0x40, 0x0d, 0xaa, 0xf9, 0x1a, - 0x24, 0x0b, 0x1d, 0x56, 0xc5, 0xdb, 0x82, 0xf8, 0x9d, 0x70, 0xb2, 0x92, 0x3d, 0xa9, 0x44, 0x7a, - 0x11, 0x6a, 0x83, 0x94, 0x48, 0x2a, 0x06, 0xd4, 0xee, 0x99, 0xde, 0x8b, 0xe6, 0x72, 0x09, 0xd6, - 0x06, 0x6a, 0x89, 0xc8, 0xc4, 0x28, 0xa7, 0x0b, 0xf5, 0x13, 0x24, 0x33, 0x50, 0x8b, 0x24, 0x43, - 0x92, 0x9c, 0x5f, 0x14, 0x9b, 0xcb, 0x70, 0x71, 0xb0, 0x1a, 0x49, 0xe7, 0x3d, 0x19, 0xd8, 0x6f, - 0x26, 0x9f, 0xba, 0x4e, 0x28, 0x6a, 0x97, 0x61, 0x31, 0x1b, 0x5d, 0x6a, 0xc7, 0xf1, 0xa8, 0x7e, - 0x31, 0x14, 0xd6, 0x60, 0x75, 0x80, 0x0a, 0xc9, 0x63, 0x17, 0x56, 0x39, 0xcf, 0x9d, 0xac, 0xf7, - 0xba, 0x13, 0x22, 0x72, 0x11, 0x6a, 0x83, 0x74, 0x48, 0x26, 0x2d, 0xb8, 0x1c, 0xd1, 0x7d, 0x91, - 0x74, 0xae, 0xc2, 0x95, 0x43, 0x15, 0x49, 0x4e, 0x1f, 0x41, 0x35, 0x62, 0x7e, 0xcc, 0xa3, 0x9c, - 0xcb, 0x66, 0x40, 0x35, 0xd1, 0xb7, 0x81, 0x03, 0xb4, 0x4b, 0x8a, 0xbf, 0x28, 0xc0, 0xa5, 0x94, - 0x39, 0xdf, 0x38, 0xd1, 0x7a, 0xdf, 0xd6, 0xe5, 0xb1, 0xfd, 0x69, 0xdc, 0xa4, 0xe3, 0x66, 0x80, - 0xe1, 0x89, 0x26, 0x22, 0x31, 0x37, 0x33, 0x7c, 0x5c, 0xe8, 0xb3, 0xe7, 0x9b, 0xa7, 0xda, 0x1f, - 0xa5, 0x79, 0x7c, 0x6f, 0xfe, 0x47, 0x01, 0x78, 0xe4, 0xb5, 0xb6, 0x09, 0xed, 0x99, 0x3a, 0x41, - 0x6f, 0xc3, 0x64, 0xfc, 0xb1, 0x17, 0xad, 0x26, 0xdf, 0x8b, 0x33, 0x9e, 0x9e, 0x2b, 0xb5, 0x41, - 0x22, 0xb2, 0x83, 0x7c, 0x17, 0xa6, 0x92, 0x6f, 0x2e, 0x68, 0x2d, 0xb9, 0x2a, 0xf3, 0x21, 0xb9, - 0x72, 0x71, 0xb0, 0x90, 0x04, 0xdf, 0x80, 0x52, 0xd0, 0x80, 0xa3, 0xa5, 0xe4, 0x8a, 0xd4, 0x43, - 0x42, 0x65, 0x39, 0x6f, 0x5a, 0x42, 0xb5, 0x82, 0x16, 0x30, 0xde, 0x07, 0xa3, 0x2b, 0xe9, 0x55, - 0x39, 0x5d, 0x7a, 0xa5, 0x7e, 0xb8, 0x60, 0xc4, 0x39, 0x68, 0x40, 0xd3, 0x9c, 0x53, 0x5d, 0x73, - 0x9a, 0x73, 0xba, 0x6f, 0x45, 0x2a, 0x4c, 0xc4, 0xba, 0x33, 0x54, 0xcd, 0xe2, 0x90, 0x00, 0x5c, - 0x1d, 0x20, 0x21, 0x31, 0x0d, 0x38, 0xd7, 0xd7, 0xf7, 0xa1, 0xcb, 0xa9, 0xdd, 0xc8, 0x69, 0x3a, - 0x2b, 0x57, 0x0e, 0x95, 0x93, 0x5a, 0x7e, 0x04, 0x67, 0x13, 0x85, 0x34, 0x4a, 0x85, 0x52, 0x56, - 0x75, 0x5f, 0x59, 0x1b, 0x28, 0x23, 0x91, 0x7f, 0xc2, 0x5a, 0xe5, 0xbe, 0x42, 0x1d, 0xf5, 0xed, - 0x4f, 0x5e, 0x0f, 0x51, 0xb9, 0x7a, 0x04, 0xc9, 0xb8, 0xae, 0xbe, 0x5e, 0x05, 0x65, 0xc6, 0xc2, - 0xd1, 0x74, 0xe5, 0x36, 0x3e, 0xe8, 0xa3, 0x64, 0x3f, 0x9e, 0xd4, 0xb8, 0x9e, 0xef, 0xf7, 0x4c, - 0xbd, 0x8d, 0x23, 0xcb, 0x4b, 0xed, 0x0f, 0x61, 0x3c, 0x6c, 0x20, 0x50, 0x2a, 0x2c, 0xd3, 0x7d, - 0x4f, 0x65, 0x25, 0x77, 0x3e, 0xf2, 0x5b, 0x46, 0x73, 0x90, 0xf6, 0x5b, 0x7e, 0x73, 0x92, 0xf6, - 0xdb, 0x80, 0x4e, 0x03, 0x1d, 0x80, 0x92, 0xd7, 0x07, 0xa0, 0xeb, 0x59, 0xee, 0xcf, 0xed, 0x48, - 0x2a, 0xeb, 0x47, 0x15, 0x8f, 0xcc, 0xcc, 0x78, 0xee, 0x4c, 0x9b, 0x99, 0xff, 0x44, 0x9b, 0x36, - 0x73, 0xc0, 0xdb, 0x29, 0xb2, 0x61, 0x26, 0xeb, 0x31, 0x18, 0x65, 0x42, 0x64, 0x3e, 0x64, 0x57, - 0xae, 0x1d, 0x45, 0x34, 0x52, 0x97, 0x55, 0xa7, 0xa2, 0xac, 0x8d, 0xc9, 0x2e, 0x53, 0xd3, 0xea, - 0x06, 0x95, 0xbd, 0x2c, 0xf8, 0x73, 0x6b, 0x52, 0x94, 0xbb, 0x2d, 0x39, 0x8a, 0x1b, 0x47, 0x96, - 0x97, 0xda, 0x7f, 0x06, 0x95, 0xfc, 0x0e, 0x0e, 0xa5, 0xe0, 0x0e, 0x6d, 0x28, 0x2b, 0x37, 0x8e, - 0xbe, 0x40, 0x12, 0xf8, 0xb8, 0x00, 0x0b, 0x03, 0xfa, 0x36, 0x94, 0x42, 0x3c, 0xbc, 0x91, 0xac, - 0xbc, 0x7c, 0x8c, 0x15, 0x31, 0x12, 0x03, 0xfa, 0x35, 0x94, 0x6f, 0x56, 0x4e, 0x15, 0x94, 0x26, - 0x71, 0x84, 0x66, 0x10, 0x7d, 0x52, 0x80, 0xc5, 0x41, 0x6d, 0x1a, 0x1a, 0x60, 0x58, 0x1e, 0x8d, - 0x9b, 0xc7, 0x59, 0x12, 0x85, 0x44, 0x7e, 0x6f, 0x92, 0x0e, 0x89, 0x43, 0x3b, 0xa5, 0x74, 0x48, - 0x1c, 0xde, 0xf6, 0xa0, 0x5f, 0x15, 0xe2, 0x2f, 0x28, 0xd9, 0x34, 0x6e, 0xe7, 0x05, 0xfa, 0x40, - 0x2e, 0xaf, 0x1c, 0x73, 0x55, 0x74, 0x44, 0x73, 0xbb, 0x8e, 0xf4, 0x11, 0x3d, 0xac, 0x39, 0xaa, - 0x34, 0x8e, 0x2c, 0x2f, 0xb5, 0xff, 0xb2, 0x00, 0xcb, 0x83, 0x7b, 0x09, 0x74, 0x6b, 0xa0, 0x5d, - 0x39, 0x44, 0x6e, 0x1f, 0x6f, 0x51, 0x56, 0x74, 0xf4, 0x85, 0x68, 0xae, 0x71, 0x79, 0x01, 0x7a, - 0xe3, 0xe8, 0x0b, 0xf2, 0xa3, 0xa3, 0x8f, 0xc6, 0x60, 0xd3, 0xf2, 0xb8, 0xbc, 0x72, 0xcc, 0x55, - 0x82, 0x50, 0xe5, 0xcc, 0xcf, 0xbf, 0xfe, 0xf4, 0x5a, 0xe1, 0xae, 0xfa, 0xd9, 0x97, 0xcb, 0x85, - 0xcf, 0xbf, 0x5c, 0x2e, 0xfc, 0xfb, 0xcb, 0xe5, 0xc2, 0x6f, 0xbe, 0x5a, 0x3e, 0xf5, 0xf9, 0x57, - 0xcb, 0xa7, 0xfe, 0xf9, 0xd5, 0xf2, 0xa9, 0xa7, 0xaf, 0x1d, 0xf1, 0xd7, 0xd6, 0xfb, 0x8d, 0xe8, - 0xcf, 0x55, 0xfc, 0x83, 0x0e, 0xf1, 0x76, 0x47, 0xf9, 0x5f, 0xa5, 0xdc, 0xfa, 0x5f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xb7, 0x1a, 0x0e, 0x90, 0x50, 0x33, 0x00, 0x00, + 0x77, 0x08, 0x35, 0x59, 0xda, 0x88, 0x15, 0xd4, 0xcc, 0x13, 0x9e, 0x72, 0x9b, 0x6f, 0xc5, 0x02, + 0xbb, 0x27, 0x22, 0xa1, 0xa0, 0x9e, 0xe6, 0x22, 0x9b, 0xc5, 0x52, 0xb1, 0x7c, 0x66, 0xb3, 0x58, + 0xaa, 0x94, 0x17, 0x36, 0x8b, 0xa5, 0x85, 0xf2, 0xe2, 0x66, 0xb1, 0x74, 0xa5, 0x5c, 0xdf, 0x2c, + 0x96, 0xae, 0x96, 0xaf, 0xf1, 0x86, 0xa1, 0x2f, 0x2a, 0x38, 0xa0, 0x46, 0x9a, 0x4d, 0x12, 0x8b, + 0x9a, 0xa0, 0x7a, 0x55, 0xd7, 0xd8, 0x12, 0x4a, 0x7c, 0x6a, 0x8a, 0xe2, 0x47, 0xd4, 0xdf, 0x9a, + 0xe3, 0x3a, 0x3a, 0xf1, 0x24, 0x41, 0x69, 0x58, 0xa2, 0xea, 0x35, 0x88, 0x8e, 0x0f, 0x78, 0x33, + 0xa5, 0x5e, 0x1c, 0x08, 0x21, 0x73, 0x4b, 0xad, 0x03, 0xe7, 0xdf, 0xee, 0x18, 0xd8, 0x27, 0xa2, + 0xe9, 0x96, 0x75, 0x3d, 0x9a, 0x83, 0x51, 0x76, 0x8c, 0x09, 0x55, 0x0a, 0xd5, 0x42, 0x7d, 0x5c, + 0x95, 0x5f, 0xe8, 0x36, 0x8c, 0x76, 0xb8, 0xa0, 0x72, 0xba, 0x5a, 0xa8, 0x4f, 0xdc, 0x5c, 0x5c, + 0x8f, 0xbf, 0x2c, 0xac, 0x27, 0x3b, 0x78, 0x55, 0xca, 0xbe, 0x3e, 0xf1, 0xf1, 0xd7, 0x9f, 0x5e, + 0x93, 0x10, 0xb5, 0x39, 0x98, 0x49, 0x6a, 0xf4, 0x3a, 0xae, 0xe3, 0x91, 0xda, 0x5f, 0xc7, 0x61, + 0x96, 0x6f, 0x12, 0x79, 0x4c, 0xf6, 0x76, 0x44, 0xf1, 0x2b, 0xc8, 0x28, 0x30, 0x26, 0xf7, 0x58, + 0xb2, 0x09, 0x3e, 0x51, 0x05, 0x4a, 0x36, 0xf1, 0x31, 0x4b, 0x16, 0x9c, 0xd0, 0xb8, 0x1a, 0x7e, + 0xa3, 0x15, 0x98, 0xb0, 0x5c, 0xcf, 0xd3, 0x6c, 0xe2, 0xb7, 0x5d, 0x43, 0x29, 0xf2, 0x69, 0x60, + 0x43, 0x8f, 0xf8, 0x08, 0x5a, 0x85, 0xc9, 0x54, 0x03, 0x5c, 0xa8, 0x8f, 0xa8, 0x13, 0x24, 0xd6, + 0xfd, 0xd6, 0xa1, 0xdc, 0xa2, 0x6e, 0xd7, 0x31, 0x34, 0x9f, 0x76, 0xfd, 0xb6, 0x66, 0xe1, 0x96, + 0x52, 0xe2, 0x62, 0x53, 0x62, 0x7c, 0x87, 0x0d, 0x3f, 0xc4, 0x2d, 0x76, 0x0d, 0x88, 0x73, 0xa2, + 0x00, 0x53, 0x34, 0xc4, 0x35, 0xc0, 0x8f, 0x07, 0xeb, 0xbb, 0x79, 0x81, 0x2f, 0xa3, 0x50, 0x99, + 0x18, 0x0e, 0x75, 0x82, 0x83, 0x89, 0x70, 0x45, 0x97, 0x60, 0x8a, 0x49, 0xed, 0x69, 0x0e, 0x69, + 0x61, 0x16, 0x7c, 0xca, 0x64, 0xb5, 0x50, 0x2f, 0xa9, 0x67, 0xf9, 0xe8, 0x63, 0x39, 0x88, 0xde, + 0x82, 0x31, 0x99, 0x22, 0x95, 0xb3, 0xc3, 0x69, 0x0f, 0x70, 0xd8, 0x69, 0x97, 0x87, 0xcb, 0xeb, + 0xee, 0xca, 0xc0, 0x09, 0x5e, 0x2c, 0xa6, 0xb8, 0x5f, 0xe7, 0xc4, 0xfc, 0x76, 0x38, 0x2d, 0x5f, + 0x2c, 0x9e, 0xc1, 0xac, 0x4d, 0xa8, 0xe9, 0x6b, 0x9e, 0x4b, 0x7d, 0x93, 0x57, 0xa0, 0xa2, 0x01, + 0x9a, 0x1e, 0x8e, 0xda, 0x79, 0x8e, 0xba, 0x1d, 0x80, 0x8a, 0x26, 0xc8, 0x85, 0x0b, 0x32, 0x97, + 0xcb, 0xee, 0x21, 0xca, 0xb2, 0xe5, 0xe1, 0xd4, 0xcd, 0x0a, 0x5c, 0xd9, 0x74, 0x84, 0x59, 0xb6, + 0x0b, 0x15, 0xa9, 0x30, 0x6a, 0x39, 0x22, 0x9d, 0xe7, 0x86, 0xd3, 0xa9, 0x08, 0xe8, 0xa8, 0x53, + 0x09, 0xd5, 0x46, 0x76, 0x06, 0xcd, 0x7f, 0xa8, 0x13, 0x9d, 0x88, 0x9d, 0xb2, 0xe4, 0x08, 0x15, + 0xbe, 0x0a, 0x17, 0x44, 0x6e, 0x0e, 0x72, 0x6c, 0x98, 0xb3, 0x95, 0xf3, 0x3c, 0x04, 0x67, 0xc5, + 0xb4, 0xc8, 0xae, 0x61, 0xae, 0x66, 0x71, 0x23, 0xd7, 0x05, 0x44, 0xa3, 0x85, 0x33, 0x7c, 0xe1, + 0x9c, 0x98, 0x97, 0x0a, 0xc3, 0x95, 0xaf, 0x4f, 0xb2, 0xd4, 0x13, 0xe4, 0x8b, 0xcd, 0x62, 0x69, + 0xa4, 0x5c, 0xdc, 0x2c, 0x96, 0xce, 0x94, 0x47, 0x37, 0x8b, 0xa5, 0xd1, 0xf2, 0xd8, 0x66, 0xb1, + 0x34, 0x5e, 0x06, 0x91, 0x16, 0x34, 0xcb, 0x6d, 0x99, 0xba, 0x3a, 0x1d, 0x56, 0xa4, 0x72, 0xa0, + 0x1c, 0x0d, 0x88, 0x5c, 0xa2, 0x4e, 0x04, 0xcd, 0x0a, 0xa6, 0xad, 0xda, 0x2d, 0x98, 0x4b, 0xa7, + 0x2d, 0x91, 0xd1, 0xd0, 0x3c, 0x94, 0x44, 0x86, 0x36, 0x0d, 0x9e, 0xb8, 0x8a, 0xea, 0x18, 0xff, + 0xde, 0x30, 0x6a, 0xbf, 0x2d, 0xc0, 0xc2, 0x86, 0xe3, 0x11, 0xea, 0x4b, 0xc6, 0x5b, 0xf8, 0xc0, + 0x72, 0xb1, 0x71, 0x58, 0xfe, 0x55, 0x61, 0x26, 0xf0, 0x40, 0x0f, 0x5b, 0x5d, 0xa2, 0xed, 0x76, + 0x1d, 0xc3, 0x22, 0x32, 0x1b, 0x57, 0xe3, 0xd9, 0xf8, 0xd6, 0xba, 0x84, 0x7e, 0x87, 0x09, 0xde, + 0xe5, 0x72, 0x2a, 0xa2, 0x7d, 0x63, 0xc9, 0xec, 0xbc, 0x0c, 0x8b, 0xd9, 0xbc, 0x64, 0x96, 0xfe, + 0x75, 0x01, 0x2a, 0x42, 0x40, 0xec, 0xd1, 0x11, 0x79, 0x3f, 0x04, 0x24, 0x77, 0x9c, 0x97, 0x88, + 0x09, 0xd6, 0xcb, 0x49, 0xd6, 0x02, 0xf7, 0x1e, 0xf6, 0xb1, 0xe4, 0x5c, 0xde, 0x4b, 0x8d, 0x24, + 0x19, 0x2f, 0x05, 0x9e, 0x4c, 0x11, 0x92, 0x84, 0xff, 0x5c, 0x80, 0x69, 0x95, 0xb7, 0x9b, 0xe1, + 0xab, 0x55, 0x2e, 0xcb, 0xf8, 0x86, 0x15, 0x13, 0x1b, 0x86, 0x66, 0xe0, 0x8c, 0xbb, 0xe7, 0x10, + 0xaa, 0x9c, 0xe1, 0x2b, 0xc4, 0x07, 0x5a, 0x02, 0x30, 0xc3, 0xbb, 0x54, 0x19, 0xe5, 0x91, 0x38, + 0x6e, 0x7a, 0xd2, 0x77, 0x09, 0x9e, 0x9b, 0xc5, 0xd2, 0xe9, 0xf2, 0x88, 0x88, 0x40, 0x75, 0xc2, + 0x32, 0x77, 0xb5, 0xce, 0xcd, 0x8e, 0xf6, 0x8c, 0x1c, 0xa8, 0x67, 0xed, 0xae, 0xe5, 0x9b, 0x1a, + 0x36, 0x0c, 0x4a, 0x3c, 0xaf, 0xf6, 0x00, 0xca, 0x11, 0x5f, 0x19, 0x49, 0x0a, 0x8c, 0x79, 0x5d, + 0x9d, 0x95, 0xde, 0x9c, 0x71, 0x49, 0x0d, 0x3e, 0xd9, 0x8c, 0x4d, 0x3c, 0x0f, 0xb7, 0x88, 0xbc, + 0x00, 0x83, 0xcf, 0xda, 0x87, 0x30, 0xcf, 0x4b, 0x74, 0xa2, 0xc6, 0x9a, 0xed, 0xe3, 0x78, 0xe0, + 0x74, 0xd2, 0x03, 0x49, 0x5b, 0x47, 0x06, 0xd9, 0x5a, 0xdb, 0x82, 0x4a, 0x96, 0xee, 0x21, 0xac, + 0xf9, 0x7d, 0x01, 0xa6, 0xef, 0x18, 0x86, 0xec, 0x3c, 0x9e, 0xdb, 0x88, 0x1f, 0xc0, 0x28, 0xb6, + 0xdd, 0xae, 0xe3, 0x73, 0x03, 0x9e, 0xa7, 0x33, 0x91, 0xeb, 0x93, 0xf6, 0x22, 0x28, 0x47, 0xe4, + 0x64, 0xe0, 0xfd, 0xb1, 0x00, 0x48, 0x8d, 0x9e, 0xdf, 0xbf, 0x7d, 0xa4, 0x67, 0xe1, 0x7c, 0x82, + 0x9f, 0xe4, 0xfd, 0x14, 0x94, 0x37, 0xb0, 0xa3, 0x13, 0xeb, 0x44, 0xc8, 0x27, 0x55, 0x2e, 0xc0, + 0x7c, 0x06, 0xb6, 0x54, 0xfc, 0xb7, 0x02, 0xcc, 0xdc, 0x23, 0x16, 0x2b, 0x3f, 0x86, 0x76, 0x99, + 0x02, 0x63, 0xf1, 0x48, 0x1d, 0x57, 0x83, 0xcf, 0x98, 0x33, 0x8b, 0x27, 0xe9, 0xcc, 0x0b, 0x30, + 0x9b, 0xe2, 0x2e, 0xad, 0xfa, 0x7b, 0x21, 0x38, 0x0b, 0xc7, 0xb2, 0x2d, 0x66, 0xc0, 0xe9, 0xa4, + 0x01, 0x71, 0xab, 0x47, 0xf2, 0x02, 0xe5, 0x44, 0x6d, 0x5b, 0x82, 0x85, 0x4c, 0x0b, 0xa4, 0x85, + 0xbf, 0x2b, 0x40, 0x35, 0xbe, 0xab, 0x27, 0xb5, 0x87, 0x8b, 0x30, 0x6e, 0x08, 0x28, 0x37, 0xd8, + 0xc5, 0x68, 0x20, 0xee, 0xa0, 0x62, 0xc2, 0x41, 0x49, 0xee, 0x6b, 0xb0, 0x3a, 0x80, 0x9b, 0xb4, + 0xa0, 0xc7, 0xb6, 0x68, 0x0f, 0x53, 0xe3, 0x85, 0x87, 0x5f, 0x86, 0x63, 0x33, 0xf4, 0x4a, 0x5a, + 0x7f, 0x28, 0x40, 0xf9, 0x01, 0x6b, 0x32, 0xe2, 0xcd, 0xd0, 0xb7, 0x27, 0x7f, 0x9c, 0x87, 0x73, + 0x31, 0x76, 0x92, 0xf3, 0xbb, 0x50, 0xb9, 0x63, 0x18, 0x3b, 0x6e, 0x58, 0x81, 0xdd, 0x31, 0x6c, + 0xd3, 0x39, 0x42, 0xb4, 0xcb, 0xeb, 0x2f, 0x88, 0x76, 0xf9, 0xd9, 0xe7, 0xaf, 0x4c, 0x70, 0xa9, + 0xfb, 0x7d, 0x58, 0x11, 0xbb, 0xfc, 0x80, 0xba, 0xf6, 0x0b, 0x21, 0x50, 0x83, 0x6a, 0xbe, 0x06, + 0xc9, 0x42, 0x87, 0x55, 0xf1, 0xb6, 0x20, 0x7e, 0x27, 0x9c, 0xac, 0x64, 0x4f, 0x2a, 0x91, 0x5e, + 0x84, 0xda, 0x20, 0x25, 0x92, 0x8a, 0x01, 0xb5, 0x7b, 0xa6, 0xf7, 0xa2, 0xb9, 0x5c, 0x82, 0xb5, + 0x81, 0x5a, 0x22, 0x32, 0x31, 0xca, 0xe9, 0x42, 0xfd, 0x04, 0xc9, 0x0c, 0xd4, 0x22, 0xc9, 0x90, + 0x24, 0xe7, 0x17, 0xc5, 0xe6, 0x32, 0x5c, 0x1c, 0xac, 0x46, 0xd2, 0x79, 0x4f, 0x06, 0xf6, 0x9b, + 0xc9, 0xa7, 0xae, 0x13, 0x8a, 0xda, 0x65, 0x58, 0xcc, 0x46, 0x97, 0xda, 0x71, 0x3c, 0xaa, 0x5f, + 0x0c, 0x85, 0x35, 0x58, 0x1d, 0xa0, 0x42, 0xf2, 0xd8, 0x85, 0x55, 0xce, 0x73, 0x27, 0xeb, 0xbd, + 0xee, 0x84, 0x88, 0x5c, 0x84, 0xda, 0x20, 0x1d, 0x92, 0x49, 0x0b, 0x2e, 0x47, 0x74, 0x5f, 0x24, + 0x9d, 0xab, 0x70, 0xe5, 0x50, 0x45, 0x92, 0xd3, 0x47, 0x50, 0x8d, 0x98, 0x1f, 0xf3, 0x28, 0xe7, + 0xb2, 0x19, 0x50, 0x4d, 0xf4, 0x6d, 0xe0, 0x00, 0xed, 0x92, 0xe2, 0x2f, 0x0a, 0x70, 0x29, 0x65, + 0xce, 0x37, 0x4e, 0xb4, 0xde, 0xb7, 0x75, 0x79, 0x6c, 0x7f, 0x1a, 0x37, 0xe9, 0xb8, 0x19, 0x60, + 0x78, 0xa2, 0x89, 0x48, 0xcc, 0xcd, 0x0c, 0x1f, 0x17, 0xfa, 0xec, 0xf9, 0xe6, 0xa9, 0xf6, 0x47, + 0x69, 0x1e, 0xdf, 0x9b, 0xff, 0x51, 0x00, 0x1e, 0x79, 0xad, 0x6d, 0x42, 0x7b, 0xa6, 0x4e, 0xd0, + 0xdb, 0x30, 0x19, 0x7f, 0xec, 0x45, 0xab, 0xc9, 0xf7, 0xe2, 0x8c, 0xa7, 0xe7, 0x4a, 0x6d, 0x90, + 0x88, 0xec, 0x20, 0xdf, 0x85, 0xa9, 0xe4, 0x9b, 0x0b, 0x5a, 0x4b, 0xae, 0xca, 0x7c, 0x48, 0xae, + 0x5c, 0x1c, 0x2c, 0x24, 0xc1, 0x37, 0xa0, 0x14, 0x34, 0xe0, 0x68, 0x29, 0xb9, 0x22, 0xf5, 0x90, + 0x50, 0x59, 0xce, 0x9b, 0x96, 0x50, 0xad, 0xa0, 0x05, 0x8c, 0xf7, 0xc1, 0xe8, 0x4a, 0x7a, 0x55, + 0x4e, 0x97, 0x5e, 0xa9, 0x1f, 0x2e, 0x18, 0x71, 0x0e, 0x1a, 0xd0, 0x34, 0xe7, 0x54, 0xd7, 0x9c, + 0xe6, 0x9c, 0xee, 0x5b, 0x91, 0x0a, 0x13, 0xb1, 0xee, 0x0c, 0x55, 0xb3, 0x38, 0x24, 0x00, 0x57, + 0x07, 0x48, 0x48, 0x4c, 0x03, 0xce, 0xf5, 0xf5, 0x7d, 0xe8, 0x72, 0x6a, 0x37, 0x72, 0x9a, 0xce, + 0xca, 0x95, 0x43, 0xe5, 0xa4, 0x96, 0x1f, 0xc1, 0xd9, 0x44, 0x21, 0x8d, 0x52, 0xa1, 0x94, 0x55, + 0xdd, 0x57, 0xd6, 0x06, 0xca, 0x48, 0xe4, 0x9f, 0xb0, 0x56, 0xb9, 0xaf, 0x50, 0x47, 0x7d, 0xfb, + 0x93, 0xd7, 0x43, 0x54, 0xae, 0x1e, 0x41, 0x32, 0xae, 0xab, 0xaf, 0x57, 0x41, 0x99, 0xb1, 0x70, + 0x34, 0x5d, 0xb9, 0x8d, 0x0f, 0xfa, 0x28, 0xd9, 0x8f, 0x27, 0x35, 0xae, 0xe7, 0xfb, 0x3d, 0x53, + 0x6f, 0xe3, 0xc8, 0xf2, 0x52, 0xfb, 0x43, 0x18, 0x0f, 0x1b, 0x08, 0x94, 0x0a, 0xcb, 0x74, 0xdf, + 0x53, 0x59, 0xc9, 0x9d, 0x8f, 0xfc, 0x96, 0xd1, 0x1c, 0xa4, 0xfd, 0x96, 0xdf, 0x9c, 0xa4, 0xfd, + 0x36, 0xa0, 0xd3, 0x40, 0x07, 0xa0, 0xe4, 0xf5, 0x01, 0xe8, 0x7a, 0x96, 0xfb, 0x73, 0x3b, 0x92, + 0xca, 0xfa, 0x51, 0xc5, 0x23, 0x33, 0x33, 0x9e, 0x3b, 0xd3, 0x66, 0xe6, 0x3f, 0xd1, 0xa6, 0xcd, + 0x1c, 0xf0, 0x76, 0x8a, 0x6c, 0x98, 0xc9, 0x7a, 0x0c, 0x46, 0x99, 0x10, 0x99, 0x0f, 0xd9, 0x95, + 0x6b, 0x47, 0x11, 0x8d, 0xd4, 0x65, 0xd5, 0xa9, 0x28, 0x6b, 0x63, 0xb2, 0xcb, 0xd4, 0xb4, 0xba, + 0x41, 0x65, 0x2f, 0x0b, 0xfe, 0xdc, 0x9a, 0x14, 0xe5, 0x6e, 0x4b, 0x8e, 0xe2, 0xc6, 0x91, 0xe5, + 0xa5, 0xf6, 0x9f, 0x41, 0x25, 0xbf, 0x83, 0x43, 0x29, 0xb8, 0x43, 0x1b, 0xca, 0xca, 0x8d, 0xa3, + 0x2f, 0x90, 0x04, 0x3e, 0x2e, 0xc0, 0xc2, 0x80, 0xbe, 0x0d, 0xa5, 0x10, 0x0f, 0x6f, 0x24, 0x2b, + 0x2f, 0x1f, 0x63, 0x45, 0x8c, 0xc4, 0x80, 0x7e, 0x0d, 0xe5, 0x9b, 0x95, 0x53, 0x05, 0xa5, 0x49, + 0x1c, 0xa1, 0x19, 0x44, 0x9f, 0x14, 0x60, 0x71, 0x50, 0x9b, 0x86, 0x06, 0x18, 0x96, 0x47, 0xe3, + 0xe6, 0x71, 0x96, 0x44, 0x21, 0x91, 0xdf, 0x9b, 0xa4, 0x43, 0xe2, 0xd0, 0x4e, 0x29, 0x1d, 0x12, + 0x87, 0xb7, 0x3d, 0xe8, 0x57, 0x85, 0xf8, 0x0b, 0x4a, 0x36, 0x8d, 0xdb, 0x79, 0x81, 0x3e, 0x90, + 0xcb, 0x2b, 0xc7, 0x5c, 0x15, 0x1d, 0xd1, 0xdc, 0xae, 0x23, 0x7d, 0x44, 0x0f, 0x6b, 0x8e, 0x2a, + 0x8d, 0x23, 0xcb, 0x4b, 0xed, 0xbf, 0x2c, 0xc0, 0xf2, 0xe0, 0x5e, 0x02, 0xdd, 0x1a, 0x68, 0x57, + 0x0e, 0x91, 0xdb, 0xc7, 0x5b, 0x94, 0x15, 0x1d, 0x7d, 0x21, 0x9a, 0x6b, 0x5c, 0x5e, 0x80, 0xde, + 0x38, 0xfa, 0x82, 0xfc, 0xe8, 0xe8, 0xa3, 0x31, 0xd8, 0xb4, 0x3c, 0x2e, 0xaf, 0x1c, 0x73, 0x95, + 0x20, 0x54, 0x39, 0xf3, 0xf3, 0xaf, 0x3f, 0xbd, 0x56, 0xb8, 0xab, 0x7e, 0xf6, 0xe5, 0x72, 0xe1, + 0xf3, 0x2f, 0x97, 0x0b, 0xff, 0xfe, 0x72, 0xb9, 0xf0, 0x9b, 0xaf, 0x96, 0x4f, 0x7d, 0xfe, 0xd5, + 0xf2, 0xa9, 0x7f, 0x7e, 0xb5, 0x7c, 0xea, 0xe9, 0x6b, 0x47, 0xfc, 0xb5, 0xf5, 0x7e, 0x23, 0xfa, + 0x73, 0x15, 0xff, 0xa0, 0x43, 0xbc, 0xdd, 0x51, 0xfe, 0x57, 0x29, 0xb7, 0xfe, 0x17, 0x00, 0x00, + 0xff, 0xff, 0xec, 0xf6, 0xa8, 0x39, 0x50, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4294,8 +4294,7 @@ func (m *OptionalParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { if len(m.MinExperiencedWorkerRegrets) > 0 { dAtA2 := make([]byte, len(m.MinExperiencedWorkerRegrets)*10) var j1 int - for _, num1 := range m.MinExperiencedWorkerRegrets { - num := uint64(num1) + for _, num := range m.MinExperiencedWorkerRegrets { for num >= 1<<7 { dAtA2[j1] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -10617,7 +10616,7 @@ func (m *OptionalParams) Unmarshal(dAtA []byte) error { } case 52: if wireType == 0 { - var v int64 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10627,7 +10626,7 @@ func (m *OptionalParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int64(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -10668,10 +10667,10 @@ func (m *OptionalParams) Unmarshal(dAtA []byte) error { } elementCount = count if elementCount != 0 && len(m.MinExperiencedWorkerRegrets) == 0 { - m.MinExperiencedWorkerRegrets = make([]int64, 0, elementCount) + m.MinExperiencedWorkerRegrets = make([]uint64, 0, elementCount) } for iNdEx < postIndex { - var v int64 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10681,7 +10680,7 @@ func (m *OptionalParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int64(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } From 9adf155c8093e532b7c658dec12eb4586459b775 Mon Sep 17 00:00:00 2001 From: Kenny Date: Tue, 3 Dec 2024 02:36:50 -0500 Subject: [PATCH 16/16] fix lint --- x/emissions/keeper/inference_synthesis/network_regrets.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/emissions/keeper/inference_synthesis/network_regrets.go b/x/emissions/keeper/inference_synthesis/network_regrets.go index 7085eb28e..b2e102ea4 100644 --- a/x/emissions/keeper/inference_synthesis/network_regrets.go +++ b/x/emissions/keeper/inference_synthesis/network_regrets.go @@ -390,7 +390,7 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // - If we have 10 or more experienced workers, use their regrets // - Otherwise, use fallback regrets which include all workers regrets := fallbackRegrets - if len(workersRegrets) >= int(params.MinExperiencedWorkerRegrets) { + if uint64(len(workersRegrets)) >= params.MinExperiencedWorkerRegrets { regrets = workersRegrets } @@ -403,7 +403,7 @@ func GetCalcSetNetworkRegrets(args GetCalcSetNetworkRegretsArgs) error { // Set initial value to the quantile (used when we don't have enough experienced workers) updatedTopicInitialRegret := quantile - if len(workersRegrets) >= int(params.MinExperiencedWorkerRegrets) { + if uint64(len(workersRegrets)) >= params.MinExperiencedWorkerRegrets { updatedTopicInitialRegret, err = CalcTopicInitialRegret( regrets, args.EpsilonTopic,