From be83d504f89f0bc5ad4406c01d9dad736dd70429 Mon Sep 17 00:00:00 2001 From: Andras Banki-Horvath Date: Fri, 20 Dec 2019 12:52:08 +0100 Subject: [PATCH 1/5] autopilot: introduce NodeMetric interface for arbitrary graph metrics This commit adds the NodeMetric interface which will be used for all graph metrics not directly part of the autopilot but are useful in composite heuristics to drive autopilot decisions and improve node scores. --- autopilot/interface.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/autopilot/interface.go b/autopilot/interface.go index b63661e3..7efeba76 100644 --- a/autopilot/interface.go +++ b/autopilot/interface.go @@ -147,6 +147,23 @@ type AttachmentHeuristic interface { map[NodeID]*NodeScore, error) } +// NodeMetric is a common interface for all graph metrics that are not +// directly used as autopilot node scores but may be used in compositional +// heuristics or statistical information exposed to users. +type NodeMetric interface { + // Name returns the unique name of this metric. + Name() string + + // Refresh refreshes the metric values based on the current graph. + Refresh(graph ChannelGraph) error + + // GetMetric returns the latest value of this metric. Values in the + // map are per node and can be in arbitrary domain. If normalize is + // set to true, then the returned values are normalized to either + // [0, 1] or [-1, 1] depending on the metric. + GetMetric(normalize bool) map[NodeID]float64 +} + // ScoreSettable is an interface that indicates that the scores returned by the // heuristic can be mutated by an external caller. The ExternalScoreAttachment // currently implements this interface, and so should any heuristic that is From 3fe9c707220935323c03fa943b7b11e275588d77 Mon Sep 17 00:00:00 2001 From: Andras Banki-Horvath Date: Fri, 20 Dec 2019 12:54:59 +0100 Subject: [PATCH 2/5] autopilot: betweenness centrality using Brandes algo on simplifed graph This commit adds betweenness centrality to the available node metrics. Betweenness centrality is a per node centrality measure which for an arbitrary node v equals to the sum of shortest paths going trough v divided by the number of all shortest paths for for each vertex pair k, s where k != s != v. --- autopilot/betweenness_centrality.go | 212 +++++++++++++++++++++++ autopilot/betweenness_centrality_test.go | 156 +++++++++++++++++ autopilot/simple_graph.go | 66 +++++++ 3 files changed, 434 insertions(+) create mode 100644 autopilot/betweenness_centrality.go create mode 100644 autopilot/betweenness_centrality_test.go create mode 100644 autopilot/simple_graph.go diff --git a/autopilot/betweenness_centrality.go b/autopilot/betweenness_centrality.go new file mode 100644 index 00000000..bfc15e36 --- /dev/null +++ b/autopilot/betweenness_centrality.go @@ -0,0 +1,212 @@ +package autopilot + +// stack is a simple int stack to help with readability of Brandes' +// betweenness centrality implementation below. +type stack struct { + stack []int +} + +func (s *stack) push(v int) { + s.stack = append(s.stack, v) +} + +func (s *stack) top() int { + return s.stack[len(s.stack)-1] +} + +func (s *stack) pop() { + s.stack = s.stack[:len(s.stack)-1] +} + +func (s *stack) empty() bool { + return len(s.stack) == 0 +} + +// queue is a simple int queue to help with readability of Brandes' +// betweenness centrality implementation below. +type queue struct { + queue []int +} + +func (q *queue) push(v int) { + q.queue = append(q.queue, v) +} + +func (q *queue) front() int { + return q.queue[0] +} + +func (q *queue) pop() { + q.queue = q.queue[1:] +} + +func (q *queue) empty() bool { + return len(q.queue) == 0 +} + +// BetweennessCentrality is a NodeMetric that calculates node betweenness +// centrality using Brandes' algorithm. Betweenness centrality for each node +// is the number of shortest paths passing trough that node, not counting +// shortest paths starting or ending at that node. This is a useful metric +// to measure control of individual nodes over the whole network. +type BetweennessCentrality struct { + // centrality stores original (not normalized) centrality values for + // each node in the graph. + centrality map[NodeID]float64 + + // min is the minimum centrality in the graph. + min float64 + + // max is the maximum centrality in the graph. + max float64 +} + +// NewBetweennessCentralityMetric creates a new BetweennessCentrality instance. +func NewBetweennessCentralityMetric() *BetweennessCentrality { + return &BetweennessCentrality{} +} + +// Name returns the name of the metric. +func (bc *BetweennessCentrality) Name() string { + return "betweeness_centrality" +} + +// betweennessCentrality is the core of Brandes' algorithm. +// We first calculate the shortest paths from the start node s to all other +// nodes with BFS, then update the betweenness centrality values by using +// Brandes' dependency trick. +// For detailed explanation please read: +// https://www.cl.cam.ac.uk/teaching/1617/MLRD/handbook/brandes.html +func betweennessCentrality(g *SimpleGraph, s int, centrality []float64) { + // pred[w] is the list of nodes that immediately precede w on a + // shortest path from s to t for each node t. + pred := make([][]int, len(g.Nodes)) + + // sigma[t] is the number of shortest paths between nodes s and t for + // each node t. + sigma := make([]int, len(g.Nodes)) + sigma[s] = 1 + + // dist[t] holds the distance between s and t for each node t. We initialize + // this to -1 (meaning infinity) for each t != s. + dist := make([]int, len(g.Nodes)) + for i := range dist { + dist[i] = -1 + } + + dist[s] = 0 + + var ( + st stack + q queue + ) + q.push(s) + + // BFS to calculate the shortest paths (sigma and pred) + // from s to t for each node t. + for !q.empty() { + v := q.front() + q.pop() + st.push(v) + + for _, w := range g.Adj[v] { + // If distance from s to w is infinity (-1) + // then set it and enqueue w. + if dist[w] < 0 { + dist[w] = dist[v] + 1 + q.push(w) + } + + // If w is on a shortest path the update + // sigma and add v to w's predecessor list. + if dist[w] == dist[v]+1 { + sigma[w] += sigma[v] + pred[w] = append(pred[w], v) + } + } + } + + // delta[v] is the ratio of the shortest paths between s and t that go + // through v and the total number of shortest paths between s and t. + // If we have delta then the betweenness centrality is simply the sum + // of delta[w] for each w != s. + delta := make([]float64, len(g.Nodes)) + + for !st.empty() { + w := st.top() + st.pop() + + // pred[w] is the list of nodes that immediately precede w on a + // shortest path from s. + for _, v := range pred[w] { + // Update delta using Brandes' equation. + delta[v] += (float64(sigma[v]) / float64(sigma[w])) * (1.0 + delta[w]) + } + + if w != s { + // As noted above centrality is simply the sum + // of delta[w] for each w != s. + centrality[w] += delta[w] + } + } +} + +// Refresh recaculates and stores centrality values. +func (bc *BetweennessCentrality) Refresh(graph ChannelGraph) error { + cache, err := NewSimpleGraph(graph) + if err != nil { + return err + } + + // TODO: parallelize updates to centrality. + centrality := make([]float64, len(cache.Nodes)) + for node := range cache.Nodes { + betweennessCentrality(cache, node, centrality) + } + + // Get min/max to be able to normalize + // centrality values between 0 and 1. + bc.min = 0 + bc.max = 0 + if len(centrality) > 0 { + for i := 1; i < len(centrality); i++ { + if centrality[i] < bc.min { + bc.min = centrality[i] + } else if centrality[i] > bc.max { + bc.max = centrality[i] + } + } + } + + // Divide by two as this is an undirected graph. + bc.min /= 2.0 + bc.max /= 2.0 + + bc.centrality = make(map[NodeID]float64) + for u, value := range centrality { + // Divide by two as this is an undirected graph. + bc.centrality[cache.Nodes[u]] = value / 2.0 + } + + return nil +} + +// GetMetric returns the current centrality values for each node indexed +// by node id. +func (bc *BetweennessCentrality) GetMetric(normalize bool) map[NodeID]float64 { + // Normalization factor. + var z float64 + if (bc.max - bc.min) > 0 { + z = 1.0 / (bc.max - bc.min) + } + + centrality := make(map[NodeID]float64) + for k, v := range bc.centrality { + if normalize { + v = (v - bc.min) * z + } + centrality[k] = v + } + + return centrality +} diff --git a/autopilot/betweenness_centrality_test.go b/autopilot/betweenness_centrality_test.go new file mode 100644 index 00000000..09fd7fc3 --- /dev/null +++ b/autopilot/betweenness_centrality_test.go @@ -0,0 +1,156 @@ +package autopilot + +import ( + "testing" + + "github.com/btcsuite/btcd/btcec" + "github.com/btcsuite/btcutil" +) + +// Tests that empty graph results in empty centrality result. +func TestBetweennessCentralityEmptyGraph(t *testing.T) { + centralityMetric := NewBetweennessCentralityMetric() + + for _, chanGraph := range chanGraphs { + graph, cleanup, err := chanGraph.genFunc() + success := t.Run(chanGraph.name, func(t1 *testing.T) { + if err != nil { + t1.Fatalf("unable to create graph: %v", err) + } + if cleanup != nil { + defer cleanup() + } + + if err := centralityMetric.Refresh(graph); err != nil { + t.Fatalf("unexpected failure during metric refresh: %v", err) + } + + centrality := centralityMetric.GetMetric(false) + if len(centrality) > 0 { + t.Fatalf("expected empty metric, got: %v", len(centrality)) + } + + centrality = centralityMetric.GetMetric(true) + if len(centrality) > 0 { + t.Fatalf("expected empty metric, got: %v", len(centrality)) + } + + }) + if !success { + break + } + } +} + +// testGraphDesc is a helper type to describe a test graph. +type testGraphDesc struct { + nodes int + edges map[int][]int +} + +// buildTestGraph builds a test graph from a passed graph desriptor. +func buildTestGraph(t *testing.T, + graph testGraph, desc testGraphDesc) map[int]*btcec.PublicKey { + + nodes := make(map[int]*btcec.PublicKey) + + for i := 0; i < desc.nodes; i++ { + key, err := graph.addRandNode() + if err != nil { + t.Fatalf("cannot create random node") + } + + nodes[i] = key + } + + const chanCapacity = btcutil.SatoshiPerBitcoin + for u, neighbors := range desc.edges { + for _, v := range neighbors { + _, _, err := graph.addRandChannel(nodes[u], nodes[v], chanCapacity) + if err != nil { + t.Fatalf("unexpected error while adding random channel: %v", err) + } + } + } + + return nodes +} + +// Test betweenness centrality calculating using an example graph. +func TestBetweennessCentralityWithNonEmptyGraph(t *testing.T) { + graphDesc := testGraphDesc{ + nodes: 9, + edges: map[int][]int{ + 0: {1, 2, 3}, + 1: {2}, + 2: {3}, + 3: {4, 5}, + 4: {5, 6, 7}, + 5: {6, 7}, + 6: {7, 8}, + }, + } + + tests := []struct { + name string + normalize bool + centrality []float64 + }{ + { + normalize: true, + centrality: []float64{ + 0.2, 0.0, 0.2, 1.0, 0.4, 0.4, 7.0 / 15.0, 0.0, 0.0, + }, + }, + { + normalize: false, + centrality: []float64{ + 3.0, 0.0, 3.0, 15.0, 6.0, 6.0, 7.0, 0.0, 0.0, + }, + }, + } + + for _, chanGraph := range chanGraphs { + graph, cleanup, err := chanGraph.genFunc() + if err != nil { + t.Fatalf("unable to create graph: %v", err) + } + if cleanup != nil { + defer cleanup() + } + + success := t.Run(chanGraph.name, func(t1 *testing.T) { + centralityMetric := NewBetweennessCentralityMetric() + graphNodes := buildTestGraph(t1, graph, graphDesc) + + if err := centralityMetric.Refresh(graph); err != nil { + t1.Fatalf("error while calculating betweeness centrality") + } + for _, test := range tests { + test := test + centrality := centralityMetric.GetMetric(test.normalize) + + if len(centrality) != graphDesc.nodes { + t.Fatalf("expected %v values, got: %v", + graphDesc.nodes, len(centrality)) + } + + for node, nodeCentrality := range test.centrality { + nodeID := NewNodeID(graphNodes[node]) + calculatedCentrality, ok := centrality[nodeID] + if !ok { + t1.Fatalf("no result for node: %x (%v)", nodeID, node) + } + + if nodeCentrality != calculatedCentrality { + t1.Errorf("centrality for node: %v should be %v, got: %v", + node, test.centrality[node], calculatedCentrality) + } + } + } + }) + if !success { + break + } + } +} diff --git a/autopilot/simple_graph.go b/autopilot/simple_graph.go new file mode 100644 index 00000000..208a784e --- /dev/null +++ b/autopilot/simple_graph.go @@ -0,0 +1,66 @@ +package autopilot + +// SimpleGraph stores a simplifed adj graph of a channel graph to speed +// up graph processing by eliminating all unnecessary hashing and map access. +type SimpleGraph struct { + // Nodes is a map from node index to NodeID. + Nodes []NodeID + + // Adj stores nodes and neighbors in an adjacency list. + Adj [][]int +} + +// NewSimpleGraph creates a simplified graph from the current channel graph. +// Returns an error if the channel graph iteration fails due to underlying +// failure. +func NewSimpleGraph(g ChannelGraph) (*SimpleGraph, error) { + nodes := make(map[NodeID]int) + adj := make(map[int][]int) + nextIndex := 0 + + // getNodeIndex returns the integer index of the passed node. + // The returned index is then used to create a simplifed adjacency list + // where each node is identified by its index instead of its pubkey, and + // also to create a mapping from node index to node pubkey. + getNodeIndex := func(node Node) int { + key := NodeID(node.PubKey()) + nodeIndex, ok := nodes[key] + + if !ok { + nodes[key] = nextIndex + nodeIndex = nextIndex + nextIndex++ + } + + return nodeIndex + } + + // Iterate over each node and each channel and update the adj and the node + // index. + err := g.ForEachNode(func(node Node) error { + u := getNodeIndex(node) + + return node.ForEachChannel(func(edge ChannelEdge) error { + v := getNodeIndex(edge.Peer) + + adj[u] = append(adj[u], v) + return nil + }) + }) + if err != nil { + return nil, err + } + + graph := &SimpleGraph{ + Nodes: make([]NodeID, len(nodes)), + Adj: make([][]int, len(nodes)), + } + + // Fill the adj and the node index to node pubkey mapping. + for nodeID, nodeIndex := range nodes { + graph.Adj[nodeIndex] = adj[nodeIndex] + graph.Nodes[nodeIndex] = nodeID + } + + return graph, nil +} From 7e50997bb4d83e129c6560fe81ffc20c62d33fb9 Mon Sep 17 00:00:00 2001 From: Andras Banki-Horvath Date: Thu, 19 Mar 2020 11:14:28 +0100 Subject: [PATCH 3/5] lnrpc: add betweenness centrality to GetNodeMetrics (new RPC call) This commit extends the RPC interface with GetNodeMetrics will contain all graph node metrics in the future. Currently only holds betweennes centrality per node. --- cmd/lncli/commands.go | 25 + cmd/lncli/main.go | 1 + lnrpc/rpc.pb.go | 1768 ++++++++++++++++++++++------------------ lnrpc/rpc.pb.gw.go | 41 + lnrpc/rpc.proto | 39 + lnrpc/rpc.swagger.json | 67 ++ rpcserver.go | 61 +- 7 files changed, 1222 insertions(+), 780 deletions(-) diff --git a/cmd/lncli/commands.go b/cmd/lncli/commands.go index 15a2b040..b9fc4089 100644 --- a/cmd/lncli/commands.go +++ b/cmd/lncli/commands.go @@ -2974,6 +2974,31 @@ func describeGraph(ctx *cli.Context) error { return nil } +var getNodeMetricsCommand = cli.Command{ + Name: "getnodemetrics", + Category: "Graph", + Description: "Prints out node metrics calculated from the current graph", + Usage: "Get node metrics.", + Action: actionDecorator(getNodeMetrics), +} + +func getNodeMetrics(ctx *cli.Context) error { + client, cleanUp := getClient(ctx) + defer cleanUp() + + req := &lnrpc.NodeMetricsRequest{ + Types: []lnrpc.NodeMetricType{lnrpc.NodeMetricType_BETWEENNESS_CENTRALITY}, + } + + nodeMetrics, err := client.GetNodeMetrics(context.Background(), req) + if err != nil { + return err + } + + printRespJSON(nodeMetrics) + return nil +} + var listPaymentsCommand = cli.Command{ Name: "listpayments", Category: "Payments", diff --git a/cmd/lncli/main.go b/cmd/lncli/main.go index 30aa2485..e8170c59 100644 --- a/cmd/lncli/main.go +++ b/cmd/lncli/main.go @@ -282,6 +282,7 @@ func main() { closedChannelsCommand, listPaymentsCommand, describeGraphCommand, + getNodeMetricsCommand, getChanInfoCommand, getNodeInfoCommand, queryRoutesCommand, diff --git a/lnrpc/rpc.pb.go b/lnrpc/rpc.pb.go index 4203c5fb..04be0156 100644 --- a/lnrpc/rpc.pb.go +++ b/lnrpc/rpc.pb.go @@ -99,6 +99,28 @@ func (CommitmentType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_77a6da22d6a3feb1, []int{1} } +type NodeMetricType int32 + +const ( + NodeMetricType_BETWEENNESS_CENTRALITY NodeMetricType = 0 +) + +var NodeMetricType_name = map[int32]string{ + 0: "BETWEENNESS_CENTRALITY", +} + +var NodeMetricType_value = map[string]int32{ + "BETWEENNESS_CENTRALITY": 0, +} + +func (x NodeMetricType) String() string { + return proto.EnumName(NodeMetricType_name, int32(x)) +} + +func (NodeMetricType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_77a6da22d6a3feb1, []int{2} +} + type InvoiceHTLCState int32 const ( @@ -124,7 +146,7 @@ func (x InvoiceHTLCState) String() string { } func (InvoiceHTLCState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{2} + return fileDescriptor_77a6da22d6a3feb1, []int{3} } type FeatureBit int32 @@ -194,7 +216,7 @@ func (x FeatureBit) String() string { } func (FeatureBit) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{3} + return fileDescriptor_77a6da22d6a3feb1, []int{4} } type ChannelCloseSummary_ClosureType int32 @@ -414,7 +436,7 @@ func (x Invoice_InvoiceState) String() string { } func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{106, 0} + return fileDescriptor_77a6da22d6a3feb1, []int{109, 0} } type Payment_PaymentStatus int32 @@ -445,7 +467,7 @@ func (x Payment_PaymentStatus) String() string { } func (Payment_PaymentStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{113, 0} + return fileDescriptor_77a6da22d6a3feb1, []int{116, 0} } type HTLCAttempt_HTLCStatus int32 @@ -473,7 +495,7 @@ func (x HTLCAttempt_HTLCStatus) String() string { } func (HTLCAttempt_HTLCStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{114, 0} + return fileDescriptor_77a6da22d6a3feb1, []int{117, 0} } type Failure_FailureCode int32 @@ -584,7 +606,7 @@ func (x Failure_FailureCode) String() string { } func (Failure_FailureCode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{147, 0} + return fileDescriptor_77a6da22d6a3feb1, []int{150, 0} } type GenSeedRequest struct { @@ -7599,6 +7621,140 @@ func (m *ChannelGraph) GetEdges() []*ChannelEdge { return nil } +type NodeMetricsRequest struct { + /// The requesteded node metrics. + Types []NodeMetricType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=lnrpc.NodeMetricType" json:"types,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NodeMetricsRequest) Reset() { *m = NodeMetricsRequest{} } +func (m *NodeMetricsRequest) String() string { return proto.CompactTextString(m) } +func (*NodeMetricsRequest) ProtoMessage() {} +func (*NodeMetricsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_77a6da22d6a3feb1, []int{94} +} + +func (m *NodeMetricsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NodeMetricsRequest.Unmarshal(m, b) +} +func (m *NodeMetricsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NodeMetricsRequest.Marshal(b, m, deterministic) +} +func (m *NodeMetricsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NodeMetricsRequest.Merge(m, src) +} +func (m *NodeMetricsRequest) XXX_Size() int { + return xxx_messageInfo_NodeMetricsRequest.Size(m) +} +func (m *NodeMetricsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NodeMetricsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NodeMetricsRequest proto.InternalMessageInfo + +func (m *NodeMetricsRequest) GetTypes() []NodeMetricType { + if m != nil { + return m.Types + } + return nil +} + +type NodeMetricsResponse struct { + //* + //Betweenness centrality is the sum of the ratio of shortest paths that pass + //through the node for each pair of nodes in the graph (not counting paths + //starting or ending at this node). + //Map of node pubkey to betweenness centrality of the node. Normalized + //values are in the [0,1] closed interval. + BetweennessCentrality map[string]*FloatValue `protobuf:"bytes,1,rep,name=betweenness_centrality,json=betweennessCentrality,proto3" json:"betweenness_centrality,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NodeMetricsResponse) Reset() { *m = NodeMetricsResponse{} } +func (m *NodeMetricsResponse) String() string { return proto.CompactTextString(m) } +func (*NodeMetricsResponse) ProtoMessage() {} +func (*NodeMetricsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_77a6da22d6a3feb1, []int{95} +} + +func (m *NodeMetricsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NodeMetricsResponse.Unmarshal(m, b) +} +func (m *NodeMetricsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NodeMetricsResponse.Marshal(b, m, deterministic) +} +func (m *NodeMetricsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NodeMetricsResponse.Merge(m, src) +} +func (m *NodeMetricsResponse) XXX_Size() int { + return xxx_messageInfo_NodeMetricsResponse.Size(m) +} +func (m *NodeMetricsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NodeMetricsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NodeMetricsResponse proto.InternalMessageInfo + +func (m *NodeMetricsResponse) GetBetweennessCentrality() map[string]*FloatValue { + if m != nil { + return m.BetweennessCentrality + } + return nil +} + +type FloatValue struct { + /// Arbitrary float value. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + /// The value normalized to [0,1] or [-1,1]. + NormalizedValue float64 `protobuf:"fixed64,2,opt,name=normalized_value,json=normalizedValue,proto3" json:"normalized_value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FloatValue) Reset() { *m = FloatValue{} } +func (m *FloatValue) String() string { return proto.CompactTextString(m) } +func (*FloatValue) ProtoMessage() {} +func (*FloatValue) Descriptor() ([]byte, []int) { + return fileDescriptor_77a6da22d6a3feb1, []int{96} +} + +func (m *FloatValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FloatValue.Unmarshal(m, b) +} +func (m *FloatValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FloatValue.Marshal(b, m, deterministic) +} +func (m *FloatValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatValue.Merge(m, src) +} +func (m *FloatValue) XXX_Size() int { + return xxx_messageInfo_FloatValue.Size(m) +} +func (m *FloatValue) XXX_DiscardUnknown() { + xxx_messageInfo_FloatValue.DiscardUnknown(m) +} + +var xxx_messageInfo_FloatValue proto.InternalMessageInfo + +func (m *FloatValue) GetValue() float64 { + if m != nil { + return m.Value + } + return 0 +} + +func (m *FloatValue) GetNormalizedValue() float64 { + if m != nil { + return m.NormalizedValue + } + return 0 +} + type ChanInfoRequest struct { //* //The unique channel ID for the channel. The first 3 bytes are the block @@ -7614,7 +7770,7 @@ func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} } func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) } func (*ChanInfoRequest) ProtoMessage() {} func (*ChanInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{94} + return fileDescriptor_77a6da22d6a3feb1, []int{97} } func (m *ChanInfoRequest) XXX_Unmarshal(b []byte) error { @@ -7652,7 +7808,7 @@ func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} } func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) } func (*NetworkInfoRequest) ProtoMessage() {} func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{95} + return fileDescriptor_77a6da22d6a3feb1, []int{98} } func (m *NetworkInfoRequest) XXX_Unmarshal(b []byte) error { @@ -7695,7 +7851,7 @@ func (m *NetworkInfo) Reset() { *m = NetworkInfo{} } func (m *NetworkInfo) String() string { return proto.CompactTextString(m) } func (*NetworkInfo) ProtoMessage() {} func (*NetworkInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{96} + return fileDescriptor_77a6da22d6a3feb1, []int{99} } func (m *NetworkInfo) XXX_Unmarshal(b []byte) error { @@ -7803,7 +7959,7 @@ func (m *StopRequest) Reset() { *m = StopRequest{} } func (m *StopRequest) String() string { return proto.CompactTextString(m) } func (*StopRequest) ProtoMessage() {} func (*StopRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{97} + return fileDescriptor_77a6da22d6a3feb1, []int{100} } func (m *StopRequest) XXX_Unmarshal(b []byte) error { @@ -7834,7 +7990,7 @@ func (m *StopResponse) Reset() { *m = StopResponse{} } func (m *StopResponse) String() string { return proto.CompactTextString(m) } func (*StopResponse) ProtoMessage() {} func (*StopResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{98} + return fileDescriptor_77a6da22d6a3feb1, []int{101} } func (m *StopResponse) XXX_Unmarshal(b []byte) error { @@ -7865,7 +8021,7 @@ func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscrip func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) } func (*GraphTopologySubscription) ProtoMessage() {} func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{99} + return fileDescriptor_77a6da22d6a3feb1, []int{102} } func (m *GraphTopologySubscription) XXX_Unmarshal(b []byte) error { @@ -7899,7 +8055,7 @@ func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} } func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) } func (*GraphTopologyUpdate) ProtoMessage() {} func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{100} + return fileDescriptor_77a6da22d6a3feb1, []int{103} } func (m *GraphTopologyUpdate) XXX_Unmarshal(b []byte) error { @@ -7956,7 +8112,7 @@ func (m *NodeUpdate) Reset() { *m = NodeUpdate{} } func (m *NodeUpdate) String() string { return proto.CompactTextString(m) } func (*NodeUpdate) ProtoMessage() {} func (*NodeUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{101} + return fileDescriptor_77a6da22d6a3feb1, []int{104} } func (m *NodeUpdate) XXX_Unmarshal(b []byte) error { @@ -8032,7 +8188,7 @@ func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} } func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) } func (*ChannelEdgeUpdate) ProtoMessage() {} func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{102} + return fileDescriptor_77a6da22d6a3feb1, []int{105} } func (m *ChannelEdgeUpdate) XXX_Unmarshal(b []byte) error { @@ -8113,7 +8269,7 @@ func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} } func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) } func (*ClosedChannelUpdate) ProtoMessage() {} func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{103} + return fileDescriptor_77a6da22d6a3feb1, []int{106} } func (m *ClosedChannelUpdate) XXX_Unmarshal(b []byte) error { @@ -8184,7 +8340,7 @@ func (m *HopHint) Reset() { *m = HopHint{} } func (m *HopHint) String() string { return proto.CompactTextString(m) } func (*HopHint) ProtoMessage() {} func (*HopHint) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{104} + return fileDescriptor_77a6da22d6a3feb1, []int{107} } func (m *HopHint) XXX_Unmarshal(b []byte) error { @@ -8254,7 +8410,7 @@ func (m *RouteHint) Reset() { *m = RouteHint{} } func (m *RouteHint) String() string { return proto.CompactTextString(m) } func (*RouteHint) ProtoMessage() {} func (*RouteHint) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{105} + return fileDescriptor_77a6da22d6a3feb1, []int{108} } func (m *RouteHint) XXX_Unmarshal(b []byte) error { @@ -8387,7 +8543,7 @@ func (m *Invoice) Reset() { *m = Invoice{} } func (m *Invoice) String() string { return proto.CompactTextString(m) } func (*Invoice) ProtoMessage() {} func (*Invoice) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{106} + return fileDescriptor_77a6da22d6a3feb1, []int{109} } func (m *Invoice) XXX_Unmarshal(b []byte) error { @@ -8609,7 +8765,7 @@ func (m *InvoiceHTLC) Reset() { *m = InvoiceHTLC{} } func (m *InvoiceHTLC) String() string { return proto.CompactTextString(m) } func (*InvoiceHTLC) ProtoMessage() {} func (*InvoiceHTLC) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{107} + return fileDescriptor_77a6da22d6a3feb1, []int{110} } func (m *InvoiceHTLC) XXX_Unmarshal(b []byte) error { @@ -8722,7 +8878,7 @@ func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} } func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) } func (*AddInvoiceResponse) ProtoMessage() {} func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{108} + return fileDescriptor_77a6da22d6a3feb1, []int{111} } func (m *AddInvoiceResponse) XXX_Unmarshal(b []byte) error { @@ -8784,7 +8940,7 @@ func (m *PaymentHash) Reset() { *m = PaymentHash{} } func (m *PaymentHash) String() string { return proto.CompactTextString(m) } func (*PaymentHash) ProtoMessage() {} func (*PaymentHash) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{109} + return fileDescriptor_77a6da22d6a3feb1, []int{112} } func (m *PaymentHash) XXX_Unmarshal(b []byte) error { @@ -8844,7 +9000,7 @@ func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} } func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) } func (*ListInvoiceRequest) ProtoMessage() {} func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{110} + return fileDescriptor_77a6da22d6a3feb1, []int{113} } func (m *ListInvoiceRequest) XXX_Unmarshal(b []byte) error { @@ -8915,7 +9071,7 @@ func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} } func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) } func (*ListInvoiceResponse) ProtoMessage() {} func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{111} + return fileDescriptor_77a6da22d6a3feb1, []int{114} } func (m *ListInvoiceResponse) XXX_Unmarshal(b []byte) error { @@ -8979,7 +9135,7 @@ func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} } func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) } func (*InvoiceSubscription) ProtoMessage() {} func (*InvoiceSubscription) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{112} + return fileDescriptor_77a6da22d6a3feb1, []int{115} } func (m *InvoiceSubscription) XXX_Unmarshal(b []byte) error { @@ -9052,7 +9208,7 @@ func (m *Payment) Reset() { *m = Payment{} } func (m *Payment) String() string { return proto.CompactTextString(m) } func (*Payment) ProtoMessage() {} func (*Payment) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{113} + return fileDescriptor_77a6da22d6a3feb1, []int{116} } func (m *Payment) XXX_Unmarshal(b []byte) error { @@ -9197,7 +9353,7 @@ func (m *HTLCAttempt) Reset() { *m = HTLCAttempt{} } func (m *HTLCAttempt) String() string { return proto.CompactTextString(m) } func (*HTLCAttempt) ProtoMessage() {} func (*HTLCAttempt) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{114} + return fileDescriptor_77a6da22d6a3feb1, []int{117} } func (m *HTLCAttempt) XXX_Unmarshal(b []byte) error { @@ -9268,7 +9424,7 @@ func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} } func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) } func (*ListPaymentsRequest) ProtoMessage() {} func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{115} + return fileDescriptor_77a6da22d6a3feb1, []int{118} } func (m *ListPaymentsRequest) XXX_Unmarshal(b []byte) error { @@ -9308,7 +9464,7 @@ func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} } func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) } func (*ListPaymentsResponse) ProtoMessage() {} func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{116} + return fileDescriptor_77a6da22d6a3feb1, []int{119} } func (m *ListPaymentsResponse) XXX_Unmarshal(b []byte) error { @@ -9346,7 +9502,7 @@ func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsReque func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) } func (*DeleteAllPaymentsRequest) ProtoMessage() {} func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{117} + return fileDescriptor_77a6da22d6a3feb1, []int{120} } func (m *DeleteAllPaymentsRequest) XXX_Unmarshal(b []byte) error { @@ -9377,7 +9533,7 @@ func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResp func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) } func (*DeleteAllPaymentsResponse) ProtoMessage() {} func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{118} + return fileDescriptor_77a6da22d6a3feb1, []int{121} } func (m *DeleteAllPaymentsResponse) XXX_Unmarshal(b []byte) error { @@ -9409,7 +9565,7 @@ func (m *AbandonChannelRequest) Reset() { *m = AbandonChannelRequest{} } func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) } func (*AbandonChannelRequest) ProtoMessage() {} func (*AbandonChannelRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{119} + return fileDescriptor_77a6da22d6a3feb1, []int{122} } func (m *AbandonChannelRequest) XXX_Unmarshal(b []byte) error { @@ -9447,7 +9603,7 @@ func (m *AbandonChannelResponse) Reset() { *m = AbandonChannelResponse{} func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) } func (*AbandonChannelResponse) ProtoMessage() {} func (*AbandonChannelResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{120} + return fileDescriptor_77a6da22d6a3feb1, []int{123} } func (m *AbandonChannelResponse) XXX_Unmarshal(b []byte) error { @@ -9480,7 +9636,7 @@ func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} } func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) } func (*DebugLevelRequest) ProtoMessage() {} func (*DebugLevelRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{121} + return fileDescriptor_77a6da22d6a3feb1, []int{124} } func (m *DebugLevelRequest) XXX_Unmarshal(b []byte) error { @@ -9526,7 +9682,7 @@ func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} } func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) } func (*DebugLevelResponse) ProtoMessage() {} func (*DebugLevelResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{122} + return fileDescriptor_77a6da22d6a3feb1, []int{125} } func (m *DebugLevelResponse) XXX_Unmarshal(b []byte) error { @@ -9566,7 +9722,7 @@ func (m *PayReqString) Reset() { *m = PayReqString{} } func (m *PayReqString) String() string { return proto.CompactTextString(m) } func (*PayReqString) ProtoMessage() {} func (*PayReqString) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{123} + return fileDescriptor_77a6da22d6a3feb1, []int{126} } func (m *PayReqString) XXX_Unmarshal(b []byte) error { @@ -9617,7 +9773,7 @@ func (m *PayReq) Reset() { *m = PayReq{} } func (m *PayReq) String() string { return proto.CompactTextString(m) } func (*PayReq) ProtoMessage() {} func (*PayReq) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{124} + return fileDescriptor_77a6da22d6a3feb1, []int{127} } func (m *PayReq) XXX_Unmarshal(b []byte) error { @@ -9742,7 +9898,7 @@ func (m *Feature) Reset() { *m = Feature{} } func (m *Feature) String() string { return proto.CompactTextString(m) } func (*Feature) ProtoMessage() {} func (*Feature) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{125} + return fileDescriptor_77a6da22d6a3feb1, []int{128} } func (m *Feature) XXX_Unmarshal(b []byte) error { @@ -9794,7 +9950,7 @@ func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} } func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) } func (*FeeReportRequest) ProtoMessage() {} func (*FeeReportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{126} + return fileDescriptor_77a6da22d6a3feb1, []int{129} } func (m *FeeReportRequest) XXX_Unmarshal(b []byte) error { @@ -9837,7 +9993,7 @@ func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} } func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) } func (*ChannelFeeReport) ProtoMessage() {} func (*ChannelFeeReport) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{127} + return fileDescriptor_77a6da22d6a3feb1, []int{130} } func (m *ChannelFeeReport) XXX_Unmarshal(b []byte) error { @@ -9915,7 +10071,7 @@ func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} } func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) } func (*FeeReportResponse) ProtoMessage() {} func (*FeeReportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{128} + return fileDescriptor_77a6da22d6a3feb1, []int{131} } func (m *FeeReportResponse) XXX_Unmarshal(b []byte) error { @@ -9993,7 +10149,7 @@ func (m *PolicyUpdateRequest) Reset() { *m = PolicyUpdateRequest{} } func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) } func (*PolicyUpdateRequest) ProtoMessage() {} func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{129} + return fileDescriptor_77a6da22d6a3feb1, []int{132} } func (m *PolicyUpdateRequest) XXX_Unmarshal(b []byte) error { @@ -10111,7 +10267,7 @@ func (m *PolicyUpdateResponse) Reset() { *m = PolicyUpdateResponse{} } func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) } func (*PolicyUpdateResponse) ProtoMessage() {} func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{130} + return fileDescriptor_77a6da22d6a3feb1, []int{133} } func (m *PolicyUpdateResponse) XXX_Unmarshal(b []byte) error { @@ -10156,7 +10312,7 @@ func (m *ForwardingHistoryRequest) Reset() { *m = ForwardingHistoryReque func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) } func (*ForwardingHistoryRequest) ProtoMessage() {} func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{131} + return fileDescriptor_77a6da22d6a3feb1, []int{134} } func (m *ForwardingHistoryRequest) XXX_Unmarshal(b []byte) error { @@ -10239,7 +10395,7 @@ func (m *ForwardingEvent) Reset() { *m = ForwardingEvent{} } func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) } func (*ForwardingEvent) ProtoMessage() {} func (*ForwardingEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{132} + return fileDescriptor_77a6da22d6a3feb1, []int{135} } func (m *ForwardingEvent) XXX_Unmarshal(b []byte) error { @@ -10339,7 +10495,7 @@ func (m *ForwardingHistoryResponse) Reset() { *m = ForwardingHistoryResp func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) } func (*ForwardingHistoryResponse) ProtoMessage() {} func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{133} + return fileDescriptor_77a6da22d6a3feb1, []int{136} } func (m *ForwardingHistoryResponse) XXX_Unmarshal(b []byte) error { @@ -10386,7 +10542,7 @@ func (m *ExportChannelBackupRequest) Reset() { *m = ExportChannelBackupR func (m *ExportChannelBackupRequest) String() string { return proto.CompactTextString(m) } func (*ExportChannelBackupRequest) ProtoMessage() {} func (*ExportChannelBackupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{134} + return fileDescriptor_77a6da22d6a3feb1, []int{137} } func (m *ExportChannelBackupRequest) XXX_Unmarshal(b []byte) error { @@ -10433,7 +10589,7 @@ func (m *ChannelBackup) Reset() { *m = ChannelBackup{} } func (m *ChannelBackup) String() string { return proto.CompactTextString(m) } func (*ChannelBackup) ProtoMessage() {} func (*ChannelBackup) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{135} + return fileDescriptor_77a6da22d6a3feb1, []int{138} } func (m *ChannelBackup) XXX_Unmarshal(b []byte) error { @@ -10487,7 +10643,7 @@ func (m *MultiChanBackup) Reset() { *m = MultiChanBackup{} } func (m *MultiChanBackup) String() string { return proto.CompactTextString(m) } func (*MultiChanBackup) ProtoMessage() {} func (*MultiChanBackup) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{136} + return fileDescriptor_77a6da22d6a3feb1, []int{139} } func (m *MultiChanBackup) XXX_Unmarshal(b []byte) error { @@ -10532,7 +10688,7 @@ func (m *ChanBackupExportRequest) Reset() { *m = ChanBackupExportRequest func (m *ChanBackupExportRequest) String() string { return proto.CompactTextString(m) } func (*ChanBackupExportRequest) ProtoMessage() {} func (*ChanBackupExportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{137} + return fileDescriptor_77a6da22d6a3feb1, []int{140} } func (m *ChanBackupExportRequest) XXX_Unmarshal(b []byte) error { @@ -10571,7 +10727,7 @@ func (m *ChanBackupSnapshot) Reset() { *m = ChanBackupSnapshot{} } func (m *ChanBackupSnapshot) String() string { return proto.CompactTextString(m) } func (*ChanBackupSnapshot) ProtoMessage() {} func (*ChanBackupSnapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{138} + return fileDescriptor_77a6da22d6a3feb1, []int{141} } func (m *ChanBackupSnapshot) XXX_Unmarshal(b []byte) error { @@ -10619,7 +10775,7 @@ func (m *ChannelBackups) Reset() { *m = ChannelBackups{} } func (m *ChannelBackups) String() string { return proto.CompactTextString(m) } func (*ChannelBackups) ProtoMessage() {} func (*ChannelBackups) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{139} + return fileDescriptor_77a6da22d6a3feb1, []int{142} } func (m *ChannelBackups) XXX_Unmarshal(b []byte) error { @@ -10661,7 +10817,7 @@ func (m *RestoreChanBackupRequest) Reset() { *m = RestoreChanBackupReque func (m *RestoreChanBackupRequest) String() string { return proto.CompactTextString(m) } func (*RestoreChanBackupRequest) ProtoMessage() {} func (*RestoreChanBackupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{140} + return fileDescriptor_77a6da22d6a3feb1, []int{143} } func (m *RestoreChanBackupRequest) XXX_Unmarshal(b []byte) error { @@ -10737,7 +10893,7 @@ func (m *RestoreBackupResponse) Reset() { *m = RestoreBackupResponse{} } func (m *RestoreBackupResponse) String() string { return proto.CompactTextString(m) } func (*RestoreBackupResponse) ProtoMessage() {} func (*RestoreBackupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{141} + return fileDescriptor_77a6da22d6a3feb1, []int{144} } func (m *RestoreBackupResponse) XXX_Unmarshal(b []byte) error { @@ -10768,7 +10924,7 @@ func (m *ChannelBackupSubscription) Reset() { *m = ChannelBackupSubscrip func (m *ChannelBackupSubscription) String() string { return proto.CompactTextString(m) } func (*ChannelBackupSubscription) ProtoMessage() {} func (*ChannelBackupSubscription) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{142} + return fileDescriptor_77a6da22d6a3feb1, []int{145} } func (m *ChannelBackupSubscription) XXX_Unmarshal(b []byte) error { @@ -10799,7 +10955,7 @@ func (m *VerifyChanBackupResponse) Reset() { *m = VerifyChanBackupRespon func (m *VerifyChanBackupResponse) String() string { return proto.CompactTextString(m) } func (*VerifyChanBackupResponse) ProtoMessage() {} func (*VerifyChanBackupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{143} + return fileDescriptor_77a6da22d6a3feb1, []int{146} } func (m *VerifyChanBackupResponse) XXX_Unmarshal(b []byte) error { @@ -10834,7 +10990,7 @@ func (m *MacaroonPermission) Reset() { *m = MacaroonPermission{} } func (m *MacaroonPermission) String() string { return proto.CompactTextString(m) } func (*MacaroonPermission) ProtoMessage() {} func (*MacaroonPermission) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{144} + return fileDescriptor_77a6da22d6a3feb1, []int{147} } func (m *MacaroonPermission) XXX_Unmarshal(b []byte) error { @@ -10881,7 +11037,7 @@ func (m *BakeMacaroonRequest) Reset() { *m = BakeMacaroonRequest{} } func (m *BakeMacaroonRequest) String() string { return proto.CompactTextString(m) } func (*BakeMacaroonRequest) ProtoMessage() {} func (*BakeMacaroonRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{145} + return fileDescriptor_77a6da22d6a3feb1, []int{148} } func (m *BakeMacaroonRequest) XXX_Unmarshal(b []byte) error { @@ -10921,7 +11077,7 @@ func (m *BakeMacaroonResponse) Reset() { *m = BakeMacaroonResponse{} } func (m *BakeMacaroonResponse) String() string { return proto.CompactTextString(m) } func (*BakeMacaroonResponse) ProtoMessage() {} func (*BakeMacaroonResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{146} + return fileDescriptor_77a6da22d6a3feb1, []int{149} } func (m *BakeMacaroonResponse) XXX_Unmarshal(b []byte) error { @@ -10977,7 +11133,7 @@ func (m *Failure) Reset() { *m = Failure{} } func (m *Failure) String() string { return proto.CompactTextString(m) } func (*Failure) ProtoMessage() {} func (*Failure) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{147} + return fileDescriptor_77a6da22d6a3feb1, []int{150} } func (m *Failure) XXX_Unmarshal(b []byte) error { @@ -11121,7 +11277,7 @@ func (m *ChannelUpdate) Reset() { *m = ChannelUpdate{} } func (m *ChannelUpdate) String() string { return proto.CompactTextString(m) } func (*ChannelUpdate) ProtoMessage() {} func (*ChannelUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{148} + return fileDescriptor_77a6da22d6a3feb1, []int{151} } func (m *ChannelUpdate) XXX_Unmarshal(b []byte) error { @@ -11229,6 +11385,7 @@ func (m *ChannelUpdate) GetExtraOpaqueData() []byte { func init() { proto.RegisterEnum("lnrpc.AddressType", AddressType_name, AddressType_value) proto.RegisterEnum("lnrpc.CommitmentType", CommitmentType_name, CommitmentType_value) + proto.RegisterEnum("lnrpc.NodeMetricType", NodeMetricType_name, NodeMetricType_value) proto.RegisterEnum("lnrpc.InvoiceHTLCState", InvoiceHTLCState_name, InvoiceHTLCState_value) proto.RegisterEnum("lnrpc.FeatureBit", FeatureBit_name, FeatureBit_value) proto.RegisterEnum("lnrpc.ChannelCloseSummary_ClosureType", ChannelCloseSummary_ClosureType_name, ChannelCloseSummary_ClosureType_value) @@ -11349,6 +11506,10 @@ func init() { proto.RegisterType((*ChannelEdge)(nil), "lnrpc.ChannelEdge") proto.RegisterType((*ChannelGraphRequest)(nil), "lnrpc.ChannelGraphRequest") proto.RegisterType((*ChannelGraph)(nil), "lnrpc.ChannelGraph") + proto.RegisterType((*NodeMetricsRequest)(nil), "lnrpc.NodeMetricsRequest") + proto.RegisterType((*NodeMetricsResponse)(nil), "lnrpc.NodeMetricsResponse") + proto.RegisterMapType((map[string]*FloatValue)(nil), "lnrpc.NodeMetricsResponse.BetweennessCentralityEntry") + proto.RegisterType((*FloatValue)(nil), "lnrpc.FloatValue") proto.RegisterType((*ChanInfoRequest)(nil), "lnrpc.ChanInfoRequest") proto.RegisterType((*NetworkInfoRequest)(nil), "lnrpc.NetworkInfoRequest") proto.RegisterType((*NetworkInfo)(nil), "lnrpc.NetworkInfo") @@ -11412,723 +11573,735 @@ func init() { func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) } var fileDescriptor_77a6da22d6a3feb1 = []byte{ - // 11447 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x6b, 0x8f, 0x23, 0x57, - 0x76, 0xd8, 0xf0, 0xd5, 0x24, 0x0f, 0x1f, 0x4d, 0xde, 0x7e, 0x71, 0x7a, 0x34, 0x9a, 0x51, 0x49, - 0x2b, 0xcd, 0x8e, 0x76, 0x7b, 0x46, 0xb3, 0x2b, 0xed, 0x5a, 0x8a, 0xd7, 0xcb, 0xee, 0x66, 0x4f, - 0x73, 0xa7, 0x5f, 0x2a, 0xb2, 0x25, 0x6b, 0x1d, 0xa7, 0xb6, 0x9a, 0xbc, 0xdd, 0x5d, 0x1e, 0xb2, - 0x8a, 0xaa, 0x2a, 0xf6, 0x63, 0x17, 0xca, 0x87, 0x20, 0x31, 0x82, 0x20, 0x09, 0x60, 0x24, 0x0e, - 0x10, 0x27, 0x46, 0x82, 0x18, 0x41, 0x10, 0x18, 0x30, 0x0c, 0xac, 0x03, 0x24, 0x40, 0xbe, 0xfb, - 0x4b, 0x02, 0x23, 0xb0, 0xf3, 0x25, 0x30, 0x0c, 0x18, 0x49, 0x9c, 0x6f, 0x81, 0x7f, 0x42, 0x70, - 0xcf, 0xb9, 0xb7, 0xea, 0x16, 0x59, 0x3d, 0x33, 0xda, 0x55, 0xf6, 0x4b, 0x37, 0xeb, 0xdc, 0x73, - 0x9f, 0x75, 0xee, 0xb9, 0xe7, 0x79, 0x0b, 0xca, 0xfe, 0x64, 0xb0, 0x31, 0xf1, 0xbd, 0xd0, 0x63, - 0x85, 0x91, 0xeb, 0x4f, 0x06, 0xeb, 0xaf, 0x9d, 0x79, 0xde, 0xd9, 0x88, 0x3f, 0xb2, 0x27, 0xce, - 0x23, 0xdb, 0x75, 0xbd, 0xd0, 0x0e, 0x1d, 0xcf, 0x0d, 0x08, 0xc9, 0xf8, 0x11, 0xd4, 0x9f, 0x72, - 0xb7, 0xc7, 0xf9, 0xd0, 0xe4, 0x9f, 0x4f, 0x79, 0x10, 0xb2, 0x77, 0xa1, 0x69, 0xf3, 0x1f, 0x73, - 0x3e, 0xb4, 0x26, 0x76, 0x10, 0x4c, 0xce, 0x7d, 0x3b, 0xe0, 0xad, 0xcc, 0xfd, 0xcc, 0x83, 0xaa, - 0xd9, 0xa0, 0x82, 0xa3, 0x08, 0xce, 0xde, 0x80, 0x6a, 0x20, 0x50, 0xb9, 0x1b, 0xfa, 0xde, 0xe4, - 0xba, 0x95, 0x45, 0xbc, 0x8a, 0x80, 0x75, 0x08, 0x64, 0x8c, 0x60, 0x31, 0xea, 0x21, 0x98, 0x78, - 0x6e, 0xc0, 0xd9, 0x63, 0x58, 0x1e, 0x38, 0x93, 0x73, 0xee, 0x5b, 0x58, 0x79, 0xec, 0xf2, 0xb1, - 0xe7, 0x3a, 0x83, 0x56, 0xe6, 0x7e, 0xee, 0x41, 0xd9, 0x64, 0x54, 0x26, 0x6a, 0xec, 0xcb, 0x12, - 0xf6, 0x0e, 0x2c, 0x72, 0x97, 0xe0, 0x7c, 0x88, 0xb5, 0x64, 0x57, 0xf5, 0x18, 0x2c, 0x2a, 0x18, - 0x7f, 0x3f, 0x0b, 0xcd, 0xae, 0xeb, 0x84, 0x9f, 0xda, 0xa3, 0x11, 0x0f, 0xd5, 0x9c, 0xde, 0x81, - 0xc5, 0x4b, 0x04, 0xe0, 0x9c, 0x2e, 0x3d, 0x7f, 0x28, 0x67, 0x54, 0x27, 0xf0, 0x91, 0x84, 0xde, - 0x38, 0xb2, 0xec, 0x8d, 0x23, 0x4b, 0x5d, 0xae, 0xdc, 0x0d, 0xcb, 0xf5, 0x0e, 0x2c, 0xfa, 0x7c, - 0xe0, 0x5d, 0x70, 0xff, 0xda, 0xba, 0x74, 0xdc, 0xa1, 0x77, 0xd9, 0xca, 0xdf, 0xcf, 0x3c, 0x28, - 0x98, 0x75, 0x05, 0xfe, 0x14, 0xa1, 0x6c, 0x13, 0x16, 0x07, 0xe7, 0xb6, 0xeb, 0xf2, 0x91, 0x75, - 0x62, 0x0f, 0x9e, 0x4f, 0x27, 0x41, 0xab, 0x70, 0x3f, 0xf3, 0xa0, 0xf2, 0xe4, 0xf6, 0x06, 0xbe, - 0xd5, 0x8d, 0xad, 0x73, 0xdb, 0xdd, 0xc4, 0x92, 0x9e, 0x6b, 0x4f, 0x82, 0x73, 0x2f, 0x34, 0xeb, - 0xb2, 0x06, 0x81, 0x03, 0x63, 0x19, 0x98, 0xbe, 0x12, 0xb4, 0xf6, 0xc6, 0xef, 0x67, 0x60, 0xe9, - 0xd8, 0x1d, 0x79, 0x83, 0xe7, 0x3f, 0xe3, 0x12, 0xa5, 0xcc, 0x21, 0xfb, 0xaa, 0x73, 0xc8, 0x7d, - 0xd9, 0x39, 0xac, 0xc2, 0x72, 0x72, 0xb0, 0x72, 0x16, 0x1c, 0x56, 0x44, 0xed, 0x33, 0xae, 0x86, - 0xa5, 0xa6, 0xf1, 0x75, 0x68, 0x0c, 0xa6, 0xbe, 0xcf, 0xdd, 0xb9, 0x79, 0x2c, 0x4a, 0x78, 0x34, - 0x91, 0x37, 0xa0, 0xea, 0xf2, 0xcb, 0x18, 0x4d, 0xd2, 0xae, 0xcb, 0x2f, 0x15, 0x8a, 0xd1, 0x82, - 0xd5, 0xd9, 0x6e, 0xe4, 0x00, 0xfe, 0x2a, 0x03, 0xf9, 0xe3, 0xf0, 0xca, 0x63, 0xef, 0x43, 0xd5, - 0x1e, 0x0e, 0x7d, 0x1e, 0x04, 0x56, 0x78, 0x3d, 0xa1, 0x9d, 0x52, 0x7f, 0xc2, 0xe4, 0x14, 0xdb, - 0x54, 0xd4, 0xbf, 0x9e, 0x70, 0xb3, 0x62, 0xc7, 0x0f, 0xac, 0x05, 0x45, 0xf9, 0x88, 0xfd, 0x96, - 0x4d, 0xf5, 0xc8, 0xee, 0x02, 0xd8, 0x63, 0x6f, 0xea, 0x86, 0x56, 0x60, 0x87, 0xb8, 0x62, 0x39, - 0xb3, 0x4c, 0x90, 0x9e, 0x1d, 0xb2, 0x3b, 0x50, 0x9e, 0x3c, 0xb7, 0x82, 0x81, 0xef, 0x4c, 0x42, - 0x24, 0x9e, 0xb2, 0x59, 0x9a, 0x3c, 0xef, 0xe1, 0x33, 0x7b, 0x17, 0x4a, 0xde, 0x34, 0x9c, 0x78, - 0x8e, 0x1b, 0x4a, 0x7a, 0x59, 0x94, 0x03, 0x39, 0x9c, 0x86, 0x47, 0x02, 0x6c, 0x46, 0x08, 0xec, - 0x2d, 0xa8, 0x0d, 0x3c, 0xf7, 0xd4, 0xf1, 0xc7, 0xc4, 0x11, 0x5a, 0x0b, 0xd8, 0x57, 0x12, 0x68, - 0xfc, 0x61, 0x16, 0x2a, 0x7d, 0xdf, 0x76, 0x03, 0x7b, 0x20, 0x00, 0x6c, 0x0d, 0x8a, 0xe1, 0x95, - 0x75, 0x6e, 0x07, 0xe7, 0x38, 0xd5, 0xb2, 0xb9, 0x10, 0x5e, 0xed, 0xda, 0xc1, 0x39, 0x5b, 0x85, - 0x05, 0x1a, 0x25, 0x4e, 0x28, 0x67, 0xca, 0x27, 0xb1, 0x41, 0xdc, 0xe9, 0xd8, 0x4a, 0x76, 0x95, - 0x43, 0x8a, 0x69, 0xb8, 0xd3, 0xf1, 0x96, 0x0e, 0x17, 0x93, 0x3f, 0x11, 0xaf, 0x9b, 0x3a, 0xa0, - 0xe9, 0x95, 0x11, 0x82, 0x7d, 0xbc, 0x01, 0x55, 0x59, 0xcc, 0x9d, 0xb3, 0x73, 0x9a, 0x63, 0xc1, - 0xac, 0x10, 0x02, 0x82, 0x44, 0x0b, 0xa1, 0x33, 0xe6, 0x56, 0x10, 0xda, 0xe3, 0x89, 0x9c, 0x52, - 0x59, 0x40, 0x7a, 0x02, 0x80, 0xc5, 0x5e, 0x68, 0x8f, 0xac, 0x53, 0xce, 0x83, 0x56, 0x51, 0x16, - 0x0b, 0xc8, 0x0e, 0xe7, 0x01, 0xfb, 0x1a, 0xd4, 0x87, 0x3c, 0x08, 0x2d, 0xf9, 0x32, 0x78, 0xd0, - 0x2a, 0xe1, 0xce, 0xaf, 0x09, 0x68, 0x5b, 0x01, 0xd9, 0x6b, 0x00, 0xbe, 0x7d, 0x69, 0x89, 0x85, - 0xe0, 0x57, 0xad, 0x32, 0xbd, 0x05, 0xdf, 0xbe, 0xec, 0x5f, 0xed, 0xf2, 0x2b, 0x41, 0x35, 0x4f, - 0x79, 0xa8, 0x2d, 0x5a, 0x20, 0xa9, 0xd3, 0xd8, 0x03, 0xa6, 0x81, 0xb7, 0x79, 0x68, 0x3b, 0xa3, - 0x80, 0x7d, 0x00, 0xd5, 0x50, 0x43, 0x46, 0x36, 0x58, 0x89, 0x48, 0x48, 0xab, 0x60, 0x26, 0xf0, - 0x8c, 0x73, 0x28, 0xed, 0x70, 0xbe, 0xe7, 0x8c, 0x9d, 0x90, 0xad, 0x42, 0xe1, 0xd4, 0xb9, 0xe2, - 0x44, 0xec, 0xb9, 0xdd, 0x5b, 0x26, 0x3d, 0xb2, 0x7b, 0x00, 0xf8, 0xc3, 0x1a, 0x47, 0xd4, 0xb4, - 0x7b, 0xcb, 0x2c, 0x23, 0x6c, 0x3f, 0xb0, 0x43, 0xb6, 0x0e, 0xc5, 0x09, 0xf7, 0x07, 0x5c, 0xbd, - 0xb7, 0xdd, 0x5b, 0xa6, 0x02, 0x6c, 0x16, 0xa1, 0x30, 0x12, 0xad, 0x1b, 0x7f, 0x5c, 0x80, 0x4a, - 0x8f, 0xbb, 0xd1, 0x2e, 0x63, 0x90, 0x17, 0x0b, 0x22, 0x77, 0x16, 0xfe, 0x66, 0x6f, 0x42, 0x05, - 0x97, 0x2e, 0x08, 0x7d, 0xc7, 0x3d, 0x23, 0xaa, 0xde, 0xcc, 0xb6, 0x32, 0x26, 0x08, 0x70, 0x0f, - 0xa1, 0xac, 0x01, 0x39, 0x7b, 0xac, 0xa8, 0x5a, 0xfc, 0x64, 0xb7, 0xa1, 0x64, 0x8f, 0x43, 0x1a, - 0x5e, 0x15, 0xc1, 0x45, 0x7b, 0x1c, 0xe2, 0xd0, 0xde, 0x80, 0xea, 0xc4, 0xbe, 0x1e, 0x8b, 0xbd, - 0x1c, 0x91, 0x43, 0xd5, 0xac, 0x48, 0x18, 0x12, 0xc4, 0x13, 0x58, 0xd2, 0x51, 0x54, 0xe7, 0x85, - 0xa8, 0xf3, 0xa6, 0x86, 0x2d, 0xc7, 0xf0, 0x0e, 0x2c, 0xaa, 0x3a, 0x3e, 0xcd, 0x07, 0xc9, 0xa4, - 0x6c, 0xd6, 0x25, 0x58, 0xcd, 0xf2, 0x01, 0x34, 0x4e, 0x1d, 0xd7, 0x1e, 0x59, 0x83, 0x51, 0x78, - 0x61, 0x0d, 0xf9, 0x28, 0xb4, 0x91, 0x62, 0x0a, 0x66, 0x1d, 0xe1, 0x5b, 0xa3, 0xf0, 0x62, 0x5b, - 0x40, 0xd9, 0x37, 0xa0, 0x7c, 0xca, 0xb9, 0x85, 0x8b, 0xd5, 0x2a, 0x25, 0x36, 0x9e, 0x7a, 0x43, - 0x66, 0xe9, 0x54, 0xbd, 0xab, 0x6f, 0x40, 0xc3, 0x9b, 0x86, 0x67, 0x9e, 0xe3, 0x9e, 0x59, 0x82, - 0xdf, 0x59, 0xce, 0x10, 0x69, 0x28, 0xbf, 0x99, 0x7d, 0x9c, 0x31, 0xeb, 0xaa, 0x4c, 0x70, 0x9e, - 0xee, 0x90, 0xbd, 0x0d, 0x8b, 0x23, 0x3b, 0x08, 0xad, 0x73, 0x6f, 0x62, 0x4d, 0xa6, 0x27, 0xcf, - 0xf9, 0x75, 0xab, 0x86, 0x0b, 0x51, 0x13, 0xe0, 0x5d, 0x6f, 0x72, 0x84, 0x40, 0x41, 0xd9, 0x38, - 0x4e, 0x1a, 0x04, 0xdc, 0xcf, 0x3c, 0xa8, 0x99, 0x65, 0x01, 0xa1, 0x4e, 0x3f, 0x83, 0x25, 0x7c, - 0x3d, 0x83, 0x69, 0x10, 0x7a, 0x63, 0x4b, 0xf0, 0x6a, 0x7f, 0x18, 0xb4, 0x2a, 0x48, 0x6b, 0x5f, - 0x97, 0x83, 0xd5, 0xde, 0xf1, 0xc6, 0x36, 0x0f, 0xc2, 0x2d, 0x44, 0x36, 0x09, 0x57, 0x1c, 0xe8, - 0xd7, 0x66, 0x73, 0x38, 0x0b, 0x67, 0xdf, 0x00, 0x66, 0x8f, 0x46, 0xde, 0xa5, 0x15, 0xf0, 0xd1, - 0xa9, 0x25, 0x17, 0xb1, 0x55, 0xbf, 0x9f, 0x79, 0x50, 0x32, 0x1b, 0x58, 0xd2, 0xe3, 0xa3, 0xd3, - 0x23, 0x82, 0xb3, 0x0f, 0x00, 0x37, 0x93, 0x75, 0xca, 0xed, 0x70, 0xea, 0xf3, 0xa0, 0xb5, 0x78, - 0x3f, 0xf7, 0xa0, 0xfe, 0xa4, 0x19, 0xad, 0x17, 0x82, 0x37, 0x9d, 0xd0, 0xac, 0x0a, 0x3c, 0xf9, - 0x1c, 0xac, 0x6f, 0xc3, 0x6a, 0xfa, 0x90, 0x04, 0x51, 0x89, 0x55, 0x11, 0xc4, 0x98, 0x37, 0xc5, - 0x4f, 0xb6, 0x0c, 0x85, 0x0b, 0x7b, 0x34, 0xe5, 0x92, 0xa7, 0xd3, 0xc3, 0x87, 0xd9, 0xef, 0x66, - 0x8c, 0x3f, 0xca, 0x40, 0x95, 0x66, 0x29, 0x65, 0x91, 0x37, 0xa1, 0xa6, 0xa8, 0x81, 0xfb, 0xbe, - 0xe7, 0x4b, 0xae, 0xa6, 0x28, 0xaf, 0x23, 0x60, 0xe2, 0x54, 0x51, 0x48, 0x13, 0x9f, 0x3b, 0x63, - 0xfb, 0x4c, 0x35, 0xad, 0x48, 0xe9, 0x48, 0x82, 0xd9, 0x7b, 0x71, 0x7b, 0xbe, 0x37, 0x0d, 0xb9, - 0x3c, 0xf3, 0xaa, 0x72, 0x7a, 0xa6, 0x80, 0x45, 0xad, 0xe3, 0xd3, 0x2b, 0xd0, 0xb9, 0xf1, 0xdb, - 0x19, 0x60, 0x62, 0xd8, 0x7d, 0x8f, 0x1a, 0x90, 0x14, 0x3a, 0x5b, 0x33, 0xf3, 0xca, 0x3b, 0x24, - 0xfb, 0xa2, 0x1d, 0x62, 0x40, 0x81, 0xc6, 0x9e, 0x4f, 0x19, 0x3b, 0x15, 0xfd, 0x20, 0x5f, 0xca, - 0x35, 0xf2, 0xc6, 0xff, 0xc8, 0xc1, 0xf2, 0x16, 0x1d, 0xd9, 0xed, 0xc1, 0x80, 0x4f, 0xa2, 0xbd, - 0x73, 0x0f, 0x2a, 0xae, 0x37, 0xe4, 0x8a, 0x62, 0x69, 0x60, 0x20, 0x40, 0x1a, 0xb9, 0x9e, 0xdb, - 0x8e, 0x4b, 0x03, 0xa7, 0xc5, 0x2c, 0x23, 0x04, 0x87, 0xfd, 0x36, 0x2c, 0x4e, 0xb8, 0x3b, 0xd4, - 0xb7, 0x08, 0x09, 0x55, 0x35, 0x09, 0x96, 0xbb, 0xe3, 0x1e, 0x54, 0x4e, 0xa7, 0x84, 0x27, 0x18, - 0x4b, 0x1e, 0x69, 0x00, 0x24, 0xa8, 0x4d, 0xfc, 0x65, 0x32, 0x0d, 0xce, 0xb1, 0xb4, 0x80, 0xa5, - 0x45, 0xf1, 0x2c, 0x8a, 0xee, 0x02, 0x0c, 0xa7, 0x41, 0x28, 0x77, 0xcc, 0x02, 0x16, 0x96, 0x05, - 0x84, 0x76, 0xcc, 0x37, 0x61, 0x69, 0x6c, 0x5f, 0x59, 0x48, 0x3b, 0x96, 0xe3, 0x5a, 0xa7, 0x23, - 0x3c, 0x73, 0x8a, 0x88, 0xd7, 0x18, 0xdb, 0x57, 0x9f, 0x88, 0x92, 0xae, 0xbb, 0x83, 0x70, 0xc1, - 0x56, 0x94, 0xb8, 0xe3, 0xf3, 0x80, 0xfb, 0x17, 0x1c, 0x39, 0x41, 0x3e, 0x92, 0x69, 0x4c, 0x82, - 0x8a, 0x11, 0x8d, 0xc5, 0xbc, 0xc3, 0xd1, 0x80, 0xb6, 0xbd, 0x59, 0x1c, 0x3b, 0xee, 0x6e, 0x38, - 0x1a, 0x88, 0x73, 0x45, 0xf0, 0x91, 0x09, 0xf7, 0xad, 0xe7, 0x97, 0xb8, 0x87, 0xf3, 0xc8, 0x37, - 0x8e, 0xb8, 0xff, 0xec, 0x52, 0x1c, 0xfd, 0x83, 0x00, 0x19, 0x91, 0x7d, 0xdd, 0xaa, 0xe0, 0x06, - 0x2f, 0x0d, 0x02, 0xc1, 0x82, 0xec, 0x6b, 0xb1, 0x09, 0xc5, 0x68, 0x6d, 0x7c, 0x0b, 0x7c, 0x88, - 0xcd, 0x07, 0xc8, 0x51, 0x6b, 0x38, 0xd8, 0xb6, 0x2c, 0x10, 0xfd, 0x04, 0x82, 0xea, 0xd5, 0x60, - 0x4f, 0x47, 0xf6, 0x59, 0x80, 0x2c, 0xa5, 0x66, 0x56, 0x25, 0x70, 0x47, 0xc0, 0x8c, 0x4f, 0x49, - 0xc8, 0xd2, 0xde, 0xad, 0xdc, 0x33, 0xe2, 0xa8, 0x47, 0x08, 0xbe, 0xd7, 0x92, 0x29, 0x9f, 0xd2, - 0x5e, 0x5a, 0x36, 0xe5, 0xa5, 0x19, 0xbf, 0x9b, 0x81, 0xaa, 0x6c, 0x19, 0x85, 0x12, 0xb6, 0x01, - 0x4c, 0xbd, 0xc5, 0xf0, 0xca, 0x19, 0x5a, 0x27, 0xd7, 0x21, 0x0f, 0x88, 0x68, 0x76, 0x6f, 0x99, - 0x0d, 0x59, 0xd6, 0xbf, 0x72, 0x86, 0x9b, 0xa2, 0x84, 0x3d, 0x84, 0x46, 0x02, 0x3f, 0x08, 0x7d, - 0xa2, 0xe8, 0xdd, 0x5b, 0x66, 0x5d, 0xc3, 0xee, 0x85, 0xbe, 0xd8, 0x23, 0x42, 0xe4, 0x99, 0x86, - 0x96, 0xe3, 0x0e, 0xf9, 0x15, 0x92, 0x51, 0xcd, 0xac, 0x10, 0xac, 0x2b, 0x40, 0x9b, 0x75, 0xa8, - 0xea, 0xcd, 0x19, 0x67, 0x50, 0x52, 0xf2, 0x12, 0x0a, 0x0c, 0x33, 0x43, 0x32, 0xcb, 0x61, 0x34, - 0x92, 0xdb, 0x50, 0x4a, 0x8e, 0xc0, 0x2c, 0x86, 0xaf, 0xdc, 0xb1, 0xf1, 0x3d, 0x68, 0xec, 0x09, - 0xe2, 0x71, 0x05, 0xb1, 0x4a, 0xf9, 0x6f, 0x15, 0x16, 0xb4, 0x4d, 0x53, 0x36, 0xe5, 0x93, 0x38, - 0x73, 0xcf, 0xbd, 0x20, 0x94, 0xbd, 0xe0, 0x6f, 0xe3, 0x8f, 0x33, 0xc0, 0x3a, 0x41, 0xe8, 0x8c, - 0xed, 0x90, 0xef, 0xf0, 0x88, 0x2d, 0x1c, 0x42, 0x55, 0xb4, 0xd6, 0xf7, 0xda, 0x24, 0x90, 0x91, - 0x40, 0xf1, 0xae, 0xdc, 0xc6, 0xf3, 0x15, 0x36, 0x74, 0x6c, 0x62, 0xf3, 0x89, 0x06, 0xc4, 0x2e, - 0x0b, 0x6d, 0xff, 0x8c, 0x87, 0x28, 0xc6, 0x49, 0x79, 0x1f, 0x08, 0x24, 0x04, 0xb8, 0xf5, 0x5f, - 0x81, 0xe6, 0x5c, 0x1b, 0x3a, 0x5f, 0x2e, 0xa7, 0xf0, 0xe5, 0x9c, 0xce, 0x97, 0x2d, 0x58, 0x4a, - 0x8c, 0x4b, 0x52, 0xda, 0x1a, 0x14, 0xc5, 0x86, 0x10, 0xc2, 0x41, 0x86, 0xa4, 0xca, 0x53, 0xce, - 0x85, 0x18, 0xfc, 0x08, 0x96, 0x4f, 0x39, 0xf7, 0xed, 0x10, 0x0b, 0x71, 0xc7, 0x88, 0x37, 0x24, - 0x1b, 0x6e, 0xca, 0xb2, 0x9e, 0x1d, 0x1e, 0x71, 0x5f, 0xbc, 0x29, 0xe3, 0x7f, 0x66, 0x60, 0x51, - 0x70, 0xd0, 0x7d, 0xdb, 0xbd, 0x56, 0xeb, 0xb4, 0x97, 0xba, 0x4e, 0x0f, 0xb4, 0xc3, 0x50, 0xc3, - 0xfe, 0xb2, 0x8b, 0x94, 0x9b, 0x5d, 0x24, 0x76, 0x1f, 0xaa, 0x89, 0xb1, 0x16, 0x70, 0xac, 0x10, - 0x44, 0x83, 0xfc, 0xf9, 0x97, 0xf1, 0x6d, 0x68, 0xc4, 0xc3, 0x96, 0x6b, 0xc8, 0x20, 0x2f, 0x48, - 0x52, 0x36, 0x80, 0xbf, 0x8d, 0x7f, 0x99, 0x21, 0xc4, 0x2d, 0xcf, 0x89, 0xa4, 0x53, 0x81, 0x28, - 0xe4, 0x5e, 0x85, 0x28, 0x7e, 0xdf, 0x28, 0xd5, 0xff, 0xfc, 0x93, 0x15, 0x5b, 0x27, 0xe0, 0xee, - 0xd0, 0xb2, 0x47, 0x23, 0x64, 0xbe, 0x25, 0xb3, 0x28, 0x9e, 0xdb, 0xa3, 0x91, 0xf1, 0x0e, 0x34, - 0xb5, 0xd1, 0xbd, 0x60, 0x1e, 0x07, 0xc0, 0xf6, 0x9c, 0x20, 0x3c, 0x76, 0x83, 0x89, 0x26, 0xb8, - 0xdd, 0x81, 0xb2, 0xe0, 0xb0, 0x62, 0x64, 0xb4, 0x65, 0x0b, 0xa6, 0x60, 0xb9, 0x62, 0x5c, 0x01, - 0x16, 0xda, 0x57, 0xb2, 0x30, 0x2b, 0x0b, 0xed, 0x2b, 0x2c, 0x34, 0xbe, 0x0b, 0x4b, 0x89, 0xf6, - 0x64, 0xd7, 0x6f, 0x40, 0x61, 0x1a, 0x5e, 0x79, 0x4a, 0x34, 0xaf, 0x48, 0x0a, 0x11, 0x0a, 0xa0, - 0x49, 0x25, 0xc6, 0x47, 0xd0, 0x3c, 0xe0, 0x97, 0x72, 0x13, 0xab, 0x81, 0xbc, 0x0d, 0xf9, 0x97, - 0x28, 0x85, 0x58, 0x6e, 0x6c, 0x00, 0xd3, 0x2b, 0xcb, 0x5e, 0x35, 0x1d, 0x31, 0x93, 0xd0, 0x11, - 0x8d, 0xb7, 0x81, 0xf5, 0x9c, 0x33, 0x77, 0x9f, 0x07, 0x81, 0x7d, 0x16, 0x6d, 0xfb, 0x06, 0xe4, - 0xc6, 0xc1, 0x99, 0xe4, 0x51, 0xe2, 0xa7, 0xf1, 0x2d, 0x58, 0x4a, 0xe0, 0xc9, 0x86, 0x5f, 0x83, - 0x72, 0xe0, 0x9c, 0xb9, 0x28, 0x58, 0xc9, 0xa6, 0x63, 0x80, 0xb1, 0x03, 0xcb, 0x9f, 0x70, 0xdf, - 0x39, 0xbd, 0x7e, 0x59, 0xf3, 0xc9, 0x76, 0xb2, 0xb3, 0xed, 0x74, 0x60, 0x65, 0xa6, 0x1d, 0xd9, - 0x3d, 0x91, 0xaf, 0x7c, 0x93, 0x25, 0x93, 0x1e, 0x34, 0xbe, 0x97, 0xd5, 0xf9, 0x9e, 0x71, 0x0c, - 0x6c, 0xcb, 0x73, 0x5d, 0x3e, 0x08, 0x8f, 0x38, 0xf7, 0x63, 0x2b, 0x55, 0x4c, 0xab, 0x95, 0x27, - 0x6b, 0x72, 0x65, 0x67, 0x99, 0xa9, 0x24, 0x62, 0x06, 0xf9, 0x09, 0xf7, 0xc7, 0xd8, 0x70, 0xc9, - 0xc4, 0xdf, 0xc6, 0x0a, 0x2c, 0x25, 0x9a, 0x95, 0x7a, 0xfd, 0x63, 0x58, 0xd9, 0x76, 0x82, 0xc1, - 0x7c, 0x87, 0x6b, 0x50, 0x9c, 0x4c, 0x4f, 0xac, 0x24, 0x5f, 0x7e, 0xc6, 0xaf, 0x85, 0xb6, 0x37, - 0x5b, 0x43, 0xb6, 0xf5, 0x77, 0x33, 0x90, 0xdf, 0xed, 0xef, 0x6d, 0xb1, 0x75, 0x28, 0x39, 0xee, - 0xc0, 0x1b, 0x0b, 0xc1, 0x8b, 0xe6, 0x1c, 0x3d, 0xdf, 0xb8, 0xc1, 0xee, 0x40, 0x19, 0xe5, 0x35, - 0xa1, 0xda, 0x4a, 0xd1, 0xa7, 0x24, 0x00, 0x7b, 0xde, 0xe0, 0xb9, 0xd0, 0xa9, 0xf9, 0xd5, 0xc4, - 0xf1, 0x51, 0x6b, 0x56, 0xca, 0x70, 0x9e, 0xce, 0xfa, 0xb8, 0x80, 0x34, 0x62, 0xe3, 0x3f, 0x95, - 0xa0, 0x28, 0x4f, 0x5b, 0x3a, 0xb9, 0x43, 0xe7, 0x82, 0xc7, 0x27, 0xb7, 0x78, 0x12, 0xf2, 0x80, - 0xcf, 0xc7, 0x5e, 0x18, 0x09, 0x6c, 0xf4, 0x0e, 0xaa, 0x04, 0x94, 0x22, 0x9b, 0x26, 0x34, 0x90, - 0x89, 0x21, 0x47, 0x48, 0x03, 0xfd, 0x28, 0xbf, 0x03, 0x45, 0x75, 0xf6, 0xe7, 0x23, 0x9d, 0x66, - 0x61, 0x40, 0xd2, 0xda, 0x3a, 0x94, 0x06, 0xf6, 0xc4, 0x1e, 0x38, 0xe1, 0xb5, 0x64, 0x08, 0xd1, - 0xb3, 0x68, 0x7d, 0xe4, 0x0d, 0xec, 0x91, 0x75, 0x62, 0x8f, 0x6c, 0x77, 0xc0, 0xa5, 0xee, 0x5e, - 0x45, 0xe0, 0x26, 0xc1, 0x84, 0x7e, 0x2e, 0xc7, 0xa9, 0xb0, 0x48, 0x85, 0x97, 0xa3, 0x57, 0x68, - 0x42, 0xb8, 0xf4, 0xc6, 0x63, 0x47, 0x68, 0x19, 0x24, 0x86, 0xe5, 0xcc, 0x32, 0x41, 0x76, 0x38, - 0xce, 0x56, 0x16, 0x5f, 0xd2, 0xd2, 0x95, 0xa9, 0x2b, 0x02, 0x7e, 0x4a, 0x86, 0x84, 0x79, 0x59, - 0x2c, 0xa7, 0xc9, 0x62, 0xef, 0x42, 0x73, 0xea, 0x06, 0x3c, 0x0c, 0x47, 0x7c, 0x18, 0x8d, 0xa5, - 0x82, 0x48, 0x8d, 0xa8, 0x40, 0x0d, 0x67, 0x03, 0x96, 0xc8, 0xe8, 0x10, 0xd8, 0xa1, 0x17, 0x9c, - 0x3b, 0x81, 0x15, 0x08, 0x0d, 0x89, 0xd4, 0xdd, 0x26, 0x16, 0xf5, 0x64, 0x49, 0x8f, 0x54, 0xa4, - 0xb5, 0x19, 0x7c, 0x9f, 0x0f, 0xb8, 0x73, 0xc1, 0x87, 0x28, 0xa7, 0xe5, 0xcc, 0x95, 0x44, 0x1d, - 0x53, 0x16, 0xa2, 0xd0, 0x3d, 0x1d, 0x5b, 0xd3, 0xc9, 0xd0, 0x16, 0xc2, 0x4a, 0x9d, 0x84, 0x61, - 0x77, 0x3a, 0x3e, 0x26, 0x08, 0x7b, 0x0c, 0x4a, 0x12, 0x93, 0xf2, 0xe1, 0x62, 0x82, 0x9f, 0x09, - 0x62, 0x35, 0xab, 0x12, 0x83, 0x04, 0xc5, 0x84, 0xcc, 0xd9, 0x98, 0x91, 0x39, 0x5b, 0x50, 0x9c, - 0xf8, 0xce, 0x85, 0x1d, 0xf2, 0x56, 0x93, 0x18, 0xb8, 0x7c, 0x14, 0x9c, 0xc1, 0x71, 0x9d, 0xd0, - 0xb1, 0x43, 0xcf, 0x6f, 0x31, 0x2c, 0x8b, 0x01, 0xec, 0x21, 0x34, 0x91, 0x46, 0x82, 0xd0, 0x0e, - 0xa7, 0x81, 0x94, 0x40, 0x97, 0x90, 0x98, 0x50, 0x86, 0xee, 0x21, 0x1c, 0x85, 0x50, 0xf6, 0x2d, - 0x58, 0x25, 0xb2, 0xc0, 0x1a, 0x52, 0xb2, 0x46, 0x81, 0x60, 0x19, 0x97, 0x62, 0x09, 0x4b, 0x05, - 0x7d, 0x4b, 0xf9, 0x5a, 0x48, 0x07, 0xef, 0xc3, 0x9a, 0x24, 0x93, 0xb9, 0x5a, 0x2b, 0x58, 0x6b, - 0x99, 0x8a, 0x67, 0xaa, 0x6d, 0x40, 0x53, 0x0c, 0xc9, 0x19, 0x58, 0xb2, 0xb6, 0xd8, 0x09, 0xab, - 0x62, 0xf4, 0xa8, 0x29, 0x2d, 0x52, 0xa1, 0x89, 0x65, 0xcf, 0xf8, 0x35, 0xfb, 0x1e, 0x2c, 0x12, - 0xc9, 0xa0, 0x7a, 0x85, 0x9c, 0x7e, 0x1d, 0x39, 0xfd, 0x8a, 0xb2, 0x70, 0x46, 0xa5, 0xc8, 0xec, - 0xeb, 0x83, 0xc4, 0xb3, 0xd8, 0x0e, 0x23, 0xe7, 0x94, 0x87, 0xce, 0x98, 0xb7, 0xd6, 0x88, 0xc0, - 0xd4, 0xb3, 0xd8, 0xa9, 0xd3, 0x09, 0x96, 0xb4, 0x88, 0x2f, 0xd0, 0x13, 0xd2, 0xee, 0xc8, 0x0b, - 0xb8, 0x32, 0x51, 0xb5, 0x6e, 0xcb, 0x4d, 0x28, 0x80, 0x4a, 0x86, 0x14, 0x82, 0x38, 0x29, 0x3d, - 0x91, 0x21, 0xf1, 0x0e, 0x12, 0x43, 0x8d, 0x74, 0x1f, 0x65, 0x4c, 0x14, 0xa7, 0xf8, 0xb9, 0x7d, - 0xa9, 0x38, 0xc8, 0x6b, 0xf8, 0x7e, 0x41, 0x80, 0x24, 0xef, 0xf8, 0x69, 0x86, 0x0e, 0x44, 0xc9, - 0x3f, 0x02, 0x4d, 0xbd, 0x23, 0xce, 0x61, 0x79, 0xee, 0xe8, 0x5a, 0x32, 0x13, 0x20, 0xd0, 0xa1, - 0x3b, 0xc2, 0xdd, 0xec, 0xb8, 0x3a, 0x0a, 0xf1, 0xde, 0xaa, 0x02, 0x22, 0xd2, 0x3d, 0xa8, 0x4c, - 0xa6, 0x27, 0x23, 0x67, 0x40, 0x28, 0x39, 0x6a, 0x85, 0x40, 0x88, 0x20, 0xf4, 0x5b, 0xa2, 0x28, - 0xc2, 0xc8, 0x23, 0x46, 0x45, 0xc2, 0x10, 0x05, 0x79, 0x3b, 0xf7, 0x91, 0x9d, 0x54, 0x4d, 0xfc, - 0x6d, 0x6c, 0xc2, 0x72, 0x72, 0xd0, 0xf2, 0xe0, 0x79, 0x08, 0x25, 0xc9, 0xab, 0x94, 0xe1, 0xa3, - 0xae, 0x99, 0xa2, 0x85, 0x8a, 0x16, 0x95, 0x1b, 0xbf, 0xb9, 0x00, 0x4b, 0x12, 0xba, 0x25, 0x96, - 0xb6, 0x37, 0x1d, 0x8f, 0x6d, 0x3f, 0x85, 0x09, 0x66, 0x5e, 0xcc, 0x04, 0xb3, 0x73, 0x4c, 0x30, - 0xa9, 0xf9, 0x12, 0x0f, 0x4d, 0x6a, 0xbe, 0xe2, 0x5d, 0x92, 0x32, 0xa2, 0xdb, 0x41, 0x6b, 0x12, - 0xdc, 0x27, 0x7b, 0xeb, 0x1c, 0xcb, 0x2e, 0xa4, 0xb0, 0x6c, 0x9d, 0xe1, 0x2e, 0xcc, 0x30, 0xdc, - 0x37, 0x80, 0x88, 0x46, 0xbd, 0xfd, 0x22, 0xe9, 0x27, 0x08, 0x93, 0xc6, 0xd4, 0x77, 0x60, 0x71, - 0x96, 0xc7, 0x11, 0x33, 0xad, 0xa7, 0x70, 0x38, 0x67, 0xcc, 0xf1, 0xb4, 0xd2, 0x90, 0xcb, 0x92, - 0xc3, 0x39, 0x63, 0xbe, 0x87, 0x25, 0x0a, 0xbf, 0x03, 0x40, 0x7d, 0xe3, 0xa6, 0x01, 0xdc, 0x34, - 0x6f, 0x27, 0xdf, 0x85, 0xbe, 0xea, 0x1b, 0xe2, 0x61, 0xea, 0x73, 0xdc, 0x45, 0x65, 0xac, 0x89, - 0x1b, 0xe8, 0x19, 0xd4, 0xbd, 0x09, 0x77, 0xad, 0x98, 0xd7, 0x54, 0xb0, 0xa9, 0xb7, 0x5e, 0xd0, - 0x54, 0x57, 0xe1, 0x9a, 0x35, 0x51, 0x37, 0x7a, 0x64, 0xfb, 0xb4, 0xf0, 0x5c, 0x6b, 0xad, 0xfa, - 0x25, 0x5a, 0xab, 0x63, 0xe5, 0xe8, 0xd9, 0xf8, 0x07, 0x19, 0xa8, 0x68, 0xc3, 0x66, 0x2b, 0xd0, - 0xdc, 0x3a, 0x3c, 0x3c, 0xea, 0x98, 0xed, 0x7e, 0xf7, 0x93, 0x8e, 0xb5, 0xb5, 0x77, 0xd8, 0xeb, - 0x34, 0x6e, 0x09, 0xf0, 0xde, 0xe1, 0x56, 0x7b, 0xcf, 0xda, 0x39, 0x34, 0xb7, 0x14, 0x38, 0xc3, - 0x56, 0x81, 0x99, 0x9d, 0xfd, 0xc3, 0x7e, 0x27, 0x01, 0xcf, 0xb2, 0x06, 0x54, 0x37, 0xcd, 0x4e, - 0x7b, 0x6b, 0x57, 0x42, 0x72, 0x6c, 0x19, 0x1a, 0x3b, 0xc7, 0x07, 0xdb, 0xdd, 0x83, 0xa7, 0xd6, - 0x56, 0xfb, 0x60, 0xab, 0xb3, 0xd7, 0xd9, 0x6e, 0xe4, 0x59, 0x0d, 0xca, 0xed, 0xcd, 0xf6, 0xc1, - 0xf6, 0xe1, 0x41, 0x67, 0xbb, 0x51, 0x30, 0x7e, 0x09, 0xca, 0xf1, 0x44, 0x2b, 0x50, 0x3c, 0x3e, - 0x78, 0x76, 0x70, 0xf8, 0xe9, 0x41, 0xe3, 0x16, 0x2b, 0x43, 0x01, 0xfb, 0x6f, 0x64, 0x18, 0xc0, - 0x02, 0xf5, 0xd9, 0xc8, 0xb2, 0x12, 0xe4, 0x37, 0x0f, 0xfb, 0xbb, 0x8d, 0x9c, 0xf1, 0x17, 0x19, - 0x58, 0xc1, 0x29, 0x0f, 0x67, 0x99, 0xc0, 0x7d, 0xa8, 0x0c, 0x3c, 0x6f, 0x22, 0x34, 0xad, 0x58, - 0xa2, 0xd0, 0x41, 0x62, 0x83, 0x13, 0xf3, 0x3e, 0xf5, 0xfc, 0x01, 0x97, 0x3c, 0x00, 0x10, 0xb4, - 0x23, 0x20, 0x82, 0x06, 0x25, 0x11, 0x13, 0x06, 0xb1, 0x80, 0x0a, 0xc1, 0x08, 0x65, 0x15, 0x16, - 0x4e, 0x7c, 0x6e, 0x0f, 0xce, 0xe5, 0xee, 0x97, 0x4f, 0xec, 0xeb, 0xb1, 0x0d, 0x60, 0x20, 0x68, - 0x6a, 0xc4, 0x87, 0xb8, 0x05, 0x4a, 0xe6, 0xa2, 0x84, 0x6f, 0x49, 0xb0, 0x38, 0x8d, 0xec, 0x13, - 0xdb, 0x1d, 0x7a, 0x2e, 0x1f, 0x4a, 0x55, 0x23, 0x06, 0x18, 0x47, 0xb0, 0x3a, 0x3b, 0x3f, 0xc9, - 0x2f, 0x3e, 0xd0, 0xf8, 0x05, 0x49, 0xfe, 0xeb, 0x37, 0x93, 0x82, 0xc6, 0x3b, 0xfe, 0x51, 0x1e, - 0xf2, 0x42, 0x12, 0xbc, 0x51, 0x68, 0xd4, 0x45, 0xfb, 0xdc, 0x9c, 0xfb, 0x07, 0x4d, 0x0d, 0x24, - 0x22, 0x90, 0x3d, 0xab, 0x8c, 0x10, 0x14, 0x0d, 0xa2, 0x62, 0x9f, 0x0f, 0x2e, 0xa4, 0x41, 0x8b, - 0x8a, 0x4d, 0x3e, 0xb8, 0x40, 0x9d, 0xca, 0x0e, 0xa9, 0x2e, 0xed, 0xf7, 0x62, 0x60, 0x87, 0x58, - 0x53, 0x16, 0x61, 0xbd, 0x62, 0x54, 0x84, 0xb5, 0x5a, 0x50, 0x74, 0xdc, 0x13, 0x6f, 0xea, 0x0e, - 0x71, 0x7b, 0x97, 0x4c, 0xf5, 0x88, 0xde, 0x26, 0xe4, 0x44, 0xe2, 0x20, 0xa2, 0xdd, 0x5c, 0x12, - 0x80, 0xbe, 0x38, 0x8a, 0xde, 0x83, 0x72, 0x70, 0xed, 0x0e, 0xf4, 0x3d, 0xbc, 0x2c, 0xd7, 0x47, - 0xcc, 0x7e, 0xa3, 0x77, 0xed, 0x0e, 0x70, 0xc7, 0x96, 0x02, 0xf9, 0x8b, 0xbd, 0x0f, 0xa5, 0xc8, - 0xee, 0x4b, 0x1c, 0xf8, 0xb6, 0x5e, 0x43, 0x19, 0x7b, 0x49, 0xbd, 0x8e, 0x50, 0xd9, 0x23, 0x58, - 0x40, 0xe3, 0x6c, 0xd0, 0xaa, 0x62, 0x25, 0x25, 0xef, 0x8b, 0x61, 0xa0, 0xa3, 0x87, 0x0f, 0xd1, - 0x50, 0x6b, 0x4a, 0xb4, 0xf5, 0x67, 0x50, 0x4b, 0xb4, 0xa5, 0x2b, 0xd1, 0x35, 0x52, 0xa2, 0xdf, - 0xd2, 0x95, 0xe8, 0xf8, 0x24, 0x90, 0xd5, 0x74, 0xa5, 0xfa, 0x57, 0xa0, 0xa4, 0xa6, 0x22, 0xf6, - 0x9f, 0xdc, 0x3b, 0x56, 0xef, 0xb3, 0x83, 0xad, 0xc6, 0x2d, 0xb6, 0x08, 0x95, 0xf6, 0x16, 0x6e, - 0x69, 0x04, 0x64, 0x04, 0xca, 0x51, 0xbb, 0xd7, 0x8b, 0x20, 0x59, 0x63, 0x07, 0x1a, 0xb3, 0x23, - 0x15, 0x34, 0x19, 0x2a, 0x98, 0x34, 0x5d, 0xc7, 0x00, 0xa1, 0x22, 0x91, 0x35, 0x9a, 0xe4, 0x70, - 0x7a, 0x30, 0xde, 0x87, 0x86, 0x38, 0xd7, 0xc4, 0x52, 0x05, 0x9a, 0x09, 0x78, 0x24, 0x64, 0x3b, - 0xdd, 0x7c, 0x5d, 0x32, 0x2b, 0x04, 0xc3, 0xae, 0x8c, 0x0f, 0xa0, 0xa9, 0x55, 0x8b, 0x55, 0x5a, - 0x71, 0x56, 0xce, 0xaa, 0xb4, 0xa8, 0xc0, 0x50, 0x89, 0xb1, 0x06, 0x2b, 0xe2, 0xb1, 0x73, 0xc1, - 0xdd, 0xb0, 0x37, 0x3d, 0x21, 0x9f, 0xa3, 0xe3, 0xb9, 0x42, 0xb1, 0x29, 0x47, 0x25, 0x37, 0x13, - 0xf9, 0x86, 0xd4, 0x7e, 0xb3, 0x48, 0x1a, 0xeb, 0x5a, 0x0f, 0x58, 0x71, 0x03, 0xff, 0x26, 0xb4, - 0xe0, 0x72, 0x04, 0x12, 0xcb, 0x7a, 0xd4, 0xe9, 0x98, 0xd6, 0xe1, 0xc1, 0x5e, 0xf7, 0x40, 0x30, - 0x4a, 0xb1, 0xac, 0x08, 0xd8, 0xd9, 0x41, 0x48, 0xc6, 0x68, 0x40, 0xfd, 0x29, 0x0f, 0xbb, 0xee, - 0xa9, 0xa7, 0xfc, 0x6b, 0x7f, 0x55, 0x80, 0xc5, 0x08, 0x14, 0x6b, 0xd1, 0x17, 0xdc, 0x0f, 0x1c, - 0xcf, 0x45, 0x81, 0xb8, 0x6c, 0xaa, 0x47, 0x71, 0xba, 0x39, 0x43, 0xee, 0x86, 0x4e, 0x78, 0x6d, - 0x25, 0x4c, 0x6e, 0x75, 0x05, 0x96, 0xa7, 0xe8, 0x32, 0x14, 0xec, 0x91, 0x63, 0x2b, 0x57, 0x2d, - 0x3d, 0x08, 0xe8, 0xc0, 0x1b, 0x79, 0x3e, 0xca, 0xbe, 0x65, 0x93, 0x1e, 0xd8, 0x63, 0x58, 0x16, - 0x32, 0xb8, 0x6e, 0x07, 0x45, 0xfe, 0x41, 0xd6, 0x3f, 0xe6, 0x4e, 0xc7, 0x47, 0xb1, 0x2d, 0x54, - 0x94, 0x88, 0xb3, 0x53, 0xd4, 0x90, 0xc2, 0x52, 0x54, 0x81, 0xd4, 0xb9, 0xa6, 0x3b, 0x1d, 0xb7, - 0xb1, 0x24, 0xc2, 0x7f, 0x02, 0x2b, 0x02, 0x3f, 0x12, 0xaf, 0xa2, 0x1a, 0x8b, 0x58, 0x43, 0x34, - 0xd6, 0x95, 0x65, 0x51, 0x9d, 0x3b, 0x50, 0xa6, 0x51, 0x89, 0x37, 0x5e, 0x20, 0x31, 0x1e, 0x87, - 0xc2, 0xfd, 0x60, 0xce, 0xab, 0xba, 0x40, 0x82, 0xc0, 0x8c, 0x57, 0x55, 0xf3, 0xcb, 0x96, 0x66, - 0xfd, 0xb2, 0x4f, 0x60, 0xe5, 0x44, 0x90, 0xe0, 0x39, 0xb7, 0x87, 0xdc, 0xb7, 0x62, 0xc2, 0x26, - 0x75, 0x65, 0x49, 0x14, 0xee, 0x62, 0x59, 0xb4, 0x0f, 0x84, 0x9c, 0x23, 0xd8, 0x02, 0x1f, 0x5a, - 0xa1, 0x67, 0xa1, 0xf8, 0x83, 0x0c, 0xa6, 0x64, 0xd6, 0x08, 0xdc, 0xf7, 0xb6, 0x04, 0x30, 0x89, - 0x77, 0xe6, 0xdb, 0x93, 0x73, 0xa9, 0x50, 0x44, 0x78, 0x4f, 0x05, 0x90, 0xbd, 0x06, 0x45, 0x41, - 0xf2, 0x2e, 0x27, 0xe7, 0x17, 0x89, 0xec, 0x0a, 0xc4, 0xde, 0x82, 0x05, 0xec, 0x23, 0x68, 0x35, - 0x90, 0xde, 0xab, 0x31, 0x23, 0x77, 0x5c, 0x53, 0x96, 0x09, 0x61, 0x72, 0xea, 0x3b, 0xc4, 0x65, - 0xca, 0x26, 0xfe, 0x66, 0xdf, 0xd7, 0x58, 0xd6, 0x12, 0xd6, 0x55, 0xf2, 0xc0, 0x0c, 0xa5, 0xdd, - 0xc4, 0xbd, 0xbe, 0x52, 0x66, 0xf4, 0x83, 0x7c, 0xa9, 0xd2, 0xa8, 0x1a, 0xdf, 0x81, 0x02, 0xad, - 0x8e, 0x20, 0x42, 0x5c, 0xbb, 0x8c, 0x24, 0x42, 0x84, 0xb6, 0xa0, 0xe8, 0xf2, 0xf0, 0xd2, 0xf3, - 0x9f, 0x2b, 0xa3, 0xb4, 0x7c, 0x34, 0x7e, 0x8c, 0xd6, 0x94, 0xc8, 0xe3, 0x4e, 0x8a, 0xa1, 0x20, - 0x0f, 0x7a, 0xbd, 0xc1, 0xb9, 0x2d, 0x0d, 0x3c, 0x25, 0x04, 0xf4, 0xce, 0xed, 0x39, 0xf2, 0xc8, - 0xce, 0x3b, 0xdd, 0xdf, 0x82, 0xba, 0xf2, 0xf1, 0x07, 0xd6, 0x88, 0x9f, 0x86, 0x92, 0xdc, 0xab, - 0xd2, 0xc1, 0x1f, 0xec, 0xf1, 0xd3, 0xd0, 0xd8, 0x87, 0xa6, 0x24, 0xc8, 0xc3, 0x09, 0x57, 0x5d, - 0x7f, 0x37, 0x4d, 0x9e, 0xae, 0x3c, 0x59, 0x4a, 0x1e, 0xb4, 0x14, 0xbb, 0x90, 0x10, 0xb2, 0x8d, - 0x8f, 0x81, 0xe9, 0xc7, 0xb0, 0x6c, 0x4f, 0x4a, 0xb5, 0xca, 0x96, 0xaf, 0x5c, 0x62, 0x91, 0xec, - 0xec, 0x0c, 0xc5, 0xea, 0x04, 0xd3, 0xc1, 0x40, 0xc5, 0x5e, 0x94, 0x4c, 0xf5, 0x68, 0xfc, 0x69, - 0x06, 0x96, 0xb0, 0x31, 0xa5, 0x0f, 0x48, 0x26, 0xfb, 0x33, 0x0f, 0x52, 0xbc, 0x1f, 0x5d, 0xf6, - 0xa1, 0x87, 0x2f, 0x6f, 0x3d, 0xcd, 0xcf, 0x59, 0x4f, 0xbf, 0x0e, 0x8d, 0x21, 0x1f, 0x39, 0x18, - 0x86, 0xa3, 0x44, 0x09, 0xd2, 0x00, 0x16, 0x15, 0x5c, 0x6a, 0x83, 0xc6, 0x3f, 0xcb, 0x40, 0x93, - 0x24, 0x15, 0xd4, 0xab, 0xe5, 0x42, 0x7d, 0xa4, 0x14, 0x49, 0xc9, 0xaa, 0xe4, 0x9c, 0xe2, 0x13, - 0x1c, 0xa1, 0x84, 0xbc, 0x7b, 0x4b, 0x2a, 0x98, 0x12, 0xca, 0x3e, 0x44, 0x1d, 0xc6, 0xb5, 0x10, - 0x98, 0x12, 0xd6, 0x93, 0x7c, 0x29, 0xbb, 0xb7, 0x50, 0xc1, 0x71, 0x11, 0xb4, 0x59, 0x12, 0x9a, - 0xad, 0x00, 0x1b, 0x3b, 0x50, 0x4b, 0x74, 0x93, 0x30, 0xf1, 0x56, 0xc9, 0xc4, 0x3b, 0xe7, 0x46, - 0xc9, 0xce, 0xbb, 0x51, 0xfe, 0x5e, 0x1e, 0x98, 0x20, 0xa9, 0x99, 0xb7, 0x36, 0xe3, 0x83, 0xcc, - 0xce, 0xf9, 0x20, 0x1f, 0x03, 0xd3, 0x10, 0x94, 0x6b, 0x34, 0x17, 0xb9, 0x46, 0x1b, 0x31, 0xae, - 0xf4, 0x8c, 0x3e, 0x86, 0x65, 0x29, 0xd0, 0x46, 0x4e, 0x47, 0xb4, 0xdd, 0xd1, 0xfb, 0x61, 0x24, - 0xd9, 0x2a, 0xe7, 0x23, 0xda, 0xf1, 0x94, 0xff, 0x51, 0xe8, 0xe0, 0x64, 0xf2, 0x42, 0xff, 0xa3, - 0xd2, 0xbe, 0x35, 0x2a, 0x58, 0x78, 0x29, 0x15, 0x14, 0xe7, 0xa8, 0x40, 0xb3, 0xc0, 0x94, 0x92, - 0x16, 0x18, 0x03, 0x6a, 0xca, 0xcb, 0x48, 0xc1, 0x15, 0x24, 0xbd, 0x55, 0xa4, 0xab, 0x11, 0x03, - 0x2c, 0x1e, 0x40, 0x43, 0x99, 0x49, 0x22, 0x1b, 0x0f, 0x05, 0x0e, 0x48, 0x2b, 0xdb, 0x96, 0xb2, - 0xf4, 0x24, 0x2c, 0xea, 0x95, 0x19, 0x8b, 0xfa, 0xbb, 0xd0, 0x0c, 0x04, 0x11, 0x59, 0x53, 0x57, - 0x46, 0xf9, 0xf0, 0x21, 0xaa, 0x4e, 0x25, 0xb3, 0x81, 0x05, 0xc7, 0x31, 0x7c, 0xde, 0x7e, 0x51, - 0x4b, 0xb1, 0x5f, 0xbc, 0x1f, 0x3b, 0xe4, 0x82, 0x73, 0x67, 0x8c, 0x07, 0x77, 0x1c, 0x11, 0x23, - 0x17, 0xb8, 0x77, 0xee, 0x8c, 0x4d, 0xe5, 0xfd, 0x15, 0x0f, 0xc6, 0x7f, 0xcc, 0x40, 0x43, 0xd0, - 0x41, 0x82, 0xce, 0x7f, 0x09, 0x70, 0x47, 0xbe, 0x22, 0x99, 0x57, 0x04, 0xae, 0xa2, 0xf2, 0xef, - 0x00, 0x92, 0xad, 0x25, 0xf4, 0x44, 0x49, 0xe4, 0xad, 0x24, 0x91, 0xc7, 0x8c, 0x6c, 0xf7, 0x16, - 0x29, 0x00, 0x02, 0x92, 0xe6, 0x08, 0xcd, 0xa7, 0x38, 0x42, 0xb5, 0xad, 0xb0, 0x0b, 0xf0, 0x8c, - 0x5f, 0xef, 0x79, 0x03, 0xd4, 0xd0, 0xee, 0x02, 0x08, 0x82, 0x3c, 0xb5, 0xc7, 0x8e, 0xb4, 0xae, - 0x14, 0xcc, 0xf2, 0x73, 0x7e, 0xbd, 0x83, 0x00, 0xf1, 0x36, 0x44, 0x71, 0xbc, 0x1f, 0x0a, 0x66, - 0xe9, 0x39, 0xbf, 0xa6, 0xcd, 0x60, 0x41, 0xed, 0x19, 0xbf, 0xde, 0xe6, 0x24, 0xae, 0x79, 0xbe, - 0xa0, 0x04, 0xdf, 0xbe, 0x14, 0xf2, 0x59, 0xc2, 0x89, 0x59, 0xf1, 0xed, 0xcb, 0x67, 0xfc, 0x5a, - 0x39, 0x54, 0x8b, 0xa2, 0x7c, 0xe4, 0x0d, 0xe4, 0x09, 0xa4, 0xc2, 0x31, 0xe2, 0x41, 0x99, 0x0b, - 0xcf, 0xf1, 0xb7, 0xf1, 0xd7, 0x19, 0xa8, 0x89, 0xf1, 0x23, 0x83, 0x13, 0xeb, 0xae, 0xa2, 0x7a, - 0x32, 0x71, 0x54, 0xcf, 0x13, 0xc9, 0x1f, 0x88, 0x5b, 0x66, 0x6f, 0xe6, 0x96, 0xb8, 0xc0, 0xc4, - 0x2a, 0xdf, 0x83, 0x32, 0xed, 0x2d, 0xb1, 0x59, 0x73, 0x89, 0xb7, 0x94, 0x98, 0x90, 0x59, 0x42, - 0xb4, 0x67, 0x14, 0x44, 0xa0, 0x59, 0xea, 0x68, 0x89, 0xcb, 0x7e, 0x64, 0x9f, 0x4b, 0x79, 0x0d, - 0x85, 0x1b, 0x82, 0x08, 0x74, 0x33, 0xd8, 0xc2, 0x9c, 0x19, 0xec, 0x18, 0x2a, 0x1a, 0xd1, 0xa1, - 0xdd, 0x2f, 0x9a, 0x1d, 0x51, 0x68, 0x92, 0xaa, 0x12, 0xcb, 0xb3, 0x7b, 0xcb, 0xac, 0x0d, 0x74, - 0xc0, 0xe6, 0x02, 0xe4, 0x45, 0x25, 0xe3, 0x23, 0x68, 0x6a, 0xcd, 0x92, 0xba, 0x9a, 0x36, 0xe8, - 0x4c, 0x9a, 0x13, 0xfd, 0x9f, 0x67, 0x60, 0x59, 0xd6, 0xc6, 0x10, 0x31, 0x47, 0x9c, 0xe7, 0xfb, - 0xc1, 0x19, 0xfb, 0x25, 0xa8, 0x89, 0xd6, 0x2d, 0x9f, 0x9f, 0x39, 0x41, 0xc8, 0x95, 0x8f, 0x24, - 0x65, 0xf7, 0x08, 0xb6, 0x2e, 0x50, 0x4d, 0x89, 0xc9, 0x3e, 0x82, 0x0a, 0x56, 0x25, 0x85, 0x5a, - 0xbe, 0xb7, 0xd6, 0x7c, 0x45, 0x1a, 0xea, 0xee, 0x2d, 0x13, 0x82, 0xe8, 0x69, 0xb3, 0x0c, 0xc5, - 0xd0, 0x77, 0xce, 0xce, 0xb8, 0x6f, 0xac, 0x46, 0x43, 0x13, 0x5b, 0x91, 0xf7, 0x42, 0x3e, 0x11, - 0x52, 0x92, 0xf1, 0x5f, 0x32, 0x50, 0x91, 0x9b, 0xeb, 0x67, 0x76, 0x8c, 0xac, 0x6b, 0x31, 0x8e, - 0xa4, 0x3b, 0xc7, 0x21, 0x8d, 0xef, 0xc0, 0xe2, 0x58, 0x48, 0x4c, 0x42, 0xa2, 0x4f, 0x78, 0x45, - 0xea, 0x0a, 0x2c, 0x05, 0x96, 0x0d, 0x58, 0x42, 0xf9, 0x25, 0xb0, 0x42, 0x67, 0x64, 0xa9, 0x42, - 0x19, 0x4f, 0xd8, 0xa4, 0xa2, 0xbe, 0x33, 0xda, 0x97, 0x05, 0xe2, 0x18, 0x0f, 0x42, 0xfb, 0x8c, - 0x4b, 0xda, 0xa0, 0x07, 0xa3, 0x05, 0xab, 0x33, 0xc2, 0xbc, 0x52, 0x44, 0x7e, 0xbf, 0x09, 0x6b, - 0x73, 0x45, 0x52, 0x21, 0x89, 0xbc, 0x01, 0x23, 0x67, 0x7c, 0xe2, 0x45, 0xb6, 0xb2, 0x8c, 0xe6, - 0x0d, 0xd8, 0x13, 0x25, 0xca, 0x56, 0xc6, 0x61, 0x45, 0x11, 0x04, 0x1a, 0xbb, 0x22, 0x79, 0x3f, - 0x8b, 0xd2, 0xe8, 0x7b, 0x49, 0x4e, 0x36, 0xdb, 0x9d, 0x82, 0xeb, 0xe7, 0xe3, 0xd2, 0x64, 0x0e, - 0x16, 0xb0, 0xdf, 0x80, 0x56, 0x44, 0x77, 0x52, 0x80, 0xd2, 0x94, 0x17, 0xd1, 0xd3, 0x37, 0x5e, - 0xd2, 0x53, 0xc2, 0x8a, 0x82, 0x07, 0xe8, 0xaa, 0x22, 0x59, 0x6a, 0x30, 0xea, 0xeb, 0x02, 0x5e, - 0x57, 0x7d, 0xa1, 0x40, 0x34, 0xdf, 0x63, 0xfe, 0x95, 0xe6, 0x86, 0x16, 0xa2, 0x44, 0xb7, 0xe6, - 0x1d, 0xd9, 0x70, 0x54, 0xa4, 0xf7, 0x7b, 0x0e, 0xab, 0x97, 0xb6, 0x13, 0xaa, 0x39, 0x6a, 0xba, - 0x53, 0x01, 0xfb, 0x7b, 0xf2, 0x92, 0xfe, 0x3e, 0xa5, 0xca, 0x09, 0x11, 0x71, 0xf9, 0x72, 0x1e, - 0x18, 0xac, 0xff, 0x49, 0x16, 0xea, 0xc9, 0x56, 0xc4, 0xc6, 0x96, 0xcc, 0x4a, 0x09, 0x1d, 0x52, - 0x68, 0x97, 0x76, 0xdc, 0x03, 0x12, 0x36, 0xe6, 0x2d, 0xcc, 0xd9, 0x14, 0x0b, 0xb3, 0x6e, 0xd8, - 0xcd, 0xbd, 0xcc, 0x93, 0x96, 0x7f, 0x25, 0x4f, 0x5a, 0x21, 0xcd, 0x93, 0x76, 0xb3, 0xfb, 0x65, - 0xe1, 0x67, 0x72, 0xbf, 0x14, 0x5f, 0xe0, 0x7e, 0x49, 0x38, 0x8d, 0x4a, 0x33, 0x4e, 0xa3, 0xf5, - 0xbf, 0xce, 0x00, 0x9b, 0xa7, 0x65, 0xf6, 0x94, 0x4c, 0xed, 0x2e, 0x1f, 0x49, 0x3e, 0xf7, 0xcd, - 0x57, 0xdb, 0x0f, 0xea, 0xf5, 0xa9, 0xda, 0xec, 0x11, 0x2c, 0xe9, 0x31, 0xca, 0xba, 0xb6, 0x53, - 0x33, 0x99, 0x5e, 0x14, 0xeb, 0xc4, 0x9a, 0x93, 0x31, 0xff, 0x52, 0x27, 0x63, 0xe1, 0xa5, 0x4e, - 0xc6, 0x85, 0xa4, 0x93, 0x71, 0xfd, 0xbf, 0x65, 0x60, 0x29, 0x85, 0xe4, 0xbe, 0xba, 0x39, 0x0b, - 0x4a, 0x49, 0x30, 0xa1, 0xac, 0xa4, 0x14, 0x9d, 0xff, 0xec, 0x41, 0x25, 0xf6, 0x5b, 0xa9, 0x18, - 0xfe, 0x87, 0x2f, 0xe3, 0x05, 0x71, 0x0d, 0x53, 0xaf, 0xbe, 0xfe, 0x7b, 0x59, 0xa8, 0x68, 0x85, - 0x62, 0x15, 0x89, 0xc0, 0xb4, 0xd8, 0x0e, 0x92, 0x03, 0x50, 0x57, 0xbb, 0x07, 0xd2, 0x18, 0x4c, - 0xe5, 0xb4, 0x15, 0xe4, 0xa1, 0x8f, 0x08, 0x1b, 0xb0, 0xa4, 0xdc, 0x20, 0x3c, 0x0e, 0xe1, 0x92, - 0x27, 0x43, 0x53, 0x3a, 0x43, 0x78, 0x14, 0x11, 0xc6, 0x1e, 0x29, 0x09, 0x3e, 0x7e, 0x77, 0x48, - 0x98, 0x64, 0x69, 0x6d, 0x12, 0x39, 0xab, 0x97, 0x28, 0xa8, 0xf2, 0x3d, 0x58, 0x51, 0xc4, 0x9c, - 0xac, 0x41, 0xc6, 0x57, 0x26, 0x49, 0x59, 0xaf, 0xf2, 0x7d, 0xb8, 0x3b, 0x33, 0xa6, 0x99, 0xaa, - 0x14, 0x6b, 0x78, 0x3b, 0x31, 0x3a, 0xbd, 0x85, 0xf5, 0x9f, 0x40, 0x2d, 0xc1, 0xd6, 0xbe, 0xba, - 0x57, 0x3e, 0xab, 0x1f, 0xd3, 0x8a, 0xea, 0xfa, 0xf1, 0xfa, 0xff, 0xcd, 0x01, 0x9b, 0xe7, 0xac, - 0xbf, 0xc8, 0x21, 0xcc, 0x13, 0x66, 0x2e, 0x85, 0x30, 0xff, 0xbf, 0x9d, 0xf6, 0xef, 0x42, 0x53, - 0xe6, 0xb2, 0x68, 0xbe, 0x2c, 0xda, 0x9c, 0x8d, 0xa8, 0x40, 0x8d, 0xe2, 0x3b, 0xb3, 0x3e, 0xf5, - 0x52, 0x22, 0x7c, 0x5f, 0x13, 0x77, 0x66, 0x5c, 0xeb, 0xc7, 0xb0, 0x60, 0xbb, 0x83, 0x73, 0xcf, - 0x47, 0xd5, 0xac, 0xfe, 0xe4, 0x97, 0xbf, 0xf4, 0x61, 0xb7, 0xd1, 0xc6, 0xfa, 0x28, 0x63, 0x99, - 0xb2, 0x31, 0xe3, 0x3d, 0xa8, 0x68, 0x60, 0xf4, 0xef, 0x74, 0xf7, 0x37, 0x0f, 0x1b, 0xb7, 0x58, - 0x0d, 0xca, 0x66, 0x67, 0xeb, 0xf0, 0x93, 0x8e, 0xd9, 0xd9, 0x6e, 0x64, 0x58, 0x09, 0xf2, 0x7b, - 0x87, 0xbd, 0x7e, 0x23, 0x6b, 0xac, 0x43, 0x4b, 0xb6, 0x38, 0x6f, 0xeb, 0xfd, 0xed, 0x7c, 0x64, - 0x66, 0xc1, 0x42, 0xa9, 0x55, 0x7d, 0x0b, 0xaa, 0xba, 0x30, 0x22, 0x29, 0x62, 0xc6, 0x9d, 0x2a, - 0xf4, 0x29, 0x4f, 0xe3, 0xd5, 0x5b, 0x40, 0x4e, 0xb2, 0x61, 0x54, 0x8d, 0x24, 0xcc, 0x17, 0x78, - 0x55, 0x50, 0x78, 0x4e, 0x90, 0xe1, 0xdf, 0x80, 0x7a, 0xd2, 0xf0, 0x29, 0x39, 0x52, 0x9a, 0x7a, - 0x21, 0x6a, 0x27, 0x2c, 0xa1, 0xec, 0xfb, 0xd0, 0x98, 0x35, 0x9c, 0xca, 0x28, 0xe7, 0x1b, 0xea, - 0x2f, 0x3a, 0x49, 0x5b, 0x2a, 0xdb, 0x85, 0xe5, 0x34, 0x71, 0x0c, 0xe9, 0xe3, 0x66, 0xbd, 0x92, - 0xcd, 0x8b, 0x5c, 0xec, 0xbb, 0xd2, 0x3e, 0x5e, 0x48, 0xf3, 0x32, 0x6a, 0x8b, 0xbd, 0x41, 0xff, - 0x34, 0x4b, 0xf9, 0x05, 0x40, 0x0c, 0x63, 0x0d, 0xa8, 0x1e, 0x1e, 0x75, 0x0e, 0xac, 0xad, 0xdd, - 0xf6, 0xc1, 0x41, 0x67, 0xaf, 0x71, 0x8b, 0x31, 0xa8, 0xa3, 0x7b, 0x70, 0x3b, 0x82, 0x65, 0x04, - 0x4c, 0xfa, 0x29, 0x14, 0x2c, 0xcb, 0x96, 0xa1, 0xd1, 0x3d, 0x98, 0x81, 0xe6, 0x58, 0x0b, 0x96, - 0x8f, 0x3a, 0xe4, 0x51, 0x4c, 0xb4, 0x9b, 0x17, 0x22, 0xbe, 0x9c, 0xae, 0x10, 0xf1, 0x29, 0x27, - 0x4b, 0xee, 0x03, 0x25, 0xf9, 0xfe, 0x4e, 0x06, 0x56, 0x66, 0x0a, 0xe2, 0x48, 0x7b, 0x92, 0x7b, - 0x93, 0x12, 0x6f, 0x15, 0x81, 0x6a, 0x37, 0xbd, 0x0b, 0xcd, 0xc8, 0x56, 0x30, 0x73, 0x2a, 0x35, - 0xa2, 0x02, 0x85, 0xfc, 0x08, 0x96, 0x34, 0x93, 0xc3, 0x0c, 0xaf, 0x60, 0x5a, 0x91, 0xac, 0x60, - 0xac, 0x45, 0x11, 0xcd, 0x33, 0xa3, 0x1e, 0x52, 0xa2, 0x97, 0x5e, 0x10, 0xbb, 0x0f, 0x92, 0xe3, - 0x55, 0x8f, 0xec, 0xf1, 0x0c, 0x21, 0x24, 0x47, 0xab, 0xbf, 0x70, 0xd5, 0xfd, 0x1f, 0x2c, 0x00, - 0xfb, 0x78, 0xca, 0xfd, 0x6b, 0x8c, 0xa4, 0x0f, 0x5e, 0x16, 0x5a, 0xa6, 0xf4, 0xea, 0xec, 0x2b, - 0x65, 0xcb, 0xa4, 0x65, 0xab, 0xe4, 0x5f, 0x9e, 0xad, 0x52, 0x78, 0x59, 0xb6, 0xca, 0x9b, 0x50, - 0x73, 0xce, 0x5c, 0x4f, 0xb0, 0x42, 0x21, 0xb7, 0x06, 0xad, 0x85, 0xfb, 0xb9, 0x07, 0x55, 0xb3, - 0x2a, 0x81, 0x42, 0x6a, 0x0d, 0xd8, 0x47, 0x31, 0x12, 0x1f, 0x9e, 0x61, 0x66, 0x95, 0xce, 0x04, - 0x3b, 0xc3, 0x33, 0x2e, 0xcd, 0x08, 0xa8, 0x17, 0xa8, 0xca, 0x02, 0x1e, 0xb0, 0xb7, 0xa0, 0x1e, - 0x78, 0x53, 0xa1, 0x06, 0xa8, 0x65, 0x20, 0x07, 0x43, 0x95, 0xa0, 0x47, 0xca, 0x9b, 0xb4, 0x34, - 0x0d, 0xb8, 0x35, 0x76, 0x82, 0x40, 0x88, 0x67, 0x03, 0xcf, 0x0d, 0x7d, 0x6f, 0x24, 0x7d, 0x06, - 0xcd, 0x69, 0xc0, 0xf7, 0xa9, 0x64, 0x8b, 0x0a, 0xd8, 0xb7, 0xe3, 0x21, 0x4d, 0x6c, 0xc7, 0x0f, - 0x5a, 0x80, 0x43, 0x52, 0x33, 0x45, 0x69, 0xdb, 0x76, 0xfc, 0x68, 0x2c, 0xe2, 0x21, 0x98, 0xc9, - 0xa2, 0xa9, 0xcc, 0x66, 0xd1, 0xfc, 0x28, 0x3d, 0x8b, 0xa6, 0x86, 0x4d, 0x3f, 0x96, 0x4d, 0xcf, - 0xbf, 0xe2, 0x2f, 0x95, 0x4c, 0x33, 0x9f, 0x1c, 0x54, 0xff, 0x32, 0xc9, 0x41, 0x8b, 0x69, 0xc9, - 0x41, 0xef, 0x41, 0x05, 0xd3, 0x36, 0xac, 0x73, 0x47, 0xc8, 0x70, 0xe4, 0x03, 0x69, 0xe8, 0x79, - 0x1d, 0xbb, 0x8e, 0x1b, 0x9a, 0xe0, 0xab, 0x9f, 0xc1, 0x7c, 0x9e, 0x4e, 0xf3, 0x17, 0x98, 0xa7, - 0x23, 0xd3, 0x4b, 0x36, 0xa0, 0xa4, 0xde, 0x13, 0x63, 0x90, 0x3f, 0xf5, 0xbd, 0xb1, 0xb2, 0x0d, - 0x8b, 0xdf, 0xac, 0x0e, 0xd9, 0xd0, 0x93, 0x95, 0xb3, 0xa1, 0x67, 0xfc, 0x3a, 0x54, 0x34, 0x52, - 0x63, 0x6f, 0x90, 0x15, 0x4a, 0x68, 0x52, 0x52, 0xb6, 0xa4, 0x55, 0x2c, 0x4b, 0x68, 0x77, 0x28, - 0xf8, 0xcd, 0xd0, 0xf1, 0x39, 0x66, 0xd4, 0x59, 0x3e, 0xbf, 0xe0, 0x7e, 0xa0, 0x6c, 0xf5, 0x8d, - 0xa8, 0xc0, 0x24, 0xb8, 0xf1, 0xb7, 0x60, 0x29, 0xf1, 0x6e, 0x25, 0x8b, 0x78, 0x0b, 0x16, 0x70, - 0xdd, 0x94, 0x2f, 0x35, 0x99, 0x2f, 0x23, 0xcb, 0x30, 0x55, 0x9a, 0xdc, 0x0c, 0xd6, 0xc4, 0xf7, - 0x4e, 0xb0, 0x93, 0x8c, 0x59, 0x91, 0xb0, 0x23, 0xdf, 0x3b, 0x31, 0xfe, 0x3c, 0x07, 0xb9, 0x5d, - 0x6f, 0xa2, 0x87, 0x0f, 0x65, 0xe6, 0xc2, 0x87, 0xa4, 0x7a, 0x68, 0x45, 0xea, 0x9f, 0x94, 0xd9, - 0xd1, 0xc0, 0xae, 0x54, 0xc0, 0x07, 0x50, 0x17, 0x7c, 0x22, 0xf4, 0x84, 0x7e, 0x7d, 0x69, 0xfb, - 0x24, 0x10, 0xe7, 0x68, 0xf3, 0xd9, 0xe3, 0xb0, 0xef, 0xed, 0x10, 0x9c, 0x2d, 0x43, 0x2e, 0x52, - 0x5f, 0xb0, 0x58, 0x3c, 0xb2, 0x55, 0x58, 0xc0, 0x38, 0xd2, 0x6b, 0xe9, 0x2c, 0x94, 0x4f, 0xec, - 0x9b, 0xb0, 0x94, 0x6c, 0x97, 0x58, 0x91, 0x94, 0x8d, 0xf4, 0x86, 0x91, 0x27, 0xdd, 0x06, 0xc1, - 0x47, 0x08, 0x47, 0xc6, 0x1c, 0x9c, 0x72, 0x8e, 0x45, 0x1a, 0xd3, 0x2b, 0x25, 0x98, 0xde, 0x3d, - 0xa8, 0x84, 0xa3, 0x0b, 0x6b, 0x62, 0x5f, 0x8f, 0x3c, 0x7b, 0x28, 0xf7, 0x37, 0x84, 0xa3, 0x8b, - 0x23, 0x82, 0xb0, 0x47, 0x00, 0xe3, 0xc9, 0x44, 0xee, 0x3d, 0xb4, 0x57, 0xc7, 0xa4, 0xbc, 0x7f, - 0x74, 0x44, 0x24, 0x67, 0x96, 0xc7, 0x93, 0x09, 0xfd, 0x64, 0xdb, 0x50, 0x4f, 0xcd, 0x7a, 0xbb, - 0xab, 0xc2, 0x1e, 0xbd, 0xc9, 0x46, 0xca, 0xe6, 0xac, 0x0d, 0x74, 0xd8, 0xfa, 0xf7, 0x81, 0xfd, - 0x9c, 0xb9, 0x67, 0x7d, 0x28, 0x47, 0xe3, 0xd3, 0x53, 0xb7, 0x30, 0x90, 0xb9, 0x92, 0x48, 0xdd, - 0x6a, 0x0f, 0x87, 0xbe, 0xe0, 0x8b, 0x74, 0x60, 0x46, 0x2c, 0x1f, 0xb4, 0x13, 0xb3, 0x4d, 0x7c, - 0xdf, 0xf8, 0xcb, 0x0c, 0x14, 0x28, 0x8f, 0xec, 0x6d, 0x58, 0x24, 0xfc, 0x28, 0x14, 0x4b, 0xba, - 0x18, 0xe9, 0xdc, 0xed, 0xcb, 0x28, 0x2c, 0xb1, 0x2d, 0xb4, 0x1c, 0xd8, 0x6c, 0xf4, 0xe6, 0xb5, - 0x3c, 0xd8, 0x7b, 0x50, 0x8e, 0xba, 0xd6, 0x48, 0xa7, 0xa4, 0x7a, 0x66, 0xaf, 0x43, 0xfe, 0xdc, - 0x9b, 0x28, 0x3b, 0x0d, 0xc4, 0x2b, 0x69, 0x22, 0x3c, 0x1e, 0x8b, 0xe8, 0x83, 0x06, 0x2f, 0xed, - 0x0b, 0x51, 0x27, 0x48, 0x06, 0xf3, 0x73, 0x5c, 0x48, 0x99, 0xe3, 0x31, 0x2c, 0x0a, 0x3e, 0xa0, - 0xb9, 0xfa, 0x6f, 0x3e, 0x34, 0xbf, 0x2e, 0x24, 0xbc, 0xc1, 0x68, 0x3a, 0xe4, 0xba, 0xa5, 0x0c, - 0xe3, 0x82, 0x24, 0x5c, 0x49, 0xd6, 0xc6, 0x1f, 0x64, 0x88, 0xbf, 0x88, 0x76, 0xd9, 0x03, 0xc8, - 0x8b, 0xf3, 0x6d, 0xc6, 0x92, 0x1b, 0x45, 0x94, 0x0b, 0x3c, 0x13, 0x31, 0x30, 0x71, 0x7c, 0x3a, - 0x4e, 0xb6, 0x5e, 0x33, 0x2b, 0xee, 0x74, 0x1c, 0x19, 0x9a, 0xbe, 0xa6, 0xa6, 0x35, 0x63, 0xa4, - 0xa1, 0xd9, 0x47, 0xdb, 0x74, 0x43, 0x0b, 0x30, 0xca, 0x27, 0x4e, 0x4c, 0x25, 0x05, 0x0e, 0xcf, - 0xb8, 0x16, 0x58, 0xf4, 0x47, 0x59, 0xa8, 0x25, 0x46, 0x84, 0x11, 0x56, 0xe2, 0x00, 0x20, 0x37, - 0x82, 0x7c, 0xdf, 0x20, 0x40, 0x52, 0x50, 0xd7, 0xd6, 0x29, 0x9b, 0x58, 0xa7, 0x28, 0xa8, 0x21, - 0xa7, 0x07, 0x35, 0x3c, 0x86, 0x72, 0x9c, 0xfb, 0x9c, 0x1c, 0x92, 0xe8, 0x4f, 0xc5, 0xd5, 0xc7, - 0x48, 0x71, 0x18, 0x44, 0x41, 0x0f, 0x83, 0xf8, 0x9e, 0xe6, 0x35, 0x5f, 0xc0, 0x66, 0x8c, 0xb4, - 0x15, 0xfd, 0x85, 0xf8, 0xcc, 0x8d, 0x8f, 0xa0, 0xa2, 0x0d, 0x5e, 0xf7, 0x8e, 0x67, 0x12, 0xde, - 0xf1, 0x28, 0x03, 0x26, 0x1b, 0x67, 0xc0, 0x18, 0xbf, 0x99, 0x85, 0x9a, 0xd8, 0x5f, 0x8e, 0x7b, - 0x76, 0xe4, 0x8d, 0x9c, 0x01, 0xba, 0x15, 0xa2, 0x1d, 0x26, 0x05, 0x2d, 0xb5, 0xcf, 0xe4, 0x16, - 0x23, 0x39, 0x4b, 0x4f, 0xf4, 0x23, 0x26, 0x1d, 0x25, 0xfa, 0x19, 0x50, 0x13, 0x8c, 0xf1, 0xc4, - 0x0e, 0xb8, 0x96, 0x99, 0x6d, 0x56, 0x4e, 0x39, 0xdf, 0xb4, 0x03, 0xe2, 0x90, 0xdf, 0x84, 0x25, - 0x81, 0x83, 0x39, 0x4e, 0x63, 0x67, 0x34, 0x72, 0x08, 0x93, 0x0c, 0x4d, 0x8d, 0x53, 0xce, 0x4d, - 0x3b, 0xe4, 0xfb, 0xa2, 0x40, 0x26, 0x72, 0x97, 0x86, 0x4e, 0x60, 0x9f, 0xc4, 0x71, 0x70, 0xd1, - 0x33, 0x3a, 0x03, 0xed, 0x2b, 0xcd, 0x19, 0x48, 0x06, 0x88, 0xca, 0xd8, 0xbe, 0x8a, 0x9c, 0x81, - 0x33, 0x94, 0x54, 0x9c, 0xa5, 0x24, 0xe3, 0x3f, 0x67, 0xa1, 0xa2, 0x91, 0xe5, 0xab, 0x9c, 0xae, - 0x77, 0xe7, 0xdc, 0x40, 0x65, 0xdd, 0xe3, 0xf3, 0x66, 0xb2, 0x4b, 0x8c, 0x19, 0xa0, 0x94, 0x71, - 0x8d, 0x80, 0xef, 0x40, 0x59, 0xec, 0xba, 0xf7, 0xd0, 0x60, 0x2a, 0x2f, 0x3c, 0x40, 0xc0, 0xd1, - 0xf4, 0x44, 0x15, 0x3e, 0xc1, 0xc2, 0x42, 0x5c, 0xf8, 0x44, 0x14, 0xbe, 0x28, 0xf8, 0xf5, 0x3b, - 0x50, 0x95, 0xad, 0xe2, 0x3b, 0xc5, 0xe9, 0xc6, 0xbb, 0x3e, 0xf1, 0xbe, 0xcd, 0x0a, 0x75, 0x47, - 0x2f, 0x5f, 0x56, 0x7c, 0xa2, 0x2a, 0x96, 0x5e, 0x56, 0xf1, 0x09, 0x3d, 0x18, 0x3b, 0x51, 0x3c, - 0x31, 0xc6, 0xab, 0x28, 0x3e, 0xf6, 0x08, 0x96, 0x14, 0xbb, 0x9a, 0xba, 0xb6, 0xeb, 0x7a, 0x53, - 0x77, 0xc0, 0x55, 0x6a, 0x0c, 0x93, 0x45, 0xc7, 0x71, 0x89, 0x31, 0x8c, 0x72, 0x27, 0x29, 0xee, - 0xe5, 0x21, 0x14, 0x48, 0x2e, 0x27, 0xe1, 0x23, 0x9d, 0x71, 0x11, 0x0a, 0x7b, 0x00, 0x05, 0x12, - 0xcf, 0xb3, 0x37, 0x32, 0x1b, 0x42, 0x30, 0x36, 0x60, 0x11, 0x45, 0x4c, 0x8d, 0xe3, 0xbe, 0x48, - 0x2a, 0x31, 0x96, 0x81, 0x1d, 0xd0, 0x26, 0xd2, 0xe3, 0xb1, 0xfe, 0x7b, 0x0e, 0x2a, 0x1a, 0x58, - 0xb0, 0x45, 0x8c, 0xe0, 0xb1, 0x86, 0x8e, 0x3d, 0xe6, 0xca, 0x37, 0x55, 0x33, 0x6b, 0x08, 0xdd, - 0x96, 0x40, 0x71, 0x28, 0xd8, 0x17, 0x67, 0x96, 0x37, 0x0d, 0xad, 0x21, 0x3f, 0xf3, 0x39, 0x97, - 0xc2, 0x52, 0xd5, 0xbe, 0x38, 0x3b, 0x9c, 0x86, 0xdb, 0x08, 0x13, 0x58, 0x82, 0xa8, 0x35, 0x2c, - 0x19, 0x74, 0x32, 0xb6, 0xaf, 0x62, 0x2c, 0x19, 0xf9, 0x44, 0x4b, 0x94, 0x8f, 0x22, 0x9f, 0x48, - 0x6d, 0x99, 0xe5, 0xe4, 0x85, 0x79, 0x4e, 0xfe, 0x6d, 0x58, 0x25, 0x4e, 0x2e, 0x79, 0x84, 0x35, - 0x43, 0x52, 0xcb, 0x58, 0x2a, 0x27, 0xa9, 0xc9, 0x5f, 0x0d, 0x31, 0x03, 0xb5, 0x3f, 0x02, 0xe7, - 0xc7, 0xb4, 0xa3, 0x32, 0xa6, 0x98, 0x99, 0x6c, 0xbc, 0xe7, 0xfc, 0x98, 0x0b, 0x4c, 0xf4, 0xac, - 0xeb, 0x98, 0x32, 0xc6, 0x7a, 0xec, 0xb8, 0xb3, 0x98, 0xf6, 0x55, 0x12, 0xb3, 0x2c, 0x31, 0xed, - 0x2b, 0x1d, 0xf3, 0x7d, 0x58, 0x1b, 0xf3, 0xa1, 0x63, 0x27, 0x9b, 0xb5, 0x62, 0x09, 0x62, 0x99, - 0x8a, 0xb5, 0x3a, 0x3d, 0xd2, 0x20, 0xc5, 0x6a, 0xfc, 0xd8, 0x1b, 0x9f, 0x38, 0x74, 0x78, 0x92, - 0xaf, 0x3f, 0x6f, 0xd6, 0xdd, 0xe9, 0xf8, 0x87, 0x08, 0x16, 0x55, 0x02, 0xa3, 0x06, 0x95, 0x5e, - 0xe8, 0x4d, 0xd4, 0x6b, 0xae, 0x43, 0x95, 0x1e, 0x65, 0xe2, 0xd3, 0x1d, 0xb8, 0x8d, 0xb4, 0xd9, - 0xf7, 0x26, 0xde, 0xc8, 0x3b, 0xbb, 0x4e, 0x18, 0x94, 0xfe, 0x6b, 0x06, 0x96, 0x12, 0xa5, 0x72, - 0x9f, 0x7f, 0x9b, 0x36, 0x56, 0x94, 0xbd, 0x42, 0xe4, 0xdc, 0xd4, 0x0e, 0x1f, 0x42, 0xa4, 0x5d, - 0xa5, 0x32, 0x5a, 0xda, 0x71, 0xd6, 0xb5, 0xaa, 0x48, 0xb4, 0xdd, 0x9a, 0xa7, 0x6d, 0x59, 0x5f, - 0xe5, 0x63, 0xab, 0x26, 0x7e, 0x59, 0xc6, 0xc1, 0x0f, 0xe5, 0x94, 0x73, 0xc9, 0x48, 0x5f, 0xdd, - 0xf8, 0xa4, 0x46, 0x10, 0x5b, 0xa4, 0x02, 0xe3, 0xdf, 0x64, 0x00, 0xe2, 0xd1, 0x61, 0xac, 0x71, - 0x74, 0x80, 0xd2, 0x85, 0x46, 0xda, 0x61, 0xf9, 0x06, 0x54, 0xa3, 0x90, 0xc3, 0xf8, 0x48, 0xae, - 0x28, 0x98, 0x38, 0x97, 0xdf, 0x81, 0xc5, 0xb3, 0x91, 0x77, 0x82, 0xa2, 0x93, 0x3c, 0x40, 0x29, - 0xfd, 0xab, 0x4e, 0x60, 0x75, 0x2c, 0xc6, 0x07, 0x78, 0x3e, 0x35, 0x2a, 0x51, 0x3f, 0x8e, 0x8d, - 0xdf, 0xca, 0x46, 0xb1, 0x57, 0xf1, 0x4a, 0xbc, 0x58, 0xcf, 0xf8, 0x59, 0x5c, 0xf8, 0x2f, 0xf2, - 0x4a, 0x7d, 0x04, 0x75, 0x9f, 0xb8, 0xa3, 0x62, 0x9d, 0xf9, 0x17, 0xb0, 0xce, 0x9a, 0x9f, 0x38, - 0x72, 0xbf, 0x0e, 0x0d, 0x7b, 0x78, 0xc1, 0xfd, 0xd0, 0x41, 0xb3, 0x31, 0x0a, 0x6a, 0x32, 0xda, - 0x49, 0x83, 0xa3, 0x44, 0xf4, 0x0e, 0x2c, 0xca, 0x64, 0xbc, 0x08, 0x53, 0x5e, 0xef, 0x11, 0x83, - 0x05, 0xa2, 0xf1, 0xef, 0x54, 0xb0, 0x57, 0xf2, 0xed, 0xbe, 0x78, 0x55, 0xf4, 0x19, 0x66, 0xe7, - 0xfd, 0x6e, 0x92, 0x90, 0xa4, 0x35, 0x5a, 0xf2, 0x23, 0x02, 0x4a, 0x5b, 0x74, 0x72, 0x59, 0xf3, - 0xaf, 0xb2, 0xac, 0xc6, 0x9f, 0x64, 0xa0, 0xb8, 0xeb, 0x4d, 0x84, 0x5e, 0x2e, 0xe4, 0x39, 0xdc, - 0x26, 0x91, 0xb3, 0x64, 0x41, 0x3c, 0x76, 0x87, 0x2f, 0xce, 0x39, 0x49, 0x95, 0x37, 0x6a, 0x49, - 0x79, 0xe3, 0x7b, 0x70, 0x07, 0x7d, 0x51, 0xbe, 0x37, 0xf1, 0x7c, 0xb1, 0x55, 0xed, 0x11, 0xc9, - 0x1d, 0x9e, 0x1b, 0x9e, 0x2b, 0xde, 0x79, 0xfb, 0x94, 0xf3, 0x23, 0x0d, 0x63, 0x3f, 0x42, 0xc0, - 0xac, 0xae, 0x51, 0x78, 0x61, 0x91, 0xaa, 0x28, 0x05, 0x23, 0xe2, 0xa8, 0x8b, 0xa2, 0xa0, 0x83, - 0x70, 0x14, 0x8d, 0x8c, 0xef, 0x42, 0x39, 0xb2, 0x3a, 0xb0, 0x77, 0xa1, 0x7c, 0xee, 0x4d, 0xa4, - 0x69, 0x22, 0x93, 0xc8, 0xcb, 0x91, 0xb3, 0x36, 0x4b, 0xe7, 0xf4, 0x23, 0x30, 0xfe, 0xbc, 0x08, - 0xc5, 0xae, 0x7b, 0xe1, 0x39, 0x03, 0x0c, 0x17, 0x1b, 0xf3, 0xb1, 0xa7, 0x32, 0x82, 0xc5, 0x6f, - 0x0c, 0x09, 0x89, 0x2f, 0xe9, 0xc8, 0xc9, 0x90, 0x90, 0xe8, 0x7a, 0x8e, 0x15, 0x58, 0xf0, 0xf5, - 0x5b, 0x36, 0x0a, 0x3e, 0x06, 0xb0, 0x46, 0x4a, 0x5b, 0x41, 0xcb, 0xa8, 0x16, 0x6d, 0xd1, 0xed, - 0x0f, 0xb8, 0x64, 0x94, 0xa1, 0x55, 0x46, 0x08, 0x2e, 0xd8, 0x6b, 0x50, 0x94, 0x69, 0x30, 0x94, - 0x54, 0x40, 0x11, 0xa7, 0x12, 0x84, 0xd4, 0xe0, 0x73, 0xf2, 0x25, 0x46, 0x12, 0x95, 0xd0, 0xd3, - 0x25, 0x70, 0x5b, 0xd0, 0xda, 0x3d, 0xa8, 0x10, 0x3e, 0xa1, 0x94, 0x64, 0x80, 0x17, 0x82, 0x10, - 0x21, 0xe5, 0xb2, 0x9a, 0x72, 0xea, 0x65, 0x35, 0x18, 0x0f, 0x18, 0x71, 0x59, 0x9a, 0x22, 0xd0, - 0x15, 0x25, 0x1a, 0x5c, 0xdd, 0xd4, 0x24, 0x95, 0x7b, 0x4a, 0x58, 0x54, 0xca, 0xfd, 0x9b, 0x50, - 0x3b, 0xb5, 0x47, 0xa3, 0x13, 0x7b, 0xf0, 0x9c, 0x74, 0xd2, 0x2a, 0x99, 0xe1, 0x14, 0x10, 0x95, - 0xd2, 0x7b, 0x50, 0xd1, 0xde, 0x32, 0x46, 0x6f, 0xe5, 0x4d, 0x88, 0xdf, 0xef, 0xac, 0xa9, 0xa9, - 0xfe, 0x0a, 0xa6, 0x26, 0x2d, 0x8a, 0x6d, 0x31, 0x19, 0xc5, 0x76, 0x07, 0xb9, 0xa9, 0x8c, 0x74, - 0x6a, 0xd0, 0x7d, 0x18, 0xf6, 0x70, 0x88, 0x91, 0x4e, 0x74, 0xf9, 0x1c, 0x2e, 0x1e, 0x95, 0x37, - 0x49, 0xa8, 0x25, 0x18, 0xa1, 0xdc, 0x25, 0x7b, 0xe9, 0xc4, 0x76, 0x86, 0x18, 0x35, 0x4c, 0x6a, - 0x6c, 0xd1, 0x1e, 0x87, 0x47, 0xb6, 0x33, 0x64, 0xf7, 0xa1, 0xaa, 0x8a, 0xf1, 0x74, 0x5c, 0xa2, - 0xf5, 0x97, 0xc5, 0xe2, 0x4c, 0x34, 0xa0, 0x16, 0x61, 0x8c, 0xe3, 0xac, 0xc3, 0x8a, 0x44, 0x41, - 0x3a, 0x78, 0x0f, 0x83, 0x43, 0x42, 0x8e, 0xb9, 0x85, 0xf5, 0x27, 0x77, 0xe4, 0x5c, 0x25, 0x95, - 0xaa, 0xff, 0xe4, 0xa5, 0x21, 0x4c, 0x21, 0x88, 0x91, 0xb3, 0x68, 0x35, 0x21, 0x88, 0x49, 0x54, - 0x74, 0x16, 0x11, 0x02, 0xfb, 0xae, 0xa6, 0x48, 0xb5, 0x10, 0xf9, 0xb5, 0x99, 0xf6, 0x6f, 0x4a, - 0x9a, 0xb8, 0x0b, 0xe0, 0x04, 0xe2, 0x94, 0x09, 0xb8, 0x3b, 0xc4, 0x34, 0xc1, 0x92, 0x59, 0x76, - 0x82, 0x67, 0x04, 0xf8, 0x6a, 0x35, 0xac, 0x36, 0x54, 0xf5, 0x69, 0xb2, 0x12, 0xe4, 0x0f, 0x8f, - 0x3a, 0x07, 0x8d, 0x5b, 0xac, 0x02, 0xc5, 0x5e, 0xa7, 0xdf, 0xdf, 0x43, 0x97, 0x53, 0x15, 0x4a, - 0x51, 0x8e, 0x52, 0x56, 0x3c, 0xb5, 0xb7, 0xb6, 0x3a, 0x47, 0xfd, 0xce, 0x76, 0x23, 0xf7, 0x83, - 0x7c, 0x29, 0xdb, 0xc8, 0x19, 0x7f, 0x91, 0x83, 0x8a, 0xb6, 0x0a, 0x2f, 0x66, 0xc6, 0x77, 0x01, - 0x50, 0xa5, 0x89, 0x03, 0xe1, 0xf2, 0x66, 0x59, 0x40, 0xe8, 0xe5, 0xeb, 0xc6, 0xf2, 0x1c, 0x5d, - 0xb4, 0xa2, 0x8c, 0xe5, 0x6f, 0x42, 0x8d, 0xee, 0x2c, 0xd1, 0x1d, 0x87, 0x05, 0xb3, 0x4a, 0x40, - 0xc9, 0xaa, 0x31, 0xc9, 0x11, 0x91, 0x30, 0xfd, 0x45, 0xde, 0x60, 0x40, 0x20, 0x4c, 0x80, 0xc1, - 0xec, 0xa5, 0xc0, 0x1b, 0x5d, 0x70, 0xc2, 0x20, 0x89, 0xb0, 0x22, 0x61, 0x7d, 0x99, 0xae, 0x29, - 0xf9, 0xa1, 0x96, 0x65, 0x57, 0x30, 0xab, 0x04, 0x94, 0x1d, 0x7d, 0x53, 0x11, 0x50, 0x09, 0x09, - 0x68, 0x6d, 0x9e, 0x1a, 0x12, 0xc4, 0xb3, 0x37, 0x67, 0xcf, 0x2a, 0x23, 0x61, 0x7c, 0x6d, 0xbe, - 0xde, 0xcb, 0xed, 0x5a, 0xec, 0x5d, 0x60, 0xe3, 0xc9, 0xc4, 0x4a, 0xb1, 0x34, 0xe5, 0xcd, 0xc5, - 0xf1, 0x64, 0xd2, 0xd7, 0x0c, 0x31, 0x5f, 0x81, 0x11, 0xec, 0x73, 0x60, 0x6d, 0xb1, 0x81, 0x71, - 0x88, 0x91, 0x09, 0x35, 0x66, 0xcb, 0x19, 0x9d, 0x2d, 0xa7, 0x70, 0xbf, 0x6c, 0x2a, 0xf7, 0x7b, - 0x11, 0x9f, 0x30, 0x76, 0xa0, 0x72, 0xa4, 0xdd, 0x88, 0x74, 0x5f, 0x9c, 0x10, 0xea, 0x2e, 0x24, - 0x3a, 0x3b, 0xc8, 0xb8, 0xe5, 0xcb, 0x2b, 0x90, 0xb4, 0xd1, 0x64, 0xb5, 0xd1, 0x18, 0xff, 0x3a, - 0x43, 0xb7, 0x4d, 0x44, 0x83, 0x8f, 0x2f, 0x61, 0x52, 0x7e, 0xa0, 0x38, 0x19, 0xb6, 0xa2, 0xfc, - 0x3f, 0x32, 0x8f, 0x15, 0x87, 0x66, 0x79, 0xa7, 0xa7, 0x01, 0x57, 0xc1, 0x06, 0x15, 0x84, 0x1d, - 0x22, 0x48, 0x09, 0xdf, 0x42, 0xc2, 0x77, 0xa8, 0xfd, 0x40, 0x46, 0x18, 0x08, 0xe1, 0x7b, 0xdf, - 0xbe, 0x92, 0xbd, 0x06, 0x42, 0x04, 0x91, 0x86, 0x6a, 0x95, 0xcc, 0x16, 0x3d, 0x1b, 0xff, 0x42, - 0xe6, 0xeb, 0xce, 0xae, 0xef, 0x43, 0x28, 0x45, 0xad, 0x26, 0x4f, 0x58, 0x85, 0x19, 0x95, 0x8b, - 0x73, 0x1c, 0xb5, 0xf2, 0xc4, 0x88, 0x69, 0x73, 0xa1, 0xb3, 0xa1, 0xab, 0x8d, 0xfa, 0x1b, 0xc0, - 0x4e, 0x1d, 0x7f, 0x16, 0x99, 0x36, 0x5b, 0x03, 0x4b, 0x34, 0x6c, 0xe3, 0x18, 0x96, 0x14, 0x97, - 0xd0, 0x34, 0x82, 0xe4, 0xcb, 0xcb, 0xbc, 0x84, 0xc9, 0x67, 0xe7, 0x98, 0xbc, 0xf1, 0xd3, 0x3c, - 0x14, 0xd5, 0xed, 0x62, 0x69, 0x37, 0x62, 0x95, 0x93, 0x37, 0x62, 0xb5, 0x12, 0xb7, 0xa7, 0xe0, - 0xab, 0x97, 0xe7, 0xfd, 0x3b, 0xb3, 0x47, 0xb6, 0x66, 0x34, 0x4f, 0x1c, 0xdb, 0xab, 0x90, 0x9f, - 0xd8, 0xe1, 0x39, 0x1a, 0xc8, 0x88, 0x78, 0xf0, 0x59, 0x19, 0xd3, 0x0b, 0x49, 0x63, 0x7a, 0xda, - 0xed, 0x61, 0x24, 0x92, 0xce, 0xdd, 0x1e, 0x76, 0x07, 0x48, 0xbe, 0xd0, 0x62, 0xa5, 0x4a, 0x08, - 0x10, 0x67, 0x51, 0x52, 0x1c, 0x29, 0xcd, 0x8a, 0x23, 0xaf, 0x2c, 0x2a, 0x7c, 0x1b, 0x16, 0x28, - 0xf3, 0x5e, 0x26, 0xed, 0xa9, 0x03, 0x45, 0xae, 0xa1, 0xfa, 0x4f, 0x51, 0xd4, 0xa6, 0xc4, 0xd5, - 0xaf, 0xe2, 0xa9, 0x24, 0xae, 0xe2, 0xd1, 0x8d, 0xfc, 0xd5, 0xa4, 0x91, 0xff, 0x01, 0x34, 0xa2, - 0x05, 0x45, 0x93, 0x99, 0x1b, 0xc8, 0x94, 0xa0, 0xba, 0x82, 0x0b, 0x2e, 0x79, 0x10, 0xc4, 0x07, - 0x62, 0x3d, 0x71, 0x20, 0x0a, 0x1e, 0xd6, 0x0e, 0x43, 0x3e, 0x9e, 0x84, 0xf2, 0x40, 0xc4, 0xa4, - 0x01, 0x7d, 0x80, 0xc9, 0x74, 0xd6, 0x1a, 0x94, 0xbb, 0x07, 0xd6, 0xce, 0x5e, 0xf7, 0xe9, 0x6e, - 0xbf, 0x91, 0x11, 0x8f, 0xbd, 0xe3, 0xad, 0xad, 0x4e, 0x67, 0x1b, 0x4f, 0x1c, 0x80, 0x85, 0x9d, - 0x76, 0x57, 0x9c, 0x3e, 0x39, 0xe3, 0x77, 0xb2, 0x50, 0xd1, 0x9a, 0x67, 0xef, 0x47, 0xab, 0x42, - 0xb7, 0xb5, 0xdc, 0x9d, 0x1f, 0xc2, 0x86, 0x62, 0xc5, 0xda, 0xb2, 0x44, 0x77, 0xa5, 0x65, 0x6f, - 0xbc, 0x2b, 0x8d, 0xbd, 0x0d, 0x8b, 0x36, 0xb5, 0x10, 0xad, 0x82, 0x34, 0x07, 0x4b, 0xb0, 0x5c, - 0x04, 0x8c, 0x10, 0x8c, 0xcf, 0x13, 0x81, 0x97, 0x57, 0x41, 0x79, 0xd1, 0x91, 0x82, 0x8b, 0x55, - 0x3c, 0xb5, 0x9d, 0xd1, 0xd4, 0xe7, 0xd2, 0x7d, 0x1b, 0x9d, 0xcc, 0x04, 0x35, 0x55, 0xb1, 0xf1, - 0x01, 0x40, 0x3c, 0xe6, 0xe4, 0xe2, 0xdc, 0x4a, 0x2e, 0x4e, 0x46, 0x5b, 0x9c, 0xac, 0xb1, 0x4d, - 0x6c, 0x44, 0x2e, 0x74, 0xe4, 0xa9, 0xfe, 0x26, 0x28, 0x8b, 0x94, 0x85, 0x71, 0xba, 0x93, 0x11, - 0x0f, 0x55, 0xe2, 0x6f, 0x53, 0x96, 0x74, 0xa3, 0x02, 0x95, 0x87, 0x1f, 0xb7, 0x12, 0x73, 0x23, - 0x49, 0x92, 0xb3, 0xdc, 0x48, 0xa2, 0x9a, 0x51, 0xb9, 0xb1, 0x0e, 0xad, 0x6d, 0x2e, 0x5a, 0x6b, - 0x8f, 0x46, 0x33, 0xc3, 0x31, 0xee, 0xc0, 0xed, 0x94, 0x32, 0x69, 0x84, 0xf8, 0x18, 0x56, 0xda, - 0x94, 0xe3, 0xfb, 0x55, 0x25, 0xf3, 0x18, 0x2d, 0x58, 0x9d, 0x6d, 0x52, 0x76, 0xb6, 0x03, 0xcd, - 0x6d, 0x7e, 0x32, 0x3d, 0xdb, 0xe3, 0x17, 0x71, 0x47, 0x0c, 0xf2, 0xc1, 0xb9, 0x77, 0x29, 0xd7, - 0x07, 0x7f, 0x63, 0xb8, 0x9b, 0xc0, 0xb1, 0x82, 0x09, 0x1f, 0x28, 0x8b, 0x28, 0x42, 0x7a, 0x13, - 0x3e, 0x30, 0xde, 0x07, 0xa6, 0xb7, 0x23, 0xd7, 0x4b, 0x68, 0x09, 0xd3, 0x13, 0x2b, 0xb8, 0x0e, - 0x42, 0x3e, 0x56, 0x97, 0x01, 0x41, 0x30, 0x3d, 0xe9, 0x11, 0xc4, 0x78, 0x07, 0xaa, 0x47, 0xf6, - 0xb5, 0xc9, 0x3f, 0x97, 0x69, 0x2a, 0x6b, 0x50, 0x9c, 0xd8, 0xd7, 0x82, 0x0d, 0x44, 0xce, 0x11, - 0x2c, 0x36, 0xfe, 0x30, 0x0f, 0x0b, 0x84, 0xc9, 0xee, 0xd3, 0x7d, 0x9d, 0x8e, 0x8b, 0xdb, 0x50, - 0x31, 0x4a, 0x0d, 0x34, 0xc7, 0x4b, 0xb3, 0xf3, 0xbc, 0x54, 0x1a, 0xd0, 0xd4, 0x3d, 0x25, 0xca, - 0x8c, 0xed, 0x4e, 0xc7, 0xea, 0x72, 0x92, 0x64, 0xa2, 0x6b, 0x3e, 0xbe, 0x8f, 0x95, 0xb2, 0x00, - 0x93, 0x8e, 0xc6, 0x58, 0x17, 0xa1, 0xd1, 0xa9, 0x23, 0x42, 0xb2, 0x4b, 0x1d, 0x94, 0xaa, 0xf0, - 0x14, 0x55, 0x02, 0x54, 0x52, 0xe1, 0x99, 0x53, 0x6c, 0x4a, 0x2f, 0x57, 0x6c, 0xc8, 0xb2, 0xf6, - 0x02, 0xc5, 0x06, 0x5e, 0x41, 0xb1, 0x79, 0x05, 0x27, 0xdf, 0x6d, 0x28, 0xe1, 0xb9, 0xaf, 0x71, - 0x4f, 0x71, 0xde, 0x0b, 0xee, 0xf9, 0x1d, 0x4d, 0xf4, 0xa7, 0x08, 0x83, 0x3b, 0xf1, 0x36, 0x31, - 0xf9, 0xe7, 0xbf, 0x18, 0xe7, 0xc9, 0x67, 0x50, 0x94, 0x50, 0x41, 0xd0, 0xae, 0x3d, 0x56, 0x57, - 0x3d, 0xe1, 0x6f, 0xb1, 0x6c, 0x78, 0x3f, 0xcd, 0xe7, 0x53, 0xc7, 0xe7, 0x43, 0x75, 0x87, 0x87, - 0x83, 0x7b, 0x54, 0x40, 0xc4, 0x04, 0x85, 0x1a, 0xe2, 0x7a, 0x97, 0xae, 0xcc, 0xe0, 0x2f, 0x3a, - 0xc1, 0x33, 0xf1, 0x68, 0x30, 0x68, 0xe0, 0x65, 0x6f, 0x13, 0xcf, 0x57, 0x87, 0x93, 0xf1, 0xd3, - 0x0c, 0x34, 0xe4, 0xee, 0x8a, 0xca, 0x74, 0x2d, 0xa0, 0x70, 0x93, 0x43, 0xfc, 0xc5, 0x37, 0x72, - 0x18, 0x50, 0x43, 0xe3, 0x47, 0x74, 0x52, 0x91, 0xf1, 0xa6, 0x22, 0x80, 0x3b, 0xf2, 0xb4, 0x7a, - 0x1d, 0x2a, 0x2a, 0x18, 0x77, 0xec, 0x8c, 0xd4, 0xd5, 0xcb, 0x14, 0x8d, 0xbb, 0xef, 0x8c, 0xd4, - 0x41, 0xe7, 0xdb, 0x32, 0x21, 0x2f, 0x83, 0x07, 0x9d, 0x69, 0x87, 0xdc, 0xf8, 0x0f, 0x19, 0x68, - 0x6a, 0x53, 0x91, 0xfb, 0xf6, 0x43, 0xa8, 0x46, 0xb7, 0x2c, 0xf2, 0x48, 0xf2, 0x5a, 0x4b, 0x32, - 0x9a, 0xb8, 0x5a, 0x65, 0x10, 0x41, 0x02, 0x31, 0x98, 0xa1, 0x7d, 0x4d, 0x11, 0xa3, 0xd3, 0xb1, - 0x52, 0x6e, 0x86, 0xf6, 0xf5, 0x0e, 0xe7, 0xbd, 0xe9, 0x58, 0xa8, 0xae, 0x97, 0x9c, 0x3f, 0x8f, - 0x10, 0x48, 0xe6, 0x02, 0x01, 0x93, 0x18, 0x06, 0xd4, 0xc6, 0x9e, 0x1b, 0x9e, 0x47, 0x28, 0x52, - 0xea, 0x44, 0x20, 0xe1, 0x18, 0x7f, 0x96, 0x85, 0x25, 0x32, 0xb1, 0x49, 0xd3, 0xa6, 0x64, 0x5d, - 0x2d, 0x58, 0x20, 0x6b, 0x23, 0x31, 0xaf, 0xdd, 0x5b, 0xa6, 0x7c, 0x66, 0xdf, 0x7e, 0x45, 0xb3, - 0xa0, 0xca, 0xf9, 0xbb, 0x61, 0xf9, 0x73, 0xf3, 0xcb, 0x7f, 0xf3, 0xf2, 0xa6, 0x79, 0xdc, 0x0a, - 0x69, 0x1e, 0xb7, 0x57, 0xf1, 0x73, 0xcd, 0x25, 0xc6, 0x15, 0x25, 0x8e, 0x96, 0x18, 0xf7, 0x3e, - 0xac, 0x25, 0x70, 0x90, 0x5b, 0x3b, 0xa7, 0x0e, 0x57, 0x17, 0x24, 0x2c, 0x6b, 0xd8, 0x3d, 0x55, - 0xb6, 0x59, 0x84, 0x42, 0x30, 0xf0, 0x26, 0xdc, 0x58, 0x85, 0xe5, 0xe4, 0xaa, 0xca, 0x63, 0xe2, - 0x77, 0x33, 0xd0, 0x92, 0xf1, 0x11, 0x8e, 0x7b, 0xb6, 0xeb, 0x04, 0xa1, 0xe7, 0x47, 0xb7, 0x11, - 0xde, 0x05, 0x08, 0x42, 0xdb, 0x97, 0xda, 0xa6, 0xbc, 0x12, 0x00, 0x21, 0xa8, 0x49, 0xde, 0x86, - 0x12, 0x77, 0x87, 0x54, 0x48, 0xd4, 0x50, 0xe4, 0xee, 0x50, 0xe9, 0xa1, 0x73, 0xf2, 0x77, 0x2d, - 0xa9, 0x5e, 0xc8, 0x0c, 0x5d, 0xb1, 0x3a, 0xfc, 0x02, 0x0f, 0xde, 0x7c, 0x94, 0xa1, 0xbb, 0x6f, - 0x5f, 0x61, 0xb4, 0x61, 0x60, 0xfc, 0xd3, 0x2c, 0x2c, 0xc6, 0xe3, 0xa3, 0xf4, 0xfe, 0x17, 0x5f, - 0x54, 0x70, 0x5f, 0x92, 0x83, 0x23, 0xe4, 0x77, 0xcd, 0xf0, 0x58, 0xa2, 0xcd, 0xd9, 0x75, 0x99, - 0x01, 0x15, 0x85, 0xe1, 0x4d, 0x43, 0xed, 0x52, 0xb0, 0x32, 0xa1, 0x1c, 0x4e, 0x43, 0xa1, 0x70, - 0x09, 0xcd, 0xd3, 0x71, 0xa5, 0xca, 0x53, 0xb0, 0xc7, 0x61, 0x17, 0xef, 0x1a, 0x17, 0x60, 0x51, - 0x8d, 0x5e, 0xa4, 0xc0, 0x12, 0xf8, 0x0d, 0x92, 0xb3, 0xe9, 0xcd, 0xa1, 0x8c, 0xad, 0x0b, 0xa1, - 0x74, 0xed, 0x6a, 0x24, 0x84, 0xbe, 0x0e, 0x15, 0x6a, 0x3c, 0xce, 0x83, 0xcc, 0x9b, 0x65, 0xec, - 0x01, 0xcb, 0xa5, 0x11, 0xc8, 0x9b, 0x26, 0x54, 0x5f, 0xa0, 0xae, 0x30, 0xfc, 0xe0, 0x1f, 0x66, - 0xe0, 0x76, 0xca, 0x6b, 0x93, 0xbb, 0x7c, 0x0b, 0x9a, 0xa7, 0x51, 0xa1, 0x5a, 0x5d, 0xda, 0xea, - 0xab, 0x8a, 0xad, 0x26, 0xd7, 0xd4, 0x6c, 0x9c, 0x26, 0x01, 0xb1, 0xd2, 0x45, 0x6f, 0x30, 0x91, - 0xea, 0x8a, 0x4a, 0x17, 0xbd, 0x46, 0xd2, 0x77, 0x8e, 0x60, 0xbd, 0x73, 0x25, 0x38, 0xc6, 0x96, - 0x7e, 0x59, 0xbe, 0x22, 0xa3, 0xa4, 0x81, 0x39, 0xf3, 0x4a, 0x06, 0xe6, 0x21, 0x65, 0xf4, 0x45, - 0x6d, 0xfd, 0x2c, 0x8d, 0xe0, 0x01, 0x2a, 0xea, 0xd0, 0x65, 0xff, 0x2a, 0xdd, 0x76, 0x10, 0x5d, - 0xf2, 0x6f, 0x04, 0xb0, 0xb8, 0x3f, 0x1d, 0x85, 0x4e, 0x7c, 0xef, 0x3f, 0xfb, 0xb6, 0xac, 0x83, - 0xfd, 0xa8, 0x55, 0x4b, 0xed, 0x08, 0xa2, 0x8e, 0x70, 0xb1, 0xc6, 0xa2, 0x21, 0x6b, 0xbe, 0xbf, - 0xc5, 0x71, 0xb2, 0x07, 0xe3, 0x36, 0xac, 0xc5, 0x4f, 0xb4, 0x6c, 0xea, 0xa8, 0xf9, 0x57, 0x19, - 0x0a, 0x6d, 0x4e, 0x7e, 0x83, 0x80, 0x75, 0x60, 0x29, 0x70, 0xdc, 0xb3, 0x11, 0xd7, 0x9b, 0x0f, - 0xe4, 0x22, 0xac, 0x24, 0xc7, 0x26, 0xbf, 0x53, 0x60, 0x36, 0xa9, 0x46, 0xdc, 0x5a, 0xc0, 0x36, - 0x6f, 0x1a, 0x64, 0x4c, 0x16, 0x33, 0xab, 0x31, 0x3f, 0xf8, 0x2e, 0xd4, 0x93, 0x1d, 0xb1, 0xef, - 0xc8, 0x6c, 0xd6, 0x78, 0x54, 0xb9, 0x99, 0xbc, 0xc3, 0x98, 0x20, 0x2a, 0xf1, 0xda, 0x07, 0xc6, - 0x3f, 0xce, 0x40, 0xcb, 0xe4, 0x82, 0x72, 0xb5, 0x51, 0x2a, 0x9a, 0xf9, 0x70, 0xae, 0xd5, 0x9b, - 0xe7, 0xaa, 0x92, 0x64, 0xd5, 0x88, 0xbe, 0x71, 0xe3, 0xcb, 0xd8, 0xbd, 0x35, 0x37, 0xa3, 0xcd, - 0x12, 0x2c, 0x10, 0x8a, 0xb1, 0x06, 0x2b, 0x72, 0x3c, 0x6a, 0x2c, 0xb1, 0xf7, 0x30, 0xd1, 0x63, - 0xc2, 0x7b, 0xb8, 0x0e, 0x2d, 0xba, 0x54, 0x52, 0x9f, 0x84, 0xac, 0xb8, 0x0d, 0x6c, 0xdf, 0x1e, - 0xd8, 0xbe, 0xe7, 0xb9, 0x47, 0xdc, 0x97, 0x81, 0xa2, 0x28, 0x61, 0xa2, 0x73, 0x4d, 0x89, 0xc2, - 0xf4, 0xa4, 0xae, 0x42, 0xf4, 0x5c, 0x15, 0x17, 0x43, 0x4f, 0x86, 0x09, 0x4b, 0x9b, 0xf6, 0x73, - 0xae, 0x5a, 0x52, 0x4b, 0xf4, 0x11, 0x54, 0x26, 0x51, 0xa3, 0x6a, 0xdd, 0x55, 0xca, 0xfb, 0x7c, - 0xb7, 0xa6, 0x8e, 0x6d, 0x3c, 0x81, 0xe5, 0x64, 0x9b, 0x92, 0x75, 0xac, 0x43, 0x69, 0x2c, 0x61, - 0x72, 0x74, 0xd1, 0xb3, 0xf1, 0xdb, 0x25, 0x28, 0x4a, 0x7d, 0x8e, 0x6d, 0x40, 0x7e, 0xa0, 0x62, - 0x93, 0xe2, 0x9b, 0x54, 0x64, 0xa9, 0xfa, 0xbf, 0x85, 0x11, 0x4a, 0x02, 0x8f, 0x7d, 0x04, 0xf5, - 0xa4, 0x57, 0x74, 0x26, 0x9f, 0x36, 0xe9, 0xce, 0xac, 0x0d, 0x66, 0xfc, 0x5f, 0xe5, 0xf8, 0x70, - 0x24, 0x99, 0xa1, 0x74, 0xae, 0x9d, 0x9e, 0x9e, 0x2b, 0xe4, 0xed, 0xe0, 0xdc, 0xb6, 0x9e, 0xbc, - 0xff, 0x81, 0x4c, 0xa8, 0xad, 0x20, 0xb0, 0x77, 0x6e, 0x3f, 0x79, 0xff, 0x83, 0x59, 0x49, 0x5a, - 0xa6, 0xd3, 0x6a, 0x92, 0xf4, 0x32, 0x14, 0xe8, 0xce, 0x3f, 0x0a, 0x32, 0xa1, 0x07, 0xf6, 0x18, - 0x96, 0xa5, 0xda, 0x6a, 0xc9, 0x70, 0x60, 0xe2, 0x82, 0x25, 0xca, 0xc0, 0x92, 0x65, 0x3d, 0x2c, - 0x22, 0xdb, 0xd0, 0x2a, 0x2c, 0x9c, 0xc7, 0x17, 0x38, 0xd6, 0x4c, 0xf9, 0x64, 0xfc, 0x59, 0x01, - 0x2a, 0xda, 0xa2, 0xb0, 0x2a, 0x94, 0xcc, 0x4e, 0xaf, 0x63, 0x7e, 0xd2, 0xd9, 0x6e, 0xdc, 0x62, - 0x0f, 0xe0, 0xad, 0xee, 0xc1, 0xd6, 0xa1, 0x69, 0x76, 0xb6, 0xfa, 0xd6, 0xa1, 0x69, 0xa9, 0xfb, - 0x7c, 0x8e, 0xda, 0x9f, 0xed, 0x77, 0x0e, 0xfa, 0xd6, 0x76, 0xa7, 0xdf, 0xee, 0xee, 0xf5, 0x1a, - 0x19, 0xf6, 0x1a, 0xb4, 0x62, 0x4c, 0x55, 0xdc, 0xde, 0x3f, 0x3c, 0x3e, 0xe8, 0x37, 0xb2, 0xec, - 0x1e, 0xdc, 0xd9, 0xe9, 0x1e, 0xb4, 0xf7, 0xac, 0x18, 0x67, 0x6b, 0xaf, 0xff, 0x89, 0xd5, 0xf9, - 0xd5, 0xa3, 0xae, 0xf9, 0x59, 0x23, 0x97, 0x86, 0x20, 0x94, 0x71, 0xd5, 0x42, 0x9e, 0xdd, 0x86, - 0x15, 0x42, 0xa0, 0x2a, 0x56, 0xff, 0xf0, 0xd0, 0xea, 0x1d, 0x1e, 0x1e, 0x34, 0x0a, 0xac, 0x09, - 0xb5, 0xee, 0xc1, 0x27, 0xed, 0xbd, 0xee, 0xb6, 0x65, 0x76, 0xda, 0x7b, 0xfb, 0x8d, 0x05, 0xb6, - 0x04, 0x8b, 0xb3, 0x78, 0x45, 0xd1, 0x84, 0xc2, 0x3b, 0x3c, 0xe8, 0x1e, 0x1e, 0x58, 0x9f, 0x74, - 0xcc, 0x5e, 0xf7, 0xf0, 0xa0, 0x51, 0x62, 0xab, 0xc0, 0x92, 0x45, 0xbb, 0xfb, 0xed, 0xad, 0x46, - 0x99, 0xad, 0x40, 0x33, 0x09, 0x7f, 0xd6, 0xf9, 0xac, 0x01, 0xac, 0x05, 0xcb, 0x34, 0x30, 0x6b, - 0xb3, 0xb3, 0x77, 0xf8, 0xa9, 0xb5, 0xdf, 0x3d, 0xe8, 0xee, 0x1f, 0xef, 0x37, 0x2a, 0x78, 0xc3, - 0x58, 0xa7, 0x63, 0x75, 0x0f, 0x7a, 0xc7, 0x3b, 0x3b, 0xdd, 0xad, 0x6e, 0xe7, 0xa0, 0xdf, 0xa8, - 0x52, 0xcf, 0x69, 0x13, 0xaf, 0x89, 0x0a, 0x32, 0x67, 0xc0, 0xda, 0xee, 0xf6, 0xda, 0x9b, 0x7b, - 0x9d, 0xed, 0x46, 0x9d, 0xdd, 0x85, 0xdb, 0xfd, 0xce, 0xfe, 0xd1, 0xa1, 0xd9, 0x36, 0x3f, 0x53, - 0x39, 0x05, 0xd6, 0x4e, 0xbb, 0xbb, 0x77, 0x6c, 0x76, 0x1a, 0x8b, 0xec, 0x0d, 0xb8, 0x6b, 0x76, - 0x3e, 0x3e, 0xee, 0x9a, 0x9d, 0x6d, 0xeb, 0xe0, 0x70, 0xbb, 0x63, 0xed, 0x74, 0xda, 0xfd, 0x63, - 0xb3, 0x63, 0xed, 0x77, 0x7b, 0xbd, 0xee, 0xc1, 0xd3, 0x46, 0x83, 0xbd, 0x05, 0xf7, 0x23, 0x94, - 0xa8, 0x81, 0x19, 0xac, 0xa6, 0x98, 0x9f, 0x7a, 0xa5, 0x07, 0x9d, 0x5f, 0xed, 0x5b, 0x47, 0x9d, - 0x8e, 0xd9, 0x60, 0x6c, 0x1d, 0x56, 0xe3, 0xee, 0xa9, 0x03, 0xd9, 0xf7, 0x92, 0x28, 0x3b, 0xea, - 0x98, 0xfb, 0xed, 0x03, 0xf1, 0x82, 0x13, 0x65, 0xcb, 0x62, 0xd8, 0x71, 0xd9, 0xec, 0xb0, 0x57, - 0x18, 0x83, 0xba, 0xf6, 0x56, 0x76, 0xda, 0x66, 0x63, 0x95, 0x2d, 0x42, 0x65, 0xff, 0xe8, 0xc8, - 0xea, 0x77, 0xf7, 0x3b, 0x87, 0xc7, 0xfd, 0xc6, 0x1a, 0x5b, 0x81, 0x46, 0xf7, 0xa0, 0xdf, 0x31, - 0xc5, 0xbb, 0x56, 0x55, 0xff, 0x77, 0x91, 0x2d, 0xc3, 0xa2, 0x1a, 0xa9, 0x82, 0xfe, 0x55, 0x91, - 0xad, 0x01, 0x3b, 0x3e, 0x30, 0x3b, 0xed, 0x6d, 0xb1, 0x70, 0x51, 0xc1, 0xff, 0x29, 0x4a, 0x0f, - 0xc9, 0x4f, 0x73, 0xd1, 0x61, 0x1d, 0x87, 0x1c, 0x24, 0xaf, 0xf3, 0xad, 0x6a, 0xd7, 0xf0, 0xbe, - 0xec, 0xa2, 0x7d, 0x4d, 0xb5, 0xca, 0xcd, 0xa9, 0x56, 0x73, 0xba, 0x7b, 0x4d, 0x97, 0xfd, 0xde, - 0x84, 0xda, 0x98, 0xae, 0xf6, 0x95, 0x57, 0x78, 0x82, 0x8c, 0xbf, 0x21, 0x20, 0xdd, 0xdf, 0x39, - 0x77, 0xd3, 0x7c, 0x61, 0xfe, 0xa6, 0xf9, 0x34, 0xf9, 0x7e, 0x21, 0x4d, 0xbe, 0x7f, 0x08, 0x4d, - 0x62, 0x4d, 0x8e, 0xeb, 0x8c, 0x95, 0xd6, 0x4c, 0x52, 0xe0, 0x22, 0xb2, 0x28, 0x82, 0x2b, 0x75, - 0x42, 0xa9, 0x1c, 0x92, 0x85, 0x14, 0xa5, 0xb6, 0x91, 0xd0, 0x34, 0x88, 0x73, 0x44, 0x9a, 0x46, - 0xd4, 0x83, 0x7d, 0x15, 0xf7, 0x50, 0xd1, 0x7a, 0x20, 0x38, 0xf6, 0xf0, 0x10, 0x9a, 0xfc, 0x2a, - 0xf4, 0x6d, 0xcb, 0x9b, 0xd8, 0x9f, 0x4f, 0xd1, 0x85, 0x6b, 0xa3, 0x0e, 0x5f, 0x35, 0x17, 0xb1, - 0xe0, 0x10, 0xe1, 0xdb, 0x76, 0x68, 0x3f, 0xfc, 0x02, 0x2a, 0xda, 0xb5, 0xcf, 0x6c, 0x0d, 0x96, - 0x3e, 0xed, 0xf6, 0x0f, 0x3a, 0xbd, 0x9e, 0x75, 0x74, 0xbc, 0xf9, 0xac, 0xf3, 0x99, 0xb5, 0xdb, - 0xee, 0xed, 0x36, 0x6e, 0x89, 0x4d, 0x7b, 0xd0, 0xe9, 0xf5, 0x3b, 0xdb, 0x09, 0x78, 0x86, 0xbd, - 0x0e, 0xeb, 0xc7, 0x07, 0xc7, 0xbd, 0xce, 0xb6, 0x95, 0x56, 0x2f, 0x2b, 0xa8, 0x54, 0x96, 0xa7, - 0x54, 0xcf, 0x3d, 0xfc, 0x3e, 0xd4, 0x93, 0x77, 0x91, 0x32, 0x80, 0x85, 0xbd, 0xce, 0xd3, 0xf6, - 0xd6, 0x67, 0x74, 0x07, 0x61, 0xaf, 0xdf, 0xee, 0x77, 0xb7, 0x2c, 0x79, 0xe7, 0xa0, 0xe0, 0x08, - 0x19, 0x56, 0x81, 0x62, 0xfb, 0x60, 0x6b, 0xf7, 0xd0, 0xec, 0x35, 0xb2, 0x0f, 0x3f, 0x82, 0xc6, - 0xac, 0x3f, 0x2a, 0xe1, 0xc0, 0x7b, 0x91, 0xa7, 0xef, 0xe1, 0xbf, 0xcd, 0x01, 0xc4, 0x09, 0x03, - 0x82, 0xd5, 0x6c, 0xb7, 0xfb, 0xed, 0xbd, 0x43, 0x31, 0x0d, 0xf3, 0xb0, 0x2f, 0x38, 0x88, 0xd9, - 0xf9, 0xb8, 0x71, 0x2b, 0xb5, 0xe4, 0xf0, 0xa8, 0xdf, 0xc8, 0x88, 0x15, 0xeb, 0x1e, 0x74, 0xfb, - 0xdd, 0xf6, 0x9e, 0x65, 0x1e, 0x1e, 0x77, 0x0f, 0x9e, 0xd2, 0xe5, 0x6a, 0xc8, 0x65, 0x8f, 0x8f, - 0x76, 0xcc, 0xc3, 0x83, 0xbe, 0xd5, 0xdb, 0x3d, 0xee, 0x6f, 0xe3, 0xd5, 0x6c, 0x5b, 0x66, 0xf7, - 0x88, 0xda, 0xcc, 0xbf, 0x08, 0x41, 0x34, 0x5d, 0x10, 0x6b, 0xfe, 0xf4, 0xb0, 0xd7, 0xeb, 0x1e, - 0x59, 0x1f, 0x1f, 0x77, 0xcc, 0x6e, 0xa7, 0x87, 0x15, 0x17, 0x52, 0xe0, 0x02, 0xbf, 0x28, 0x78, - 0x73, 0x7f, 0xef, 0x13, 0xc9, 0x3c, 0x05, 0x6a, 0x29, 0x09, 0x12, 0x58, 0x65, 0xc1, 0x53, 0x04, - 0xf7, 0x49, 0x69, 0x19, 0x6e, 0x28, 0x13, 0xf5, 0x2a, 0x82, 0xaf, 0xce, 0xbd, 0x0c, 0xac, 0x56, - 0x4d, 0x2f, 0x12, 0xb5, 0x90, 0xe5, 0x46, 0x07, 0xd4, 0xf6, 0xb6, 0x89, 0x15, 0xea, 0x73, 0x50, - 0x81, 0xbb, 0x28, 0x5e, 0x94, 0x60, 0x4f, 0x02, 0xa5, 0xa1, 0x1e, 0x44, 0x49, 0xf3, 0xc9, 0x6f, - 0xe5, 0xa0, 0x4e, 0xc9, 0x5b, 0xf4, 0xd5, 0x2d, 0xee, 0xb3, 0x7d, 0x28, 0xca, 0xcf, 0xb7, 0xb1, - 0x95, 0xe8, 0xde, 0x2b, 0xfd, 0x83, 0x71, 0xeb, 0xab, 0xb3, 0x60, 0x29, 0x8e, 0x2d, 0xfd, 0x9d, - 0x3f, 0xfd, 0x5f, 0xff, 0x24, 0x5b, 0x63, 0x95, 0x47, 0x17, 0xef, 0x3d, 0x3a, 0xe3, 0x6e, 0x20, - 0xda, 0xf8, 0x9b, 0x00, 0xf1, 0x47, 0xc9, 0x58, 0x2b, 0x72, 0x42, 0xcd, 0x7c, 0xb1, 0x6d, 0xfd, - 0x76, 0x4a, 0x89, 0x6c, 0xf7, 0x36, 0xb6, 0xbb, 0x64, 0xd4, 0x45, 0xbb, 0x8e, 0xeb, 0x84, 0xf4, - 0x81, 0xb2, 0x0f, 0x33, 0x0f, 0xd9, 0x10, 0xaa, 0xfa, 0xe7, 0xc2, 0x98, 0x92, 0x94, 0x52, 0x3e, - 0x78, 0xb6, 0x7e, 0x27, 0xb5, 0x4c, 0xc9, 0xa0, 0xd8, 0xc7, 0x8a, 0xd1, 0x10, 0x7d, 0x4c, 0x11, - 0x23, 0xee, 0x65, 0x44, 0x52, 0x79, 0xfc, 0x55, 0x30, 0xf6, 0x9a, 0x26, 0x57, 0xcd, 0x7d, 0x93, - 0x6c, 0xfd, 0xee, 0x0d, 0xa5, 0xb2, 0xaf, 0xbb, 0xd8, 0xd7, 0x9a, 0xc1, 0x44, 0x5f, 0x03, 0xc4, - 0x51, 0xdf, 0x24, 0xfb, 0x30, 0xf3, 0xf0, 0xc9, 0x5f, 0x3e, 0x80, 0x72, 0x14, 0xcc, 0xc9, 0x7e, - 0x03, 0x6a, 0x89, 0xec, 0x3a, 0xa6, 0xa6, 0x91, 0x96, 0x8c, 0xb7, 0xfe, 0x5a, 0x7a, 0xa1, 0xec, - 0xf8, 0x75, 0xec, 0xb8, 0xc5, 0x56, 0x45, 0xc7, 0x32, 0x7b, 0xed, 0x11, 0x66, 0xc3, 0xd2, 0x2d, - 0x62, 0xcf, 0x35, 0xed, 0x83, 0x3a, 0x7b, 0x6d, 0x56, 0x23, 0x48, 0xf4, 0x76, 0xf7, 0x86, 0x52, - 0xd9, 0xdd, 0x6b, 0xd8, 0xdd, 0x2a, 0x5b, 0xd6, 0xbb, 0x53, 0xa1, 0x97, 0x8c, 0xe3, 0xcd, 0x7d, - 0xfa, 0x47, 0xb3, 0xd8, 0xdd, 0xf8, 0x9e, 0xb5, 0x94, 0x8f, 0x69, 0x45, 0x24, 0x32, 0xff, 0x45, - 0x2d, 0xa3, 0x85, 0x5d, 0x31, 0x86, 0xaf, 0x4f, 0xff, 0x66, 0x16, 0x3b, 0x81, 0x8a, 0xf6, 0x9d, - 0x09, 0x76, 0xfb, 0xc6, 0x6f, 0x62, 0xac, 0xaf, 0xa7, 0x15, 0xa5, 0x4d, 0x45, 0x6f, 0xff, 0xd1, - 0x29, 0xe7, 0xec, 0xd7, 0xa0, 0x1c, 0x7d, 0xbd, 0x80, 0xad, 0x69, 0x5f, 0x93, 0xd0, 0xbf, 0xb6, - 0xb0, 0xde, 0x9a, 0x2f, 0x48, 0x23, 0x3e, 0xbd, 0x75, 0x41, 0x7c, 0x9f, 0x42, 0x45, 0xfb, 0x42, - 0x41, 0x34, 0x81, 0xf9, 0xaf, 0x20, 0x44, 0x13, 0x48, 0xf9, 0xa0, 0x81, 0xd1, 0xc4, 0x2e, 0x2a, - 0xac, 0x8c, 0xf4, 0x1d, 0x5e, 0x79, 0x01, 0xdb, 0x83, 0x15, 0xa9, 0x69, 0x9d, 0xf0, 0x2f, 0xf3, - 0x1a, 0x52, 0xbe, 0x53, 0xf6, 0x38, 0xc3, 0x3e, 0x82, 0x92, 0xfa, 0x10, 0x05, 0x5b, 0x4d, 0xff, - 0xa0, 0xc6, 0xfa, 0xda, 0x1c, 0x5c, 0xaa, 0x45, 0x9f, 0x01, 0xc4, 0x9f, 0x43, 0x88, 0x98, 0xc4, - 0xdc, 0xe7, 0x15, 0x22, 0x0a, 0x98, 0xff, 0x76, 0x82, 0xb1, 0x8a, 0x13, 0x6c, 0x30, 0x64, 0x12, - 0x2e, 0xbf, 0x54, 0xd7, 0xab, 0xfe, 0x08, 0x2a, 0xda, 0x17, 0x11, 0xa2, 0xe5, 0x9b, 0xff, 0x9a, - 0x42, 0xb4, 0x7c, 0x29, 0x1f, 0x50, 0x30, 0xd6, 0xb1, 0xf5, 0x65, 0x63, 0x51, 0xb4, 0x2e, 0x44, - 0x2d, 0x29, 0xf2, 0x88, 0x17, 0x74, 0x0e, 0xb5, 0xc4, 0x67, 0x0f, 0xa2, 0x1d, 0x9a, 0xf6, 0x51, - 0x85, 0x68, 0x87, 0xa6, 0x7e, 0x29, 0x41, 0xd1, 0x99, 0xd1, 0x14, 0xfd, 0x5c, 0x20, 0x8a, 0xd6, - 0xd3, 0x0f, 0xa1, 0xa2, 0x7d, 0xc2, 0x20, 0x9a, 0xcb, 0xfc, 0xd7, 0x12, 0xa2, 0xb9, 0xa4, 0x7d, - 0xf1, 0x60, 0x19, 0xfb, 0xa8, 0x1b, 0x48, 0x0a, 0x78, 0x41, 0xa4, 0x68, 0xfb, 0x37, 0xa0, 0x9e, - 0xfc, 0xaa, 0x41, 0xb4, 0xf7, 0x53, 0x3f, 0x8f, 0x10, 0xed, 0xfd, 0x1b, 0x3e, 0x85, 0x20, 0x49, - 0xfa, 0xe1, 0x52, 0xd4, 0xc9, 0xa3, 0x9f, 0xc8, 0xb4, 0x94, 0x2f, 0xd8, 0xc7, 0x82, 0xc1, 0xc9, - 0xfb, 0x49, 0xd9, 0x9a, 0x46, 0xb5, 0xfa, 0x45, 0xa7, 0xd1, 0x7e, 0x99, 0xbb, 0xca, 0x34, 0x49, - 0xcc, 0xd8, 0x38, 0x7b, 0x0a, 0x4b, 0x11, 0x31, 0x47, 0x17, 0x8e, 0x06, 0xd1, 0x1c, 0x52, 0xaf, - 0x35, 0x5d, 0x6f, 0xcc, 0x96, 0x3e, 0xce, 0xd0, 0xf1, 0x87, 0xd7, 0x3c, 0x6a, 0xc7, 0x9f, 0x7e, - 0xe7, 0xa8, 0x76, 0xfc, 0x25, 0x6e, 0x83, 0x9c, 0x3d, 0xfe, 0x42, 0x47, 0xb4, 0xe1, 0xc2, 0xe2, - 0xec, 0xf5, 0x9f, 0x77, 0x6f, 0x4a, 0xfb, 0xa7, 0xe6, 0x5f, 0x7f, 0xf1, 0xad, 0x00, 0x49, 0x56, - 0xa4, 0xb8, 0xe9, 0x23, 0x19, 0x7c, 0xc2, 0x7e, 0x1d, 0xaa, 0xfa, 0x4d, 0xe8, 0x4c, 0xe7, 0x09, - 0xb3, 0x3d, 0xdd, 0x49, 0x2d, 0x4b, 0x52, 0x09, 0xab, 0xea, 0xdd, 0xb0, 0x4f, 0x60, 0x35, 0x5a, - 0x66, 0x3d, 0x6f, 0x3d, 0x60, 0xf7, 0x52, 0xb2, 0xd9, 0x13, 0x8b, 0x7d, 0xfb, 0xc6, 0x74, 0xf7, - 0xc7, 0x19, 0x41, 0x7d, 0xc9, 0x2b, 0x99, 0xe3, 0x93, 0x27, 0xed, 0x26, 0xea, 0xf8, 0xe4, 0x49, - 0xbd, 0xc7, 0x59, 0x51, 0x1f, 0x5b, 0x4a, 0xac, 0x11, 0x85, 0xe5, 0xb2, 0x1f, 0xc2, 0xa2, 0x96, - 0x94, 0xdf, 0xbb, 0x76, 0x07, 0xd1, 0x4e, 0x9a, 0xbf, 0x53, 0x70, 0x3d, 0xcd, 0x36, 0x69, 0xac, - 0x61, 0xfb, 0x4d, 0x23, 0xb1, 0x38, 0x62, 0x17, 0x6d, 0x41, 0x45, 0x4f, 0xf8, 0x7f, 0x41, 0xbb, - 0x6b, 0x5a, 0x91, 0x7e, 0x7d, 0xdd, 0xe3, 0x0c, 0xdb, 0x83, 0xc6, 0xec, 0x65, 0x5a, 0x11, 0x4f, - 0x49, 0xbb, 0x00, 0x6c, 0x7d, 0xa6, 0x30, 0x71, 0x05, 0x17, 0x3b, 0xa2, 0xc4, 0x8e, 0xe8, 0xa3, - 0x5e, 0x9e, 0x3f, 0x7b, 0xaa, 0x27, 0x3f, 0xf6, 0x15, 0xb5, 0x96, 0xf6, 0x99, 0xb7, 0x07, 0x99, - 0xc7, 0x19, 0xf6, 0x3b, 0x19, 0xa8, 0x26, 0xae, 0xa7, 0x49, 0x84, 0xce, 0xcf, 0xcc, 0xb3, 0xa5, - 0x97, 0xe9, 0x13, 0x35, 0x4c, 0x5c, 0xc4, 0xbd, 0x87, 0x3f, 0x48, 0xbc, 0xa4, 0x9f, 0x24, 0x5c, - 0x7b, 0x1b, 0xb3, 0x5f, 0xfd, 0xfa, 0x62, 0x16, 0x41, 0xbf, 0x2a, 0xf2, 0x8b, 0xc7, 0x19, 0xf6, - 0xef, 0x33, 0x50, 0x4f, 0xfa, 0xec, 0xa3, 0xe9, 0xa6, 0x46, 0x07, 0x44, 0xa4, 0x74, 0x83, 0xa3, - 0xff, 0x87, 0x38, 0xca, 0xfe, 0x43, 0x33, 0x31, 0x4a, 0x79, 0x99, 0xf8, 0xcf, 0x37, 0x5a, 0xf6, - 0x21, 0x7d, 0x64, 0x53, 0x85, 0x32, 0xb1, 0xf9, 0x8f, 0x32, 0x46, 0xe4, 0xa7, 0x7f, 0xc2, 0x10, - 0x5f, 0xc2, 0x8f, 0xe8, 0xeb, 0x56, 0x2a, 0x32, 0x46, 0x50, 0xf1, 0xab, 0xd6, 0x37, 0xde, 0xc2, - 0x39, 0xbd, 0x6e, 0xdc, 0x4e, 0xcc, 0x69, 0x56, 0xf0, 0x68, 0xd3, 0xe8, 0xe4, 0x17, 0x08, 0xe3, - 0x93, 0x73, 0xee, 0xab, 0x84, 0x37, 0x0f, 0x72, 0x4c, 0x83, 0x94, 0xe8, 0x89, 0xad, 0xf6, 0x8a, - 0xcd, 0x18, 0x0f, 0x71, 0xac, 0x6f, 0x19, 0xf7, 0x6e, 0x1c, 0xeb, 0x23, 0xf4, 0xbf, 0x8b, 0x11, - 0x1f, 0x01, 0xc4, 0xa1, 0x86, 0x6c, 0x26, 0xe0, 0x2d, 0x62, 0x40, 0xf3, 0xd1, 0x88, 0xc9, 0xfd, - 0xac, 0xe2, 0xe2, 0x44, 0x8b, 0xbf, 0x46, 0xec, 0x34, 0x0a, 0xc5, 0xd3, 0xa5, 0xaf, 0x64, 0x54, - 0x60, 0x42, 0xfa, 0x9a, 0x6d, 0x3f, 0xc1, 0x4c, 0xa3, 0xb8, 0xbb, 0x63, 0xa8, 0xed, 0x79, 0xde, - 0xf3, 0xe9, 0x24, 0x0a, 0x6f, 0x4f, 0x06, 0xc5, 0xec, 0xda, 0xc1, 0xf9, 0xfa, 0xcc, 0x2c, 0x8c, - 0xfb, 0xd8, 0xd4, 0x3a, 0x6b, 0x69, 0x4d, 0x3d, 0xfa, 0x49, 0x1c, 0xdf, 0xf8, 0x05, 0xb3, 0xa1, - 0x19, 0xf1, 0xe8, 0x38, 0x86, 0x30, 0xd9, 0x4c, 0x82, 0x33, 0xcf, 0x76, 0x91, 0x50, 0x13, 0xd4, - 0x68, 0x1f, 0x05, 0xaa, 0xcd, 0xc7, 0x19, 0x76, 0x04, 0xd5, 0x6d, 0x3e, 0xc0, 0x44, 0x7d, 0x0c, - 0x2d, 0x59, 0x4a, 0x84, 0x29, 0x50, 0x4c, 0xca, 0x7a, 0x2d, 0x01, 0x4c, 0x9e, 0x5b, 0x13, 0xfb, - 0xda, 0xe7, 0x9f, 0x3f, 0xfa, 0x89, 0x0c, 0x5a, 0xf9, 0x42, 0x9d, 0x5b, 0x2a, 0xa8, 0x27, 0x71, - 0x6e, 0xcd, 0x44, 0x01, 0x25, 0xce, 0xad, 0xb9, 0x28, 0xa0, 0xc4, 0x52, 0xab, 0xa0, 0x22, 0x36, - 0x82, 0xe6, 0x5c, 0xe0, 0x50, 0x74, 0x64, 0xdd, 0x14, 0x6e, 0xb4, 0x7e, 0xff, 0x66, 0x84, 0x64, - 0x6f, 0x0f, 0x93, 0xbd, 0xf5, 0xa0, 0x46, 0xb7, 0x57, 0x9e, 0x70, 0x4a, 0xd9, 0x9b, 0xb9, 0xef, - 0x46, 0xcf, 0x07, 0x9c, 0x3d, 0x60, 0xb0, 0x2c, 0x29, 0xe1, 0x60, 0xae, 0x1c, 0xfb, 0x35, 0xa8, - 0x3c, 0xe5, 0xa1, 0xca, 0xd1, 0x8b, 0x64, 0xec, 0x99, 0xa4, 0xbd, 0xf5, 0x94, 0x14, 0xbf, 0x24, - 0xcd, 0x60, 0x6b, 0x8f, 0xf8, 0xf0, 0x8c, 0x13, 0x73, 0xb2, 0x9c, 0xe1, 0x17, 0xec, 0x57, 0xb1, - 0xf1, 0x28, 0x35, 0x7a, 0x55, 0x4b, 0xc2, 0xd2, 0x1b, 0x5f, 0x9c, 0x81, 0xa7, 0xb5, 0xec, 0x7a, - 0x43, 0xae, 0xc9, 0x7a, 0x2e, 0x54, 0xb4, 0x2b, 0x14, 0xa2, 0x0d, 0x34, 0x7f, 0x65, 0x46, 0xb4, - 0x81, 0x52, 0x6e, 0x5c, 0x30, 0x1e, 0x60, 0x3f, 0x06, 0xbb, 0x1f, 0xf7, 0x43, 0xb7, 0x2c, 0xc4, - 0x3d, 0x3d, 0xfa, 0x89, 0x3d, 0x0e, 0xbf, 0x60, 0x9f, 0xe2, 0x1d, 0xf1, 0x7a, 0x0e, 0x62, 0xac, - 0x34, 0xcc, 0xa6, 0x2b, 0x46, 0x8b, 0xa5, 0x15, 0x25, 0x15, 0x09, 0xea, 0x0a, 0x25, 0xb9, 0xf7, - 0x01, 0x7a, 0xa1, 0x37, 0xd9, 0xb6, 0xf9, 0xd8, 0x73, 0x63, 0x5e, 0x1b, 0x67, 0xc5, 0xc5, 0xfc, - 0x4b, 0x4b, 0x8d, 0x63, 0x9f, 0x6a, 0x5a, 0x56, 0x22, 0x8d, 0x53, 0x11, 0xd7, 0x8d, 0x89, 0x73, - 0xd1, 0x82, 0xa4, 0x24, 0xcf, 0x3d, 0xce, 0xb0, 0x36, 0x40, 0x1c, 0x39, 0x16, 0xe9, 0x4c, 0x73, - 0x41, 0x69, 0x11, 0xdb, 0x4b, 0x09, 0x33, 0x3b, 0x82, 0x72, 0x1c, 0x72, 0xb3, 0x16, 0xdf, 0x08, - 0x93, 0x08, 0xd0, 0x89, 0x4e, 0xf0, 0xb9, 0x70, 0x17, 0xa3, 0x81, 0x4b, 0x05, 0xac, 0x24, 0x96, - 0xea, 0x94, 0xf3, 0x80, 0x39, 0xb0, 0x44, 0x03, 0x8c, 0xc4, 0x25, 0xcc, 0xe6, 0x8a, 0x3e, 0x05, - 0x30, 0x1f, 0x79, 0x12, 0xed, 0xe6, 0xd4, 0xf8, 0x89, 0x84, 0xe9, 0x47, 0x50, 0x2b, 0x65, 0x92, - 0x09, 0xd6, 0x3c, 0x86, 0xe6, 0x9c, 0x8b, 0x3e, 0xda, 0xd2, 0x37, 0xc5, 0x5c, 0x44, 0x5b, 0xfa, - 0x46, 0xef, 0xbe, 0xb1, 0x82, 0x5d, 0x2e, 0x1a, 0x80, 0xaa, 0xde, 0xa5, 0x13, 0x0e, 0xce, 0x45, - 0x77, 0xbf, 0x97, 0x81, 0xa5, 0x14, 0x27, 0x3c, 0x7b, 0x43, 0x59, 0x0d, 0x6e, 0x74, 0xd0, 0xaf, - 0xa7, 0x3a, 0x6b, 0x8d, 0x1e, 0xf6, 0xb3, 0xcf, 0x9e, 0x25, 0x0e, 0x36, 0xf2, 0x95, 0xca, 0x9d, - 0xf9, 0x42, 0xa1, 0x22, 0x55, 0xa2, 0xf8, 0x1c, 0xd6, 0x68, 0x20, 0xed, 0xd1, 0x68, 0xc6, 0x91, - 0xfc, 0xfa, 0xdc, 0x47, 0xf8, 0x13, 0xce, 0xf1, 0xf5, 0x9b, 0x3f, 0xd2, 0x7f, 0x83, 0x38, 0x4d, - 0x43, 0x65, 0x53, 0x68, 0xcc, 0x3a, 0x68, 0xd9, 0xcd, 0x6d, 0xad, 0xdf, 0x4b, 0xe8, 0xbf, 0x29, - 0x4e, 0xdd, 0xaf, 0x61, 0x67, 0xf7, 0x8c, 0xf5, 0xb4, 0x75, 0x21, 0x95, 0x58, 0xbc, 0x8f, 0xbf, - 0x1d, 0x79, 0x93, 0x67, 0xe6, 0xa9, 0x3a, 0xb8, 0xc9, 0xf7, 0x1d, 0x69, 0xe0, 0xe9, 0xce, 0xe8, - 0xb7, 0xb1, 0xfb, 0xfb, 0xc6, 0x9d, 0xb4, 0xee, 0x7d, 0xaa, 0x42, 0xba, 0xf8, 0xda, 0xec, 0xbe, - 0x56, 0x23, 0xb8, 0x9f, 0xf6, 0xbe, 0x6f, 0xd4, 0x85, 0x66, 0xd6, 0xfa, 0x16, 0xca, 0x76, 0x55, - 0xdd, 0x7b, 0x1c, 0x6d, 0x9f, 0x14, 0x37, 0x75, 0xb4, 0x7d, 0xd2, 0xdc, 0xcd, 0x49, 0xb9, 0x46, - 0x39, 0x9a, 0x3f, 0xcc, 0x3c, 0xdc, 0x7c, 0xe7, 0x87, 0x5f, 0x3b, 0x73, 0xc2, 0xf3, 0xe9, 0xc9, - 0xc6, 0xc0, 0x1b, 0x3f, 0x1a, 0x29, 0x6b, 0xa3, 0x4c, 0x79, 0x7e, 0x34, 0x72, 0x87, 0x8f, 0xb0, - 0xd9, 0x93, 0x85, 0x89, 0xef, 0x85, 0xde, 0xb7, 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x38, - 0x4e, 0xcb, 0x28, 0x67, 0x84, 0x00, 0x00, + // 11638 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0xeb, 0x6f, 0x23, 0x59, + 0x76, 0x18, 0xde, 0x7c, 0x89, 0xe4, 0xe1, 0x43, 0xd4, 0xd5, 0x8b, 0xad, 0x9e, 0x9e, 0xee, 0xa9, + 0x99, 0x9d, 0xe9, 0xe9, 0x99, 0xed, 0xee, 0xe9, 0xdd, 0x9e, 0x5d, 0xcf, 0xfc, 0xbc, 0x5e, 0x4a, + 0xa2, 0x5a, 0xdc, 0x96, 0x28, 0x4d, 0x91, 0x9a, 0xf1, 0xec, 0xfe, 0x9c, 0xda, 0x12, 0x79, 0x25, + 0x95, 0x9b, 0xac, 0xe2, 0x54, 0x15, 0xf5, 0xd8, 0xc5, 0xe4, 0x43, 0x90, 0x18, 0x41, 0x90, 0x04, + 0x30, 0x12, 0x07, 0x88, 0x13, 0x23, 0x41, 0x8c, 0x20, 0x08, 0x0c, 0x18, 0x06, 0xd6, 0x01, 0x12, + 0x20, 0xdf, 0x8d, 0x00, 0x09, 0x8c, 0xc0, 0xce, 0x97, 0xc0, 0x30, 0x12, 0x24, 0xd9, 0x7c, 0x0b, + 0xfc, 0x27, 0x04, 0xf7, 0x9c, 0x7b, 0xab, 0x6e, 0x91, 0xa5, 0xee, 0x9e, 0xdd, 0xcd, 0x7e, 0x91, + 0x58, 0xe7, 0x9c, 0xfb, 0xac, 0x73, 0xcf, 0x3d, 0xaf, 0x7b, 0x0b, 0xca, 0xfe, 0x64, 0xf0, 0x60, + 0xe2, 0x7b, 0xa1, 0xc7, 0x0a, 0x23, 0xd7, 0x9f, 0x0c, 0x36, 0x5e, 0x3b, 0xf5, 0xbc, 0xd3, 0x11, + 0x7f, 0x68, 0x4f, 0x9c, 0x87, 0xb6, 0xeb, 0x7a, 0xa1, 0x1d, 0x3a, 0x9e, 0x1b, 0x10, 0x91, 0xf1, + 0x43, 0xa8, 0x3f, 0xe5, 0x6e, 0x8f, 0xf3, 0xa1, 0xc9, 0xbf, 0x98, 0xf2, 0x20, 0x64, 0xef, 0xc1, + 0x92, 0xcd, 0x7f, 0xc4, 0xf9, 0xd0, 0x9a, 0xd8, 0x41, 0x30, 0x39, 0xf3, 0xed, 0x80, 0x37, 0x33, + 0x77, 0x33, 0xf7, 0xaa, 0x66, 0x83, 0x10, 0x87, 0x11, 0x9c, 0xbd, 0x01, 0xd5, 0x40, 0x90, 0x72, + 0x37, 0xf4, 0xbd, 0xc9, 0x55, 0x33, 0x8b, 0x74, 0x15, 0x01, 0x6b, 0x13, 0xc8, 0x18, 0xc1, 0x62, + 0xd4, 0x42, 0x30, 0xf1, 0xdc, 0x80, 0xb3, 0x47, 0xb0, 0x32, 0x70, 0x26, 0x67, 0xdc, 0xb7, 0xb0, + 0xf0, 0xd8, 0xe5, 0x63, 0xcf, 0x75, 0x06, 0xcd, 0xcc, 0xdd, 0xdc, 0xbd, 0xb2, 0xc9, 0x08, 0x27, + 0x4a, 0xec, 0x4b, 0x0c, 0x7b, 0x07, 0x16, 0xb9, 0x4b, 0x70, 0x3e, 0xc4, 0x52, 0xb2, 0xa9, 0x7a, + 0x0c, 0x16, 0x05, 0x8c, 0xbf, 0x9d, 0x85, 0xa5, 0x8e, 0xeb, 0x84, 0x9f, 0xd9, 0xa3, 0x11, 0x0f, + 0xd5, 0x98, 0xde, 0x81, 0xc5, 0x0b, 0x04, 0xe0, 0x98, 0x2e, 0x3c, 0x7f, 0x28, 0x47, 0x54, 0x27, + 0xf0, 0xa1, 0x84, 0x5e, 0xdb, 0xb3, 0xec, 0xb5, 0x3d, 0x4b, 0x9d, 0xae, 0xdc, 0x35, 0xd3, 0xf5, + 0x0e, 0x2c, 0xfa, 0x7c, 0xe0, 0x9d, 0x73, 0xff, 0xca, 0xba, 0x70, 0xdc, 0xa1, 0x77, 0xd1, 0xcc, + 0xdf, 0xcd, 0xdc, 0x2b, 0x98, 0x75, 0x05, 0xfe, 0x0c, 0xa1, 0x6c, 0x13, 0x16, 0x07, 0x67, 0xb6, + 0xeb, 0xf2, 0x91, 0x75, 0x6c, 0x0f, 0x9e, 0x4f, 0x27, 0x41, 0xb3, 0x70, 0x37, 0x73, 0xaf, 0xf2, + 0xf8, 0xe6, 0x03, 0x7c, 0xab, 0x0f, 0xb6, 0xce, 0x6c, 0x77, 0x13, 0x31, 0x3d, 0xd7, 0x9e, 0x04, + 0x67, 0x5e, 0x68, 0xd6, 0x65, 0x09, 0x02, 0x07, 0xc6, 0x0a, 0x30, 0x7d, 0x26, 0x68, 0xee, 0x8d, + 0x3f, 0xc8, 0xc0, 0xf2, 0x91, 0x3b, 0xf2, 0x06, 0xcf, 0x7f, 0xc6, 0x29, 0x4a, 0x19, 0x43, 0xf6, + 0x55, 0xc7, 0x90, 0xfb, 0xaa, 0x63, 0x58, 0x83, 0x95, 0x64, 0x67, 0xe5, 0x28, 0x38, 0xac, 0x8a, + 0xd2, 0xa7, 0x5c, 0x75, 0x4b, 0x0d, 0xe3, 0x5d, 0x68, 0x0c, 0xa6, 0xbe, 0xcf, 0xdd, 0xb9, 0x71, + 0x2c, 0x4a, 0x78, 0x34, 0x90, 0x37, 0xa0, 0xea, 0xf2, 0x8b, 0x98, 0x4c, 0xf2, 0xae, 0xcb, 0x2f, + 0x14, 0x89, 0xd1, 0x84, 0xb5, 0xd9, 0x66, 0x64, 0x07, 0x7e, 0x9a, 0x81, 0xfc, 0x51, 0x78, 0xe9, + 0xb1, 0x27, 0x50, 0xb5, 0x87, 0x43, 0x9f, 0x07, 0x81, 0x15, 0x5e, 0x4d, 0x68, 0xa5, 0xd4, 0x1f, + 0x33, 0x39, 0xc4, 0x16, 0xa1, 0xfa, 0x57, 0x13, 0x6e, 0x56, 0xec, 0xf8, 0x81, 0x35, 0xa1, 0x28, + 0x1f, 0xb1, 0xdd, 0xb2, 0xa9, 0x1e, 0xd9, 0x6d, 0x00, 0x7b, 0xec, 0x4d, 0xdd, 0xd0, 0x0a, 0xec, + 0x10, 0x67, 0x2c, 0x67, 0x96, 0x09, 0xd2, 0xb3, 0x43, 0x76, 0x0b, 0xca, 0x93, 0xe7, 0x56, 0x30, + 0xf0, 0x9d, 0x49, 0x88, 0xcc, 0x53, 0x36, 0x4b, 0x93, 0xe7, 0x3d, 0x7c, 0x66, 0xef, 0x41, 0xc9, + 0x9b, 0x86, 0x13, 0xcf, 0x71, 0x43, 0xc9, 0x2f, 0x8b, 0xb2, 0x23, 0x07, 0xd3, 0xf0, 0x50, 0x80, + 0xcd, 0x88, 0x80, 0xbd, 0x05, 0xb5, 0x81, 0xe7, 0x9e, 0x38, 0xfe, 0x98, 0x24, 0x42, 0x73, 0x01, + 0xdb, 0x4a, 0x02, 0x8d, 0x3f, 0xca, 0x42, 0xa5, 0xef, 0xdb, 0x6e, 0x60, 0x0f, 0x04, 0x80, 0xad, + 0x43, 0x31, 0xbc, 0xb4, 0xce, 0xec, 0xe0, 0x0c, 0x87, 0x5a, 0x36, 0x17, 0xc2, 0xcb, 0x5d, 0x3b, + 0x38, 0x63, 0x6b, 0xb0, 0x40, 0xbd, 0xc4, 0x01, 0xe5, 0x4c, 0xf9, 0x24, 0x16, 0x88, 0x3b, 0x1d, + 0x5b, 0xc9, 0xa6, 0x72, 0xc8, 0x31, 0x0d, 0x77, 0x3a, 0xde, 0xd2, 0xe1, 0x62, 0xf0, 0xc7, 0xe2, + 0x75, 0x53, 0x03, 0x34, 0xbc, 0x32, 0x42, 0xb0, 0x8d, 0x37, 0xa0, 0x2a, 0xd1, 0xdc, 0x39, 0x3d, + 0xa3, 0x31, 0x16, 0xcc, 0x0a, 0x11, 0x20, 0x48, 0xd4, 0x10, 0x3a, 0x63, 0x6e, 0x05, 0xa1, 0x3d, + 0x9e, 0xc8, 0x21, 0x95, 0x05, 0xa4, 0x27, 0x00, 0x88, 0xf6, 0x42, 0x7b, 0x64, 0x9d, 0x70, 0x1e, + 0x34, 0x8b, 0x12, 0x2d, 0x20, 0x3b, 0x9c, 0x07, 0xec, 0x6b, 0x50, 0x1f, 0xf2, 0x20, 0xb4, 0xe4, + 0xcb, 0xe0, 0x41, 0xb3, 0x84, 0x2b, 0xbf, 0x26, 0xa0, 0x2d, 0x05, 0x64, 0xaf, 0x01, 0xf8, 0xf6, + 0x85, 0x25, 0x26, 0x82, 0x5f, 0x36, 0xcb, 0xf4, 0x16, 0x7c, 0xfb, 0xa2, 0x7f, 0xb9, 0xcb, 0x2f, + 0x05, 0xd7, 0x3c, 0xe5, 0xa1, 0x36, 0x69, 0x81, 0xe4, 0x4e, 0x63, 0x0f, 0x98, 0x06, 0xde, 0xe6, + 0xa1, 0xed, 0x8c, 0x02, 0xf6, 0x21, 0x54, 0x43, 0x8d, 0x18, 0xc5, 0x60, 0x25, 0x62, 0x21, 0xad, + 0x80, 0x99, 0xa0, 0x33, 0xce, 0xa0, 0xb4, 0xc3, 0xf9, 0x9e, 0x33, 0x76, 0x42, 0xb6, 0x06, 0x85, + 0x13, 0xe7, 0x92, 0x13, 0xb3, 0xe7, 0x76, 0x6f, 0x98, 0xf4, 0xc8, 0xee, 0x00, 0xe0, 0x0f, 0x6b, + 0x1c, 0x71, 0xd3, 0xee, 0x0d, 0xb3, 0x8c, 0xb0, 0xfd, 0xc0, 0x0e, 0xd9, 0x06, 0x14, 0x27, 0xdc, + 0x1f, 0x70, 0xf5, 0xde, 0x76, 0x6f, 0x98, 0x0a, 0xb0, 0x59, 0x84, 0xc2, 0x48, 0xd4, 0x6e, 0xfc, + 0x49, 0x01, 0x2a, 0x3d, 0xee, 0x46, 0xab, 0x8c, 0x41, 0x5e, 0x4c, 0x88, 0x5c, 0x59, 0xf8, 0x9b, + 0xbd, 0x09, 0x15, 0x9c, 0xba, 0x20, 0xf4, 0x1d, 0xf7, 0x94, 0xb8, 0x7a, 0x33, 0xdb, 0xcc, 0x98, + 0x20, 0xc0, 0x3d, 0x84, 0xb2, 0x06, 0xe4, 0xec, 0xb1, 0xe2, 0x6a, 0xf1, 0x93, 0xdd, 0x84, 0x92, + 0x3d, 0x0e, 0xa9, 0x7b, 0x55, 0x04, 0x17, 0xed, 0x71, 0x88, 0x5d, 0x7b, 0x03, 0xaa, 0x13, 0xfb, + 0x6a, 0x2c, 0xd6, 0x72, 0xc4, 0x0e, 0x55, 0xb3, 0x22, 0x61, 0xc8, 0x10, 0x8f, 0x61, 0x59, 0x27, + 0x51, 0x8d, 0x17, 0xa2, 0xc6, 0x97, 0x34, 0x6a, 0xd9, 0x87, 0x77, 0x60, 0x51, 0x95, 0xf1, 0x69, + 0x3c, 0xc8, 0x26, 0x65, 0xb3, 0x2e, 0xc1, 0x6a, 0x94, 0xf7, 0xa0, 0x71, 0xe2, 0xb8, 0xf6, 0xc8, + 0x1a, 0x8c, 0xc2, 0x73, 0x6b, 0xc8, 0x47, 0xa1, 0x8d, 0x1c, 0x53, 0x30, 0xeb, 0x08, 0xdf, 0x1a, + 0x85, 0xe7, 0xdb, 0x02, 0xca, 0xde, 0x87, 0xf2, 0x09, 0xe7, 0x16, 0x4e, 0x56, 0xb3, 0x94, 0x58, + 0x78, 0xea, 0x0d, 0x99, 0xa5, 0x13, 0xf5, 0xae, 0xde, 0x87, 0x86, 0x37, 0x0d, 0x4f, 0x3d, 0xc7, + 0x3d, 0xb5, 0x84, 0xbc, 0xb3, 0x9c, 0x21, 0xf2, 0x50, 0x7e, 0x33, 0xfb, 0x28, 0x63, 0xd6, 0x15, + 0x4e, 0x48, 0x9e, 0xce, 0x90, 0xbd, 0x0d, 0x8b, 0x23, 0x3b, 0x08, 0xad, 0x33, 0x6f, 0x62, 0x4d, + 0xa6, 0xc7, 0xcf, 0xf9, 0x55, 0xb3, 0x86, 0x13, 0x51, 0x13, 0xe0, 0x5d, 0x6f, 0x72, 0x88, 0x40, + 0xc1, 0xd9, 0xd8, 0x4f, 0xea, 0x04, 0xdc, 0xcd, 0xdc, 0xab, 0x99, 0x65, 0x01, 0xa1, 0x46, 0x3f, + 0x87, 0x65, 0x7c, 0x3d, 0x83, 0x69, 0x10, 0x7a, 0x63, 0x4b, 0xc8, 0x6a, 0x7f, 0x18, 0x34, 0x2b, + 0xc8, 0x6b, 0xef, 0xca, 0xce, 0x6a, 0xef, 0xf8, 0xc1, 0x36, 0x0f, 0xc2, 0x2d, 0x24, 0x36, 0x89, + 0x56, 0x6c, 0xe8, 0x57, 0xe6, 0xd2, 0x70, 0x16, 0xce, 0xde, 0x07, 0x66, 0x8f, 0x46, 0xde, 0x85, + 0x15, 0xf0, 0xd1, 0x89, 0x25, 0x27, 0xb1, 0x59, 0xbf, 0x9b, 0xb9, 0x57, 0x32, 0x1b, 0x88, 0xe9, + 0xf1, 0xd1, 0xc9, 0x21, 0xc1, 0xd9, 0x87, 0x80, 0x8b, 0xc9, 0x3a, 0xe1, 0x76, 0x38, 0xf5, 0x79, + 0xd0, 0x5c, 0xbc, 0x9b, 0xbb, 0x57, 0x7f, 0xbc, 0x14, 0xcd, 0x17, 0x82, 0x37, 0x9d, 0xd0, 0xac, + 0x0a, 0x3a, 0xf9, 0x1c, 0x6c, 0x6c, 0xc3, 0x5a, 0x7a, 0x97, 0x04, 0x53, 0x89, 0x59, 0x11, 0xcc, + 0x98, 0x37, 0xc5, 0x4f, 0xb6, 0x02, 0x85, 0x73, 0x7b, 0x34, 0xe5, 0x52, 0xa6, 0xd3, 0xc3, 0x47, + 0xd9, 0x6f, 0x67, 0x8c, 0x3f, 0xce, 0x40, 0x95, 0x46, 0x29, 0x75, 0x91, 0x37, 0xa1, 0xa6, 0xb8, + 0x81, 0xfb, 0xbe, 0xe7, 0x4b, 0xa9, 0xa6, 0x38, 0xaf, 0x2d, 0x60, 0x62, 0x57, 0x51, 0x44, 0x13, + 0x9f, 0x3b, 0x63, 0xfb, 0x54, 0x55, 0xad, 0x58, 0xe9, 0x50, 0x82, 0xd9, 0x07, 0x71, 0x7d, 0xbe, + 0x37, 0x0d, 0xb9, 0xdc, 0xf3, 0xaa, 0x72, 0x78, 0xa6, 0x80, 0x45, 0xb5, 0xe3, 0xd3, 0x2b, 0xf0, + 0xb9, 0xf1, 0x3b, 0x19, 0x60, 0xa2, 0xdb, 0x7d, 0x8f, 0x2a, 0x90, 0x1c, 0x3a, 0x5b, 0x32, 0xf3, + 0xca, 0x2b, 0x24, 0xfb, 0xa2, 0x15, 0x62, 0x40, 0x81, 0xfa, 0x9e, 0x4f, 0xe9, 0x3b, 0xa1, 0xbe, + 0x97, 0x2f, 0xe5, 0x1a, 0x79, 0xe3, 0xbf, 0xe6, 0x60, 0x65, 0x8b, 0xb6, 0xec, 0xd6, 0x60, 0xc0, + 0x27, 0xd1, 0xda, 0xb9, 0x03, 0x15, 0xd7, 0x1b, 0x72, 0xc5, 0xb1, 0xd4, 0x31, 0x10, 0x20, 0x8d, + 0x5d, 0xcf, 0x6c, 0xc7, 0xa5, 0x8e, 0xd3, 0x64, 0x96, 0x11, 0x82, 0xdd, 0x7e, 0x1b, 0x16, 0x27, + 0xdc, 0x1d, 0xea, 0x4b, 0x84, 0x94, 0xaa, 0x9a, 0x04, 0xcb, 0xd5, 0x71, 0x07, 0x2a, 0x27, 0x53, + 0xa2, 0x13, 0x82, 0x25, 0x8f, 0x3c, 0x00, 0x12, 0xd4, 0x22, 0xf9, 0x32, 0x99, 0x06, 0x67, 0x88, + 0x2d, 0x20, 0xb6, 0x28, 0x9e, 0x05, 0xea, 0x36, 0xc0, 0x70, 0x1a, 0x84, 0x72, 0xc5, 0x2c, 0x20, + 0xb2, 0x2c, 0x20, 0xb4, 0x62, 0xbe, 0x0e, 0xcb, 0x63, 0xfb, 0xd2, 0x42, 0xde, 0xb1, 0x1c, 0xd7, + 0x3a, 0x19, 0xe1, 0x9e, 0x53, 0x44, 0xba, 0xc6, 0xd8, 0xbe, 0xfc, 0x54, 0x60, 0x3a, 0xee, 0x0e, + 0xc2, 0x85, 0x58, 0x51, 0xea, 0x8e, 0xcf, 0x03, 0xee, 0x9f, 0x73, 0x94, 0x04, 0xf9, 0x48, 0xa7, + 0x31, 0x09, 0x2a, 0x7a, 0x34, 0x16, 0xe3, 0x0e, 0x47, 0x03, 0x5a, 0xf6, 0x66, 0x71, 0xec, 0xb8, + 0xbb, 0xe1, 0x68, 0x20, 0xf6, 0x15, 0x21, 0x47, 0x26, 0xdc, 0xb7, 0x9e, 0x5f, 0xe0, 0x1a, 0xce, + 0xa3, 0xdc, 0x38, 0xe4, 0xfe, 0xb3, 0x0b, 0xb1, 0xf5, 0x0f, 0x02, 0x14, 0x44, 0xf6, 0x55, 0xb3, + 0x82, 0x0b, 0xbc, 0x34, 0x08, 0x84, 0x08, 0xb2, 0xaf, 0xc4, 0x22, 0x14, 0xbd, 0xb5, 0xf1, 0x2d, + 0xf0, 0x21, 0x56, 0x1f, 0xa0, 0x44, 0xad, 0x61, 0x67, 0x5b, 0x12, 0x21, 0xda, 0x09, 0x04, 0xd7, + 0xab, 0xce, 0x9e, 0x8c, 0xec, 0xd3, 0x00, 0x45, 0x4a, 0xcd, 0xac, 0x4a, 0xe0, 0x8e, 0x80, 0x19, + 0x9f, 0x91, 0x92, 0xa5, 0xbd, 0x5b, 0xb9, 0x66, 0xc4, 0x56, 0x8f, 0x10, 0x7c, 0xaf, 0x25, 0x53, + 0x3e, 0xa5, 0xbd, 0xb4, 0x6c, 0xca, 0x4b, 0x33, 0x7e, 0x2f, 0x03, 0x55, 0x59, 0x33, 0x2a, 0x25, + 0xec, 0x01, 0x30, 0xf5, 0x16, 0xc3, 0x4b, 0x67, 0x68, 0x1d, 0x5f, 0x85, 0x3c, 0x20, 0xa6, 0xd9, + 0xbd, 0x61, 0x36, 0x24, 0xae, 0x7f, 0xe9, 0x0c, 0x37, 0x05, 0x86, 0xdd, 0x87, 0x46, 0x82, 0x3e, + 0x08, 0x7d, 0xe2, 0xe8, 0xdd, 0x1b, 0x66, 0x5d, 0xa3, 0xee, 0x85, 0xbe, 0x58, 0x23, 0x42, 0xe5, + 0x99, 0x86, 0x96, 0xe3, 0x0e, 0xf9, 0x25, 0xb2, 0x51, 0xcd, 0xac, 0x10, 0xac, 0x23, 0x40, 0x9b, + 0x75, 0xa8, 0xea, 0xd5, 0x19, 0xa7, 0x50, 0x52, 0xfa, 0x12, 0x2a, 0x0c, 0x33, 0x5d, 0x32, 0xcb, + 0x61, 0xd4, 0x93, 0x9b, 0x50, 0x4a, 0xf6, 0xc0, 0x2c, 0x86, 0xaf, 0xdc, 0xb0, 0xf1, 0x1d, 0x68, + 0xec, 0x09, 0xe6, 0x71, 0x05, 0xb3, 0x4a, 0xfd, 0x6f, 0x0d, 0x16, 0xb4, 0x45, 0x53, 0x36, 0xe5, + 0x93, 0xd8, 0x73, 0xcf, 0xbc, 0x20, 0x94, 0xad, 0xe0, 0x6f, 0xe3, 0x4f, 0x32, 0xc0, 0xda, 0x41, + 0xe8, 0x8c, 0xed, 0x90, 0xef, 0xf0, 0x48, 0x2c, 0x1c, 0x40, 0x55, 0xd4, 0xd6, 0xf7, 0x5a, 0xa4, + 0x90, 0x91, 0x42, 0xf1, 0x9e, 0x5c, 0xc6, 0xf3, 0x05, 0x1e, 0xe8, 0xd4, 0x24, 0xe6, 0x13, 0x15, + 0x88, 0x55, 0x16, 0xda, 0xfe, 0x29, 0x0f, 0x51, 0x8d, 0x93, 0xfa, 0x3e, 0x10, 0x48, 0x28, 0x70, + 0x1b, 0xbf, 0x06, 0x4b, 0x73, 0x75, 0xe8, 0x72, 0xb9, 0x9c, 0x22, 0x97, 0x73, 0xba, 0x5c, 0xb6, + 0x60, 0x39, 0xd1, 0x2f, 0xc9, 0x69, 0xeb, 0x50, 0x14, 0x0b, 0x42, 0x28, 0x07, 0x19, 0xd2, 0x2a, + 0x4f, 0x38, 0x17, 0x6a, 0xf0, 0x43, 0x58, 0x39, 0xe1, 0xdc, 0xb7, 0x43, 0x44, 0xe2, 0x8a, 0x11, + 0x6f, 0x48, 0x56, 0xbc, 0x24, 0x71, 0x3d, 0x3b, 0x3c, 0xe4, 0xbe, 0x78, 0x53, 0xc6, 0xff, 0xc8, + 0xc0, 0xa2, 0x90, 0xa0, 0xfb, 0xb6, 0x7b, 0xa5, 0xe6, 0x69, 0x2f, 0x75, 0x9e, 0xee, 0x69, 0x9b, + 0xa1, 0x46, 0xfd, 0x55, 0x27, 0x29, 0x37, 0x3b, 0x49, 0xec, 0x2e, 0x54, 0x13, 0x7d, 0x2d, 0x60, + 0x5f, 0x21, 0x88, 0x3a, 0xf9, 0xf3, 0x4f, 0xe3, 0xdb, 0xd0, 0x88, 0xbb, 0x2d, 0xe7, 0x90, 0x41, + 0x5e, 0xb0, 0xa4, 0xac, 0x00, 0x7f, 0x1b, 0xff, 0x34, 0x43, 0x84, 0x5b, 0x9e, 0x13, 0x69, 0xa7, + 0x82, 0x50, 0xe8, 0xbd, 0x8a, 0x50, 0xfc, 0xbe, 0x56, 0xab, 0xff, 0xf9, 0x07, 0x2b, 0x96, 0x4e, + 0xc0, 0xdd, 0xa1, 0x65, 0x8f, 0x46, 0x28, 0x7c, 0x4b, 0x66, 0x51, 0x3c, 0xb7, 0x46, 0x23, 0xe3, + 0x1d, 0x58, 0xd2, 0x7a, 0xf7, 0x82, 0x71, 0x74, 0x81, 0xed, 0x39, 0x41, 0x78, 0xe4, 0x06, 0x13, + 0x4d, 0x71, 0xbb, 0x05, 0x65, 0x21, 0x61, 0x45, 0xcf, 0x68, 0xc9, 0x16, 0x4c, 0x21, 0x72, 0x45, + 0xbf, 0x02, 0x44, 0xda, 0x97, 0x12, 0x99, 0x95, 0x48, 0xfb, 0x12, 0x91, 0xc6, 0xb7, 0x61, 0x39, + 0x51, 0x9f, 0x6c, 0xfa, 0x0d, 0x28, 0x4c, 0xc3, 0x4b, 0x4f, 0xa9, 0xe6, 0x15, 0xc9, 0x21, 0xc2, + 0x00, 0x34, 0x09, 0x63, 0x7c, 0x0c, 0x4b, 0x5d, 0x7e, 0x21, 0x17, 0xb1, 0xea, 0xc8, 0xdb, 0x90, + 0x7f, 0x89, 0x51, 0x88, 0x78, 0xe3, 0x01, 0x30, 0xbd, 0xb0, 0x6c, 0x55, 0xb3, 0x11, 0x33, 0x09, + 0x1b, 0xd1, 0x78, 0x1b, 0x58, 0xcf, 0x39, 0x75, 0xf7, 0x79, 0x10, 0xd8, 0xa7, 0xd1, 0xb2, 0x6f, + 0x40, 0x6e, 0x1c, 0x9c, 0x4a, 0x19, 0x25, 0x7e, 0x1a, 0xdf, 0x80, 0xe5, 0x04, 0x9d, 0xac, 0xf8, + 0x35, 0x28, 0x07, 0xce, 0xa9, 0x8b, 0x8a, 0x95, 0xac, 0x3a, 0x06, 0x18, 0x3b, 0xb0, 0xf2, 0x29, + 0xf7, 0x9d, 0x93, 0xab, 0x97, 0x55, 0x9f, 0xac, 0x27, 0x3b, 0x5b, 0x4f, 0x1b, 0x56, 0x67, 0xea, + 0x91, 0xcd, 0x13, 0xfb, 0xca, 0x37, 0x59, 0x32, 0xe9, 0x41, 0x93, 0x7b, 0x59, 0x5d, 0xee, 0x19, + 0x47, 0xc0, 0xb6, 0x3c, 0xd7, 0xe5, 0x83, 0xf0, 0x90, 0x73, 0x3f, 0xf6, 0x52, 0xc5, 0xbc, 0x5a, + 0x79, 0xbc, 0x2e, 0x67, 0x76, 0x56, 0x98, 0x4a, 0x26, 0x66, 0x90, 0x9f, 0x70, 0x7f, 0x8c, 0x15, + 0x97, 0x4c, 0xfc, 0x6d, 0xac, 0xc2, 0x72, 0xa2, 0x5a, 0x69, 0xd7, 0x3f, 0x82, 0xd5, 0x6d, 0x27, + 0x18, 0xcc, 0x37, 0xb8, 0x0e, 0xc5, 0xc9, 0xf4, 0xd8, 0x4a, 0xca, 0xe5, 0x67, 0xfc, 0x4a, 0x58, + 0x7b, 0xb3, 0x25, 0x64, 0x5d, 0x7f, 0x33, 0x03, 0xf9, 0xdd, 0xfe, 0xde, 0x16, 0xdb, 0x80, 0x92, + 0xe3, 0x0e, 0xbc, 0xb1, 0x50, 0xbc, 0x68, 0xcc, 0xd1, 0xf3, 0xb5, 0x0b, 0xec, 0x16, 0x94, 0x51, + 0x5f, 0x13, 0xa6, 0xad, 0x54, 0x7d, 0x4a, 0x02, 0xb0, 0xe7, 0x0d, 0x9e, 0x0b, 0x9b, 0x9a, 0x5f, + 0x4e, 0x1c, 0x1f, 0xad, 0x66, 0x65, 0x0c, 0xe7, 0x69, 0xaf, 0x8f, 0x11, 0x64, 0x11, 0x1b, 0xff, + 0xae, 0x04, 0x45, 0xb9, 0xdb, 0xd2, 0xce, 0x1d, 0x3a, 0xe7, 0x3c, 0xde, 0xb9, 0xc5, 0x93, 0xd0, + 0x07, 0x7c, 0x3e, 0xf6, 0xc2, 0x48, 0x61, 0xa3, 0x77, 0x50, 0x25, 0xa0, 0x54, 0xd9, 0x34, 0xa5, + 0x81, 0x5c, 0x0c, 0x39, 0x22, 0x1a, 0xe8, 0x5b, 0xf9, 0x2d, 0x28, 0xaa, 0xbd, 0x3f, 0x1f, 0xd9, + 0x34, 0x0b, 0x03, 0xd2, 0xd6, 0x36, 0xa0, 0x34, 0xb0, 0x27, 0xf6, 0xc0, 0x09, 0xaf, 0xa4, 0x40, + 0x88, 0x9e, 0x45, 0xed, 0x23, 0x6f, 0x60, 0x8f, 0xac, 0x63, 0x7b, 0x64, 0xbb, 0x03, 0x2e, 0x6d, + 0xf7, 0x2a, 0x02, 0x37, 0x09, 0x26, 0xec, 0x73, 0xd9, 0x4f, 0x45, 0x45, 0x26, 0xbc, 0xec, 0xbd, + 0x22, 0x13, 0xca, 0xa5, 0x37, 0x1e, 0x3b, 0xc2, 0xca, 0x20, 0x35, 0x2c, 0x67, 0x96, 0x09, 0xb2, + 0xc3, 0x71, 0xb4, 0x12, 0x7d, 0x41, 0x53, 0x57, 0xa6, 0xa6, 0x08, 0xf8, 0x19, 0x39, 0x12, 0xe6, + 0x75, 0xb1, 0x9c, 0xa6, 0x8b, 0xbd, 0x07, 0x4b, 0x53, 0x37, 0xe0, 0x61, 0x38, 0xe2, 0xc3, 0xa8, + 0x2f, 0x15, 0x24, 0x6a, 0x44, 0x08, 0xd5, 0x9d, 0x07, 0xb0, 0x4c, 0x4e, 0x87, 0xc0, 0x0e, 0xbd, + 0xe0, 0xcc, 0x09, 0xac, 0x40, 0x58, 0x48, 0x64, 0xee, 0x2e, 0x21, 0xaa, 0x27, 0x31, 0x3d, 0x32, + 0x91, 0xd6, 0x67, 0xe8, 0x7d, 0x3e, 0xe0, 0xce, 0x39, 0x1f, 0xa2, 0x9e, 0x96, 0x33, 0x57, 0x13, + 0x65, 0x4c, 0x89, 0x44, 0xa5, 0x7b, 0x3a, 0xb6, 0xa6, 0x93, 0xa1, 0x2d, 0x94, 0x95, 0x3a, 0x29, + 0xc3, 0xee, 0x74, 0x7c, 0x44, 0x10, 0xf6, 0x08, 0x94, 0x26, 0x26, 0xf5, 0xc3, 0xc5, 0x84, 0x3c, + 0x13, 0xcc, 0x6a, 0x56, 0x25, 0x05, 0x29, 0x8a, 0x09, 0x9d, 0xb3, 0x31, 0xa3, 0x73, 0x36, 0xa1, + 0x38, 0xf1, 0x9d, 0x73, 0x3b, 0xe4, 0xcd, 0x25, 0x12, 0xe0, 0xf2, 0x51, 0x48, 0x06, 0xc7, 0x75, + 0x42, 0xc7, 0x0e, 0x3d, 0xbf, 0xc9, 0x10, 0x17, 0x03, 0xd8, 0x7d, 0x58, 0x42, 0x1e, 0x09, 0x42, + 0x3b, 0x9c, 0x06, 0x52, 0x03, 0x5d, 0x46, 0x66, 0x42, 0x1d, 0xba, 0x87, 0x70, 0x54, 0x42, 0xd9, + 0x37, 0x60, 0x8d, 0xd8, 0x02, 0x4b, 0x48, 0xcd, 0x1a, 0x15, 0x82, 0x15, 0x9c, 0x8a, 0x65, 0xc4, + 0x0a, 0xfe, 0x96, 0xfa, 0xb5, 0xd0, 0x0e, 0x9e, 0xc0, 0xba, 0x64, 0x93, 0xb9, 0x52, 0xab, 0x58, + 0x6a, 0x85, 0xd0, 0x33, 0xc5, 0x1e, 0xc0, 0x92, 0xe8, 0x92, 0x33, 0xb0, 0x64, 0x69, 0xb1, 0x12, + 0xd6, 0x44, 0xef, 0xd1, 0x52, 0x5a, 0x24, 0xa4, 0x89, 0xb8, 0x67, 0xfc, 0x8a, 0x7d, 0x07, 0x16, + 0x89, 0x65, 0xd0, 0xbc, 0x42, 0x49, 0xbf, 0x81, 0x92, 0x7e, 0x55, 0x79, 0x38, 0x23, 0x2c, 0x0a, + 0xfb, 0xfa, 0x20, 0xf1, 0x2c, 0x96, 0xc3, 0xc8, 0x39, 0xe1, 0xa1, 0x33, 0xe6, 0xcd, 0x75, 0x62, + 0x30, 0xf5, 0x2c, 0x56, 0xea, 0x74, 0x82, 0x98, 0x26, 0xc9, 0x05, 0x7a, 0x42, 0xde, 0x1d, 0x79, + 0x01, 0x57, 0x2e, 0xaa, 0xe6, 0x4d, 0xb9, 0x08, 0x05, 0x50, 0xe9, 0x90, 0x42, 0x11, 0x27, 0xa3, + 0x27, 0x72, 0x24, 0xde, 0x42, 0x66, 0xa8, 0x91, 0xed, 0xa3, 0x9c, 0x89, 0x62, 0x17, 0x3f, 0xb3, + 0x2f, 0x94, 0x04, 0x79, 0x0d, 0xdf, 0x2f, 0x08, 0x90, 0x94, 0x1d, 0x3f, 0xc9, 0xd0, 0x86, 0x28, + 0xe5, 0x47, 0xa0, 0x99, 0x77, 0x24, 0x39, 0x2c, 0xcf, 0x1d, 0x5d, 0x49, 0x61, 0x02, 0x04, 0x3a, + 0x70, 0x47, 0xb8, 0x9a, 0x1d, 0x57, 0x27, 0x21, 0xd9, 0x5b, 0x55, 0x40, 0x24, 0xba, 0x03, 0x95, + 0xc9, 0xf4, 0x78, 0xe4, 0x0c, 0x88, 0x24, 0x47, 0xb5, 0x10, 0x08, 0x09, 0x84, 0x7d, 0x4b, 0x1c, + 0x45, 0x14, 0x79, 0xa4, 0xa8, 0x48, 0x18, 0x92, 0xa0, 0x6c, 0xe7, 0x3e, 0x8a, 0x93, 0xaa, 0x89, + 0xbf, 0x8d, 0x4d, 0x58, 0x49, 0x76, 0x5a, 0x6e, 0x3c, 0xf7, 0xa1, 0x24, 0x65, 0x95, 0x72, 0x7c, + 0xd4, 0x35, 0x57, 0xb4, 0x30, 0xd1, 0x22, 0xbc, 0xf1, 0x5b, 0x0b, 0xb0, 0x2c, 0xa1, 0x5b, 0x62, + 0x6a, 0x7b, 0xd3, 0xf1, 0xd8, 0xf6, 0x53, 0x84, 0x60, 0xe6, 0xc5, 0x42, 0x30, 0x3b, 0x27, 0x04, + 0x93, 0x96, 0x2f, 0xc9, 0xd0, 0xa4, 0xe5, 0x2b, 0xde, 0x25, 0x19, 0x23, 0xba, 0x1f, 0xb4, 0x26, + 0xc1, 0x7d, 0xf2, 0xb7, 0xce, 0x89, 0xec, 0x42, 0x8a, 0xc8, 0xd6, 0x05, 0xee, 0xc2, 0x8c, 0xc0, + 0x7d, 0x03, 0x88, 0x69, 0xd4, 0xdb, 0x2f, 0x92, 0x7d, 0x82, 0x30, 0xe9, 0x4c, 0x7d, 0x07, 0x16, + 0x67, 0x65, 0x1c, 0x09, 0xd3, 0x7a, 0x8a, 0x84, 0x73, 0xc6, 0x1c, 0x77, 0x2b, 0x8d, 0xb8, 0x2c, + 0x25, 0x9c, 0x33, 0xe6, 0x7b, 0x88, 0x51, 0xf4, 0x6d, 0x00, 0x6a, 0x1b, 0x17, 0x0d, 0xe0, 0xa2, + 0x79, 0x3b, 0xf9, 0x2e, 0xf4, 0x59, 0x7f, 0x20, 0x1e, 0xa6, 0x3e, 0xc7, 0x55, 0x54, 0xc6, 0x92, + 0xb8, 0x80, 0x9e, 0x41, 0xdd, 0x9b, 0x70, 0xd7, 0x8a, 0x65, 0x4d, 0x05, 0xab, 0x7a, 0xeb, 0x05, + 0x55, 0x75, 0x14, 0xad, 0x59, 0x13, 0x65, 0xa3, 0x47, 0xb6, 0x4f, 0x13, 0xcf, 0xb5, 0xda, 0xaa, + 0x5f, 0xa1, 0xb6, 0x3a, 0x16, 0x8e, 0x9e, 0x8d, 0xbf, 0x93, 0x81, 0x8a, 0xd6, 0x6d, 0xb6, 0x0a, + 0x4b, 0x5b, 0x07, 0x07, 0x87, 0x6d, 0xb3, 0xd5, 0xef, 0x7c, 0xda, 0xb6, 0xb6, 0xf6, 0x0e, 0x7a, + 0xed, 0xc6, 0x0d, 0x01, 0xde, 0x3b, 0xd8, 0x6a, 0xed, 0x59, 0x3b, 0x07, 0xe6, 0x96, 0x02, 0x67, + 0xd8, 0x1a, 0x30, 0xb3, 0xbd, 0x7f, 0xd0, 0x6f, 0x27, 0xe0, 0x59, 0xd6, 0x80, 0xea, 0xa6, 0xd9, + 0x6e, 0x6d, 0xed, 0x4a, 0x48, 0x8e, 0xad, 0x40, 0x63, 0xe7, 0xa8, 0xbb, 0xdd, 0xe9, 0x3e, 0xb5, + 0xb6, 0x5a, 0xdd, 0xad, 0xf6, 0x5e, 0x7b, 0xbb, 0x91, 0x67, 0x35, 0x28, 0xb7, 0x36, 0x5b, 0xdd, + 0xed, 0x83, 0x6e, 0x7b, 0xbb, 0x51, 0x30, 0x7e, 0x05, 0xca, 0xf1, 0x40, 0x2b, 0x50, 0x3c, 0xea, + 0x3e, 0xeb, 0x1e, 0x7c, 0xd6, 0x6d, 0xdc, 0x60, 0x65, 0x28, 0x60, 0xfb, 0x8d, 0x0c, 0x03, 0x58, + 0xa0, 0x36, 0x1b, 0x59, 0x56, 0x82, 0xfc, 0xe6, 0x41, 0x7f, 0xb7, 0x91, 0x33, 0xfe, 0x32, 0x03, + 0xab, 0x38, 0xe4, 0xe1, 0xac, 0x10, 0xb8, 0x0b, 0x95, 0x81, 0xe7, 0x4d, 0x84, 0xa5, 0x15, 0x6b, + 0x14, 0x3a, 0x48, 0x2c, 0x70, 0x12, 0xde, 0x27, 0x9e, 0x3f, 0xe0, 0x52, 0x06, 0x00, 0x82, 0x76, + 0x04, 0x44, 0xf0, 0xa0, 0x64, 0x62, 0xa2, 0x20, 0x11, 0x50, 0x21, 0x18, 0x91, 0xac, 0xc1, 0xc2, + 0xb1, 0xcf, 0xed, 0xc1, 0x99, 0x5c, 0xfd, 0xf2, 0x89, 0xbd, 0x1b, 0xfb, 0x00, 0x06, 0x82, 0xa7, + 0x46, 0x7c, 0x88, 0x4b, 0xa0, 0x64, 0x2e, 0x4a, 0xf8, 0x96, 0x04, 0x8b, 0xdd, 0xc8, 0x3e, 0xb6, + 0xdd, 0xa1, 0xe7, 0xf2, 0xa1, 0x34, 0x35, 0x62, 0x80, 0x71, 0x08, 0x6b, 0xb3, 0xe3, 0x93, 0xf2, + 0xe2, 0x43, 0x4d, 0x5e, 0x90, 0xe6, 0xbf, 0x71, 0x3d, 0x2b, 0x68, 0xb2, 0xe3, 0xef, 0xe5, 0x21, + 0x2f, 0x34, 0xc1, 0x6b, 0x95, 0x46, 0x5d, 0xb5, 0xcf, 0xcd, 0x85, 0x7f, 0xd0, 0xd5, 0x40, 0x2a, + 0x02, 0xf9, 0xb3, 0xca, 0x08, 0x41, 0xd5, 0x20, 0x42, 0xfb, 0x7c, 0x70, 0x2e, 0x1d, 0x5a, 0x84, + 0x36, 0xf9, 0xe0, 0x1c, 0x6d, 0x2a, 0x3b, 0xa4, 0xb2, 0xb4, 0xde, 0x8b, 0x81, 0x1d, 0x62, 0x49, + 0x89, 0xc2, 0x72, 0xc5, 0x08, 0x85, 0xa5, 0x9a, 0x50, 0x74, 0xdc, 0x63, 0x6f, 0xea, 0x0e, 0x71, + 0x79, 0x97, 0x4c, 0xf5, 0x88, 0xd1, 0x26, 0x94, 0x44, 0x62, 0x23, 0xa2, 0xd5, 0x5c, 0x12, 0x80, + 0xbe, 0xd8, 0x8a, 0x3e, 0x80, 0x72, 0x70, 0xe5, 0x0e, 0xf4, 0x35, 0xbc, 0x22, 0xe7, 0x47, 0x8c, + 0xfe, 0x41, 0xef, 0xca, 0x1d, 0xe0, 0x8a, 0x2d, 0x05, 0xf2, 0x17, 0x7b, 0x02, 0xa5, 0xc8, 0xef, + 0x4b, 0x12, 0xf8, 0xa6, 0x5e, 0x42, 0x39, 0x7b, 0xc9, 0xbc, 0x8e, 0x48, 0xd9, 0x43, 0x58, 0x40, + 0xe7, 0x6c, 0xd0, 0xac, 0x62, 0x21, 0xa5, 0xef, 0x8b, 0x6e, 0x60, 0xa0, 0x87, 0x0f, 0xd1, 0x51, + 0x6b, 0x4a, 0xb2, 0x8d, 0x67, 0x50, 0x4b, 0xd4, 0xa5, 0x1b, 0xd1, 0x35, 0x32, 0xa2, 0xdf, 0xd2, + 0x8d, 0xe8, 0x78, 0x27, 0x90, 0xc5, 0x74, 0xa3, 0xfa, 0xd7, 0xa0, 0xa4, 0x86, 0x22, 0xd6, 0x9f, + 0x5c, 0x3b, 0x56, 0xef, 0xf3, 0xee, 0x56, 0xe3, 0x06, 0x5b, 0x84, 0x4a, 0x6b, 0x0b, 0x97, 0x34, + 0x02, 0x32, 0x82, 0xe4, 0xb0, 0xd5, 0xeb, 0x45, 0x90, 0xac, 0xb1, 0x03, 0x8d, 0xd9, 0x9e, 0x0a, + 0x9e, 0x0c, 0x15, 0x4c, 0xba, 0xae, 0x63, 0x80, 0x30, 0x91, 0xc8, 0x1b, 0x4d, 0x7a, 0x38, 0x3d, + 0x18, 0x4f, 0xa0, 0x21, 0xf6, 0x35, 0x31, 0x55, 0x81, 0xe6, 0x02, 0x1e, 0x09, 0xdd, 0x4e, 0x77, + 0x5f, 0x97, 0xcc, 0x0a, 0xc1, 0xb0, 0x29, 0xe3, 0x43, 0x58, 0xd2, 0x8a, 0xc5, 0x26, 0xad, 0xd8, + 0x2b, 0x67, 0x4d, 0x5a, 0x34, 0x60, 0x08, 0x63, 0xac, 0xc3, 0xaa, 0x78, 0x6c, 0x9f, 0x73, 0x37, + 0xec, 0x4d, 0x8f, 0x29, 0xe6, 0xe8, 0x78, 0xae, 0x30, 0x6c, 0xca, 0x11, 0xe6, 0x7a, 0x26, 0x7f, + 0x20, 0xad, 0xdf, 0x2c, 0xb2, 0xc6, 0x86, 0xd6, 0x02, 0x16, 0x7c, 0x80, 0x7f, 0x13, 0x56, 0x70, + 0x39, 0x02, 0x89, 0x69, 0x3d, 0x6c, 0xb7, 0x4d, 0xeb, 0xa0, 0xbb, 0xd7, 0xe9, 0x0a, 0x41, 0x29, + 0xa6, 0x15, 0x01, 0x3b, 0x3b, 0x08, 0xc9, 0x18, 0x0d, 0xa8, 0x3f, 0xe5, 0x61, 0xc7, 0x3d, 0xf1, + 0x54, 0x7c, 0xed, 0xa7, 0x05, 0x58, 0x8c, 0x40, 0xb1, 0x15, 0x7d, 0xce, 0xfd, 0xc0, 0xf1, 0x5c, + 0x54, 0x88, 0xcb, 0xa6, 0x7a, 0x14, 0xbb, 0x9b, 0x33, 0xe4, 0x6e, 0xe8, 0x84, 0x57, 0x56, 0xc2, + 0xe5, 0x56, 0x57, 0x60, 0xb9, 0x8b, 0xae, 0x40, 0xc1, 0x1e, 0x39, 0xb6, 0x0a, 0xd5, 0xd2, 0x83, + 0x80, 0x0e, 0xbc, 0x91, 0xe7, 0xa3, 0xee, 0x5b, 0x36, 0xe9, 0x81, 0x3d, 0x82, 0x15, 0xa1, 0x83, + 0xeb, 0x7e, 0x50, 0x94, 0x1f, 0xe4, 0xfd, 0x63, 0xee, 0x74, 0x7c, 0x18, 0xfb, 0x42, 0x05, 0x46, + 0xec, 0x9d, 0xa2, 0x84, 0x54, 0x96, 0xa2, 0x02, 0x64, 0xce, 0x2d, 0xb9, 0xd3, 0x71, 0x0b, 0x31, + 0x11, 0xfd, 0x63, 0x58, 0x15, 0xf4, 0x91, 0x7a, 0x15, 0x95, 0x58, 0xc4, 0x12, 0xa2, 0xb2, 0x8e, + 0xc4, 0x45, 0x65, 0x6e, 0x41, 0x99, 0x7a, 0x25, 0xde, 0x78, 0x81, 0xd4, 0x78, 0xec, 0x0a, 0xf7, + 0x83, 0xb9, 0xa8, 0xea, 0x02, 0x29, 0x02, 0x33, 0x51, 0x55, 0x2d, 0x2e, 0x5b, 0x9a, 0x8d, 0xcb, + 0x3e, 0x86, 0xd5, 0x63, 0xc1, 0x82, 0x67, 0xdc, 0x1e, 0x72, 0xdf, 0x8a, 0x19, 0x9b, 0xcc, 0x95, + 0x65, 0x81, 0xdc, 0x45, 0x5c, 0xb4, 0x0e, 0x84, 0x9e, 0x23, 0xc4, 0x02, 0x1f, 0x5a, 0xa1, 0x67, + 0xa1, 0xfa, 0x83, 0x02, 0xa6, 0x64, 0xd6, 0x08, 0xdc, 0xf7, 0xb6, 0x04, 0x30, 0x49, 0x77, 0xea, + 0xdb, 0x93, 0x33, 0x69, 0x50, 0x44, 0x74, 0x4f, 0x05, 0x90, 0xbd, 0x06, 0x45, 0xc1, 0xf2, 0x2e, + 0xa7, 0xe0, 0x17, 0xa9, 0xec, 0x0a, 0xc4, 0xde, 0x82, 0x05, 0x6c, 0x23, 0x68, 0x36, 0x90, 0xdf, + 0xab, 0xb1, 0x20, 0x77, 0x5c, 0x53, 0xe2, 0x84, 0x32, 0x39, 0xf5, 0x1d, 0x92, 0x32, 0x65, 0x13, + 0x7f, 0xb3, 0xef, 0x6a, 0x22, 0x6b, 0x19, 0xcb, 0x2a, 0x7d, 0x60, 0x86, 0xd3, 0xae, 0x93, 0x5e, + 0xbf, 0x50, 0x61, 0xf4, 0xbd, 0x7c, 0xa9, 0xd2, 0xa8, 0x1a, 0xdf, 0x82, 0x02, 0xcd, 0x8e, 0x60, + 0x42, 0x9c, 0xbb, 0x8c, 0x64, 0x42, 0x84, 0x36, 0xa1, 0xe8, 0xf2, 0xf0, 0xc2, 0xf3, 0x9f, 0x2b, + 0xa7, 0xb4, 0x7c, 0x34, 0x7e, 0x84, 0xde, 0x94, 0x28, 0xe2, 0x4e, 0x86, 0xa1, 0x60, 0x0f, 0x7a, + 0xbd, 0xc1, 0x99, 0x2d, 0x1d, 0x3c, 0x25, 0x04, 0xf4, 0xce, 0xec, 0x39, 0xf6, 0xc8, 0xce, 0x07, + 0xdd, 0xdf, 0x82, 0xba, 0x8a, 0xf1, 0x07, 0xd6, 0x88, 0x9f, 0x84, 0x92, 0xdd, 0xab, 0x32, 0xc0, + 0x1f, 0xec, 0xf1, 0x93, 0xd0, 0xd8, 0x87, 0x25, 0xc9, 0x90, 0x07, 0x13, 0xae, 0x9a, 0xfe, 0x76, + 0x9a, 0x3e, 0x5d, 0x79, 0xbc, 0x9c, 0xdc, 0x68, 0x29, 0x77, 0x21, 0xa1, 0x64, 0x1b, 0x9f, 0x00, + 0xd3, 0xb7, 0x61, 0x59, 0x9f, 0xd4, 0x6a, 0x95, 0x2f, 0x5f, 0x85, 0xc4, 0x22, 0xdd, 0xd9, 0x19, + 0x8a, 0xd9, 0x09, 0xa6, 0x83, 0x81, 0xca, 0xbd, 0x28, 0x99, 0xea, 0xd1, 0xf8, 0xb3, 0x0c, 0x2c, + 0x63, 0x65, 0xca, 0x1e, 0x90, 0x42, 0xf6, 0x67, 0xee, 0xa4, 0x78, 0x3f, 0xba, 0xee, 0x43, 0x0f, + 0x5f, 0xdd, 0x7b, 0x9a, 0x9f, 0xf3, 0x9e, 0xbe, 0x0b, 0x8d, 0x21, 0x1f, 0x39, 0x98, 0x86, 0xa3, + 0x54, 0x09, 0xb2, 0x00, 0x16, 0x15, 0x5c, 0x5a, 0x83, 0xc6, 0x3f, 0xca, 0xc0, 0x12, 0x69, 0x2a, + 0x68, 0x57, 0xcb, 0x89, 0xfa, 0x58, 0x19, 0x92, 0x52, 0x54, 0xc9, 0x31, 0xc5, 0x3b, 0x38, 0x42, + 0x89, 0x78, 0xf7, 0x86, 0x34, 0x30, 0x25, 0x94, 0x7d, 0x84, 0x36, 0x8c, 0x6b, 0x21, 0x30, 0x25, + 0xad, 0x27, 0xf9, 0x52, 0x76, 0x6f, 0xa0, 0x81, 0xe3, 0x22, 0x68, 0xb3, 0x24, 0x2c, 0x5b, 0x01, + 0x36, 0x76, 0xa0, 0x96, 0x68, 0x26, 0xe1, 0xe2, 0xad, 0x92, 0x8b, 0x77, 0x2e, 0x8c, 0x92, 0x9d, + 0x0f, 0xa3, 0xfc, 0xad, 0x3c, 0x30, 0xc1, 0x52, 0x33, 0x6f, 0x6d, 0x26, 0x06, 0x99, 0x9d, 0x8b, + 0x41, 0x3e, 0x02, 0xa6, 0x11, 0xa8, 0xd0, 0x68, 0x2e, 0x0a, 0x8d, 0x36, 0x62, 0x5a, 0x19, 0x19, + 0x7d, 0x04, 0x2b, 0x52, 0xa1, 0x8d, 0x82, 0x8e, 0xe8, 0xbb, 0xa3, 0xf7, 0xc3, 0x48, 0xb3, 0x55, + 0xc1, 0x47, 0xf4, 0xe3, 0xa9, 0xf8, 0xa3, 0xb0, 0xc1, 0xc9, 0xe5, 0x85, 0xf1, 0x47, 0x65, 0x7d, + 0x6b, 0x5c, 0xb0, 0xf0, 0x52, 0x2e, 0x28, 0xce, 0x71, 0x81, 0xe6, 0x81, 0x29, 0x25, 0x3d, 0x30, + 0x06, 0xd4, 0x54, 0x94, 0x91, 0x92, 0x2b, 0x48, 0x7b, 0xab, 0xc8, 0x50, 0x23, 0x26, 0x58, 0xdc, + 0x83, 0x86, 0x72, 0x93, 0x44, 0x3e, 0x1e, 0x4a, 0x1c, 0x90, 0x5e, 0xb6, 0x2d, 0xe5, 0xe9, 0x49, + 0x78, 0xd4, 0x2b, 0x33, 0x1e, 0xf5, 0xf7, 0x60, 0x29, 0x10, 0x4c, 0x64, 0x4d, 0x5d, 0x99, 0xe5, + 0xc3, 0x87, 0x68, 0x3a, 0x95, 0xcc, 0x06, 0x22, 0x8e, 0x62, 0xf8, 0xbc, 0xff, 0xa2, 0x96, 0xe2, + 0xbf, 0x78, 0x12, 0x07, 0xe4, 0x82, 0x33, 0x67, 0x8c, 0x1b, 0x77, 0x9c, 0x11, 0x23, 0x27, 0xb8, + 0x77, 0xe6, 0x8c, 0x4d, 0x15, 0xfd, 0x15, 0x0f, 0xc6, 0xbf, 0xcd, 0x40, 0x43, 0xf0, 0x41, 0x82, + 0xcf, 0x7f, 0x05, 0x70, 0x45, 0xbe, 0x22, 0x9b, 0x57, 0x04, 0xad, 0xe2, 0xf2, 0x6f, 0x01, 0xb2, + 0xad, 0x25, 0xec, 0x44, 0xc9, 0xe4, 0xcd, 0x24, 0x93, 0xc7, 0x82, 0x6c, 0xf7, 0x06, 0x19, 0x00, + 0x02, 0x92, 0x16, 0x08, 0xcd, 0xa7, 0x04, 0x42, 0xb5, 0xa5, 0xb0, 0x0b, 0xf0, 0x8c, 0x5f, 0xed, + 0x79, 0x03, 0xb4, 0xd0, 0x6e, 0x03, 0x08, 0x86, 0x3c, 0xb1, 0xc7, 0x8e, 0xf4, 0xae, 0x14, 0xcc, + 0xf2, 0x73, 0x7e, 0xb5, 0x83, 0x00, 0xf1, 0x36, 0x04, 0x3a, 0x5e, 0x0f, 0x05, 0xb3, 0xf4, 0x9c, + 0x5f, 0xd1, 0x62, 0xb0, 0xa0, 0xf6, 0x8c, 0x5f, 0x6d, 0x73, 0x52, 0xd7, 0x3c, 0x5f, 0x70, 0x82, + 0x6f, 0x5f, 0x08, 0xfd, 0x2c, 0x11, 0xc4, 0xac, 0xf8, 0xf6, 0xc5, 0x33, 0x7e, 0xa5, 0x02, 0xaa, + 0x45, 0x81, 0x1f, 0x79, 0x03, 0xb9, 0x03, 0xa9, 0x74, 0x8c, 0xb8, 0x53, 0xe6, 0xc2, 0x73, 0xfc, + 0x6d, 0xfc, 0x55, 0x06, 0x6a, 0xa2, 0xff, 0x28, 0xe0, 0xc4, 0xbc, 0xab, 0xac, 0x9e, 0x4c, 0x9c, + 0xd5, 0xf3, 0x58, 0xca, 0x07, 0x92, 0x96, 0xd9, 0xeb, 0xa5, 0x25, 0x4e, 0x30, 0x89, 0xca, 0x0f, + 0xa0, 0x4c, 0x6b, 0x4b, 0x2c, 0xd6, 0x5c, 0xe2, 0x2d, 0x25, 0x06, 0x64, 0x96, 0x90, 0xec, 0x19, + 0x25, 0x11, 0x68, 0x9e, 0x3a, 0x9a, 0xe2, 0xb2, 0x1f, 0xf9, 0xe7, 0x52, 0x5e, 0x43, 0xe1, 0x9a, + 0x24, 0x02, 0xdd, 0x0d, 0xb6, 0x30, 0xe7, 0x06, 0x3b, 0x82, 0x8a, 0xc6, 0x74, 0xe8, 0xf7, 0x8b, + 0x46, 0x47, 0x1c, 0x9a, 0xe4, 0xaa, 0xc4, 0xf4, 0xec, 0xde, 0x30, 0x6b, 0x03, 0x1d, 0xb0, 0xb9, + 0x00, 0x79, 0x51, 0xc8, 0xf8, 0x18, 0x96, 0xb4, 0x6a, 0xc9, 0x5c, 0x4d, 0xeb, 0x74, 0x26, 0x2d, + 0x88, 0xfe, 0x8f, 0x33, 0xb0, 0x22, 0x4b, 0x63, 0x8a, 0x98, 0x23, 0xf6, 0xf3, 0xfd, 0xe0, 0x94, + 0xfd, 0x0a, 0xd4, 0x44, 0xed, 0x96, 0xcf, 0x4f, 0x9d, 0x20, 0xe4, 0x2a, 0x46, 0x92, 0xb2, 0x7a, + 0x84, 0x58, 0x17, 0xa4, 0xa6, 0xa4, 0x64, 0x1f, 0x43, 0x05, 0x8b, 0x92, 0x41, 0x2d, 0xdf, 0x5b, + 0x73, 0xbe, 0x20, 0x75, 0x75, 0xf7, 0x86, 0x09, 0x41, 0xf4, 0xb4, 0x59, 0x86, 0x62, 0xe8, 0x3b, + 0xa7, 0xa7, 0xdc, 0x37, 0xd6, 0xa2, 0xae, 0x89, 0xa5, 0xc8, 0x7b, 0x21, 0x9f, 0x08, 0x2d, 0xc9, + 0xf8, 0x8f, 0x19, 0xa8, 0xc8, 0xc5, 0xf5, 0x33, 0x07, 0x46, 0x36, 0xb4, 0x1c, 0x47, 0xb2, 0x9d, + 0xe3, 0x94, 0xc6, 0x77, 0x60, 0x71, 0x2c, 0x34, 0x26, 0xa1, 0xd1, 0x27, 0xa2, 0x22, 0x75, 0x05, + 0x96, 0x0a, 0xcb, 0x03, 0x58, 0x46, 0xfd, 0x25, 0xb0, 0x42, 0x67, 0x64, 0x29, 0xa4, 0xcc, 0x27, + 0x5c, 0x22, 0x54, 0xdf, 0x19, 0xed, 0x4b, 0x84, 0xd8, 0xc6, 0x83, 0xd0, 0x3e, 0xe5, 0x92, 0x37, + 0xe8, 0xc1, 0x68, 0xc2, 0xda, 0x8c, 0x32, 0xaf, 0x0c, 0x91, 0x3f, 0x58, 0x82, 0xf5, 0x39, 0x94, + 0x34, 0x48, 0xa2, 0x68, 0xc0, 0xc8, 0x19, 0x1f, 0x7b, 0x91, 0xaf, 0x2c, 0xa3, 0x45, 0x03, 0xf6, + 0x04, 0x46, 0xf9, 0xca, 0x38, 0xac, 0x2a, 0x86, 0x40, 0x67, 0x57, 0xa4, 0xef, 0x67, 0x51, 0x1b, + 0xfd, 0x20, 0x29, 0xc9, 0x66, 0x9b, 0x53, 0x70, 0x7d, 0x7f, 0x5c, 0x9e, 0xcc, 0xc1, 0x02, 0xf6, + 0x9b, 0xd0, 0x8c, 0xf8, 0x4e, 0x2a, 0x50, 0x9a, 0xf1, 0x22, 0x5a, 0x7a, 0xff, 0x25, 0x2d, 0x25, + 0xbc, 0x28, 0xb8, 0x81, 0xae, 0x29, 0x96, 0xa5, 0x0a, 0xa3, 0xb6, 0xce, 0xe1, 0x75, 0xd5, 0x16, + 0x2a, 0x44, 0xf3, 0x2d, 0xe6, 0x5f, 0x69, 0x6c, 0xe8, 0x21, 0x4a, 0x34, 0x6b, 0xde, 0x92, 0x15, + 0x47, 0x28, 0xbd, 0xdd, 0x33, 0x58, 0xbb, 0xb0, 0x9d, 0x50, 0x8d, 0x51, 0xb3, 0x9d, 0x0a, 0xd8, + 0xde, 0xe3, 0x97, 0xb4, 0xf7, 0x19, 0x15, 0x4e, 0xa8, 0x88, 0x2b, 0x17, 0xf3, 0xc0, 0x60, 0xe3, + 0x4f, 0xb3, 0x50, 0x4f, 0xd6, 0x22, 0x16, 0xb6, 0x14, 0x56, 0x4a, 0xe9, 0x90, 0x4a, 0xbb, 0xf4, + 0xe3, 0x76, 0x49, 0xd9, 0x98, 0xf7, 0x30, 0x67, 0x53, 0x3c, 0xcc, 0xba, 0x63, 0x37, 0xf7, 0xb2, + 0x48, 0x5a, 0xfe, 0x95, 0x22, 0x69, 0x85, 0xb4, 0x48, 0xda, 0xf5, 0xe1, 0x97, 0x85, 0x9f, 0x29, + 0xfc, 0x52, 0x7c, 0x41, 0xf8, 0x25, 0x11, 0x34, 0x2a, 0xcd, 0x04, 0x8d, 0x36, 0xfe, 0x2a, 0x03, + 0x6c, 0x9e, 0x97, 0xd9, 0x53, 0x72, 0xb5, 0xbb, 0x7c, 0x24, 0xe5, 0xdc, 0xd7, 0x5f, 0x6d, 0x3d, + 0xa8, 0xd7, 0xa7, 0x4a, 0xb3, 0x87, 0xb0, 0xac, 0xe7, 0x28, 0xeb, 0xd6, 0x4e, 0xcd, 0x64, 0x3a, + 0x2a, 0xb6, 0x89, 0xb5, 0x20, 0x63, 0xfe, 0xa5, 0x41, 0xc6, 0xc2, 0x4b, 0x83, 0x8c, 0x0b, 0xc9, + 0x20, 0xe3, 0xc6, 0x7f, 0xce, 0xc0, 0x72, 0x0a, 0xcb, 0xfd, 0xe2, 0xc6, 0x2c, 0x38, 0x25, 0x21, + 0x84, 0xb2, 0x92, 0x53, 0x74, 0xf9, 0xb3, 0x07, 0x95, 0x38, 0x6e, 0xa5, 0x72, 0xf8, 0xef, 0xbf, + 0x4c, 0x16, 0xc4, 0x25, 0x4c, 0xbd, 0xf8, 0xc6, 0xef, 0x67, 0xa1, 0xa2, 0x21, 0xc5, 0x2c, 0x12, + 0x83, 0x69, 0xb9, 0x1d, 0xa4, 0x07, 0xa0, 0xad, 0x76, 0x07, 0xa4, 0x33, 0x98, 0xf0, 0xb4, 0x14, + 0xe4, 0xa6, 0x8f, 0x04, 0x0f, 0x60, 0x59, 0x85, 0x41, 0x78, 0x9c, 0xc2, 0x25, 0x77, 0x86, 0x25, + 0x19, 0x0c, 0xe1, 0x51, 0x46, 0x18, 0x7b, 0xa8, 0x34, 0xf8, 0xf8, 0xdd, 0x21, 0x63, 0x92, 0xa7, + 0x75, 0x89, 0xd8, 0x59, 0xbd, 0x44, 0xc1, 0x95, 0x1f, 0xc0, 0xaa, 0x62, 0xe6, 0x64, 0x09, 0x72, + 0xbe, 0x32, 0xc9, 0xca, 0x7a, 0x91, 0xef, 0xc2, 0xed, 0x99, 0x3e, 0xcd, 0x14, 0xa5, 0x5c, 0xc3, + 0x9b, 0x89, 0xde, 0xe9, 0x35, 0x6c, 0xfc, 0x18, 0x6a, 0x09, 0xb1, 0xf6, 0x8b, 0x7b, 0xe5, 0xb3, + 0xf6, 0x31, 0xcd, 0xa8, 0x6e, 0x1f, 0x6f, 0xfc, 0x9f, 0x1c, 0xb0, 0x79, 0xc9, 0xfa, 0xcb, 0xec, + 0xc2, 0x3c, 0x63, 0xe6, 0x52, 0x18, 0xf3, 0xff, 0xd9, 0x6e, 0xff, 0x1e, 0x2c, 0xc9, 0xb3, 0x2c, + 0x5a, 0x2c, 0x8b, 0x16, 0x67, 0x23, 0x42, 0xa8, 0x5e, 0x7c, 0x6b, 0x36, 0xa6, 0x5e, 0x4a, 0xa4, + 0xef, 0x6b, 0xea, 0xce, 0x4c, 0x68, 0xfd, 0x08, 0x16, 0x6c, 0x77, 0x70, 0xe6, 0xf9, 0x68, 0x9a, + 0xd5, 0x1f, 0xff, 0xea, 0x57, 0xde, 0xec, 0x1e, 0xb4, 0xb0, 0x3c, 0xea, 0x58, 0xa6, 0xac, 0xcc, + 0xf8, 0x00, 0x2a, 0x1a, 0x18, 0xe3, 0x3b, 0x9d, 0xfd, 0xcd, 0x83, 0xc6, 0x0d, 0x56, 0x83, 0xb2, + 0xd9, 0xde, 0x3a, 0xf8, 0xb4, 0x6d, 0xb6, 0xb7, 0x1b, 0x19, 0x56, 0x82, 0xfc, 0xde, 0x41, 0xaf, + 0xdf, 0xc8, 0x1a, 0x1b, 0xd0, 0x94, 0x35, 0xce, 0xfb, 0x7a, 0x7f, 0x27, 0x1f, 0xb9, 0x59, 0x10, + 0x29, 0xad, 0xaa, 0x6f, 0x40, 0x55, 0x57, 0x46, 0x24, 0x47, 0xcc, 0x84, 0x53, 0x85, 0x3d, 0xe5, + 0x69, 0xb2, 0x7a, 0x0b, 0x28, 0x48, 0x36, 0x8c, 0x8a, 0x91, 0x86, 0xf9, 0x82, 0xa8, 0x0a, 0x2a, + 0xcf, 0x09, 0x36, 0xfc, 0xff, 0xa0, 0x9e, 0x74, 0x7c, 0x4a, 0x89, 0x94, 0x66, 0x5e, 0x88, 0xd2, + 0x09, 0x4f, 0x28, 0xfb, 0x2e, 0x34, 0x66, 0x1d, 0xa7, 0x32, 0xcb, 0xf9, 0x9a, 0xf2, 0x8b, 0x4e, + 0xd2, 0x97, 0xca, 0x76, 0x61, 0x25, 0x4d, 0x1d, 0x43, 0xfe, 0xb8, 0xde, 0xae, 0x64, 0xf3, 0x2a, + 0x17, 0xfb, 0xb6, 0xf4, 0x8f, 0x17, 0xd2, 0xa2, 0x8c, 0xda, 0x64, 0x3f, 0xa0, 0x7f, 0x9a, 0xa7, + 0xfc, 0x1c, 0x20, 0x86, 0xb1, 0x06, 0x54, 0x0f, 0x0e, 0xdb, 0x5d, 0x6b, 0x6b, 0xb7, 0xd5, 0xed, + 0xb6, 0xf7, 0x1a, 0x37, 0x18, 0x83, 0x3a, 0x86, 0x07, 0xb7, 0x23, 0x58, 0x46, 0xc0, 0x64, 0x9c, + 0x42, 0xc1, 0xb2, 0x6c, 0x05, 0x1a, 0x9d, 0xee, 0x0c, 0x34, 0xc7, 0x9a, 0xb0, 0x72, 0xd8, 0xa6, + 0x88, 0x62, 0xa2, 0xde, 0xbc, 0x50, 0xf1, 0xe5, 0x70, 0x85, 0x8a, 0x4f, 0x67, 0xb2, 0xe4, 0x3a, + 0x50, 0x9a, 0xef, 0xef, 0x66, 0x60, 0x75, 0x06, 0x11, 0x67, 0xda, 0x93, 0xde, 0x9b, 0xd4, 0x78, + 0xab, 0x08, 0x54, 0xab, 0xe9, 0x3d, 0x58, 0x8a, 0x7c, 0x05, 0x33, 0xbb, 0x52, 0x23, 0x42, 0x28, + 0xe2, 0x87, 0xb0, 0xac, 0xb9, 0x1c, 0x66, 0x64, 0x05, 0xd3, 0x50, 0xb2, 0x80, 0xb1, 0x1e, 0x65, + 0x34, 0xcf, 0xf4, 0x7a, 0x48, 0x07, 0xbd, 0x74, 0x44, 0x1c, 0x3e, 0x48, 0xf6, 0x57, 0x3d, 0xb2, + 0x47, 0x33, 0x8c, 0x90, 0xec, 0xad, 0xfe, 0xc2, 0x55, 0xf3, 0x7f, 0xb8, 0x00, 0xec, 0x93, 0x29, + 0xf7, 0xaf, 0x30, 0x93, 0x3e, 0x78, 0x59, 0x6a, 0x99, 0xb2, 0xab, 0xb3, 0xaf, 0x74, 0x5a, 0x26, + 0xed, 0xb4, 0x4a, 0xfe, 0xe5, 0xa7, 0x55, 0x0a, 0x2f, 0x3b, 0xad, 0xf2, 0x26, 0xd4, 0x9c, 0x53, + 0xd7, 0x13, 0xa2, 0x50, 0xe8, 0xad, 0x41, 0x73, 0xe1, 0x6e, 0xee, 0x5e, 0xd5, 0xac, 0x4a, 0xa0, + 0xd0, 0x5a, 0x03, 0xf6, 0x71, 0x4c, 0xc4, 0x87, 0xa7, 0x78, 0xb2, 0x4a, 0x17, 0x82, 0xed, 0xe1, + 0x29, 0x97, 0x6e, 0x04, 0xb4, 0x0b, 0x54, 0x61, 0x01, 0x0f, 0xd8, 0x5b, 0x50, 0x0f, 0xbc, 0xa9, + 0x30, 0x03, 0xd4, 0x34, 0x50, 0x80, 0xa1, 0x4a, 0xd0, 0x43, 0x15, 0x4d, 0x5a, 0x9e, 0x06, 0xdc, + 0x1a, 0x3b, 0x41, 0x20, 0xd4, 0xb3, 0x81, 0xe7, 0x86, 0xbe, 0x37, 0x92, 0x31, 0x83, 0xa5, 0x69, + 0xc0, 0xf7, 0x09, 0xb3, 0x45, 0x08, 0xf6, 0xcd, 0xb8, 0x4b, 0x13, 0xdb, 0xf1, 0x83, 0x26, 0x60, + 0x97, 0xd4, 0x48, 0x51, 0xdb, 0xb6, 0x1d, 0x3f, 0xea, 0x8b, 0x78, 0x08, 0x66, 0x4e, 0xd1, 0x54, + 0x66, 0x4f, 0xd1, 0xfc, 0x30, 0xfd, 0x14, 0x4d, 0x0d, 0xab, 0x7e, 0x24, 0xab, 0x9e, 0x7f, 0xc5, + 0x5f, 0xe9, 0x30, 0xcd, 0xfc, 0xe1, 0xa0, 0xfa, 0x57, 0x39, 0x1c, 0xb4, 0x98, 0x76, 0x38, 0xe8, + 0x03, 0xa8, 0xe0, 0xb1, 0x0d, 0xeb, 0xcc, 0x11, 0x3a, 0x1c, 0xc5, 0x40, 0x1a, 0xfa, 0xb9, 0x8e, + 0x5d, 0xc7, 0x0d, 0x4d, 0xf0, 0xd5, 0xcf, 0x60, 0xfe, 0x9c, 0xce, 0xd2, 0x2f, 0xf1, 0x9c, 0x8e, + 0x3c, 0x5e, 0xf2, 0x00, 0x4a, 0xea, 0x3d, 0x31, 0x06, 0xf9, 0x13, 0xdf, 0x1b, 0x2b, 0xdf, 0xb0, + 0xf8, 0xcd, 0xea, 0x90, 0x0d, 0x3d, 0x59, 0x38, 0x1b, 0x7a, 0xc6, 0x6f, 0x40, 0x45, 0x63, 0x35, + 0xf6, 0x06, 0x79, 0xa1, 0x84, 0x25, 0x25, 0x75, 0x4b, 0x9a, 0xc5, 0xb2, 0x84, 0x76, 0x86, 0x42, + 0xde, 0x0c, 0x1d, 0x9f, 0xe3, 0x89, 0x3a, 0xcb, 0xe7, 0xe7, 0xdc, 0x0f, 0x94, 0xaf, 0xbe, 0x11, + 0x21, 0x4c, 0x82, 0x1b, 0x7f, 0x0d, 0x96, 0x13, 0xef, 0x56, 0x8a, 0x88, 0xb7, 0x60, 0x01, 0xe7, + 0x4d, 0xc5, 0x52, 0x93, 0xe7, 0x65, 0x24, 0x0e, 0x8f, 0x4a, 0x53, 0x98, 0xc1, 0x9a, 0xf8, 0xde, + 0x31, 0x36, 0x92, 0x31, 0x2b, 0x12, 0x76, 0xe8, 0x7b, 0xc7, 0xc6, 0x5f, 0xe4, 0x20, 0xb7, 0xeb, + 0x4d, 0xf4, 0xf4, 0xa1, 0xcc, 0x5c, 0xfa, 0x90, 0x34, 0x0f, 0xad, 0xc8, 0xfc, 0x93, 0x3a, 0x3b, + 0x3a, 0xd8, 0x95, 0x09, 0x78, 0x0f, 0xea, 0x42, 0x4e, 0x84, 0x9e, 0xb0, 0xaf, 0x2f, 0x6c, 0x9f, + 0x14, 0xe2, 0x1c, 0x2d, 0x3e, 0x7b, 0x1c, 0xf6, 0xbd, 0x1d, 0x82, 0xb3, 0x15, 0xc8, 0x45, 0xe6, + 0x0b, 0xa2, 0xc5, 0x23, 0x5b, 0x83, 0x05, 0xcc, 0x23, 0xbd, 0x92, 0xc1, 0x42, 0xf9, 0xc4, 0xbe, + 0x0e, 0xcb, 0xc9, 0x7a, 0x49, 0x14, 0x49, 0xdd, 0x48, 0xaf, 0x18, 0x65, 0xd2, 0x4d, 0x10, 0x72, + 0x84, 0x68, 0x64, 0xce, 0xc1, 0x09, 0xe7, 0x88, 0xd2, 0x84, 0x5e, 0x29, 0x21, 0xf4, 0xee, 0x40, + 0x25, 0x1c, 0x9d, 0x5b, 0x13, 0xfb, 0x6a, 0xe4, 0xd9, 0x43, 0xb9, 0xbe, 0x21, 0x1c, 0x9d, 0x1f, + 0x12, 0x84, 0x3d, 0x04, 0x18, 0x4f, 0x26, 0x72, 0xed, 0xa1, 0xbf, 0x3a, 0x66, 0xe5, 0xfd, 0xc3, + 0x43, 0x62, 0x39, 0xb3, 0x3c, 0x9e, 0x4c, 0xe8, 0x27, 0xdb, 0x86, 0x7a, 0xea, 0xa9, 0xb7, 0xdb, + 0x2a, 0xed, 0xd1, 0x9b, 0x3c, 0x48, 0x59, 0x9c, 0xb5, 0x81, 0x0e, 0xdb, 0xf8, 0x2e, 0xb0, 0x9f, + 0xf3, 0xec, 0x59, 0x1f, 0xca, 0x51, 0xff, 0xf4, 0xa3, 0x5b, 0x98, 0xc8, 0x5c, 0x49, 0x1c, 0xdd, + 0x6a, 0x0d, 0x87, 0xbe, 0x90, 0x8b, 0xb4, 0x61, 0x46, 0x22, 0x1f, 0xb4, 0x1d, 0xb3, 0x45, 0x72, + 0xdf, 0xf8, 0xef, 0x19, 0x28, 0xd0, 0x39, 0xb2, 0xb7, 0x61, 0x91, 0xe8, 0xa3, 0x54, 0x2c, 0x19, + 0x62, 0xa4, 0x7d, 0xb7, 0x2f, 0xb3, 0xb0, 0xc4, 0xb2, 0xd0, 0xce, 0xc0, 0x66, 0xa3, 0x37, 0xaf, + 0x9d, 0x83, 0xbd, 0x03, 0xe5, 0xa8, 0x69, 0x8d, 0x75, 0x4a, 0xaa, 0x65, 0xf6, 0x3a, 0xe4, 0xcf, + 0xbc, 0x89, 0xf2, 0xd3, 0x40, 0x3c, 0x93, 0x26, 0xc2, 0xe3, 0xbe, 0x88, 0x36, 0xa8, 0xf3, 0xd2, + 0xbf, 0x10, 0x35, 0x82, 0x6c, 0x30, 0x3f, 0xc6, 0x85, 0x94, 0x31, 0x1e, 0xc1, 0xa2, 0x90, 0x03, + 0x5a, 0xa8, 0xff, 0xfa, 0x4d, 0xf3, 0x5d, 0xa1, 0xe1, 0x0d, 0x46, 0xd3, 0x21, 0xd7, 0x3d, 0x65, + 0x98, 0x17, 0x24, 0xe1, 0x4a, 0xb3, 0x36, 0xfe, 0x30, 0x43, 0xf2, 0x45, 0xd4, 0xcb, 0xee, 0x41, + 0x5e, 0xec, 0x6f, 0x33, 0x9e, 0xdc, 0x28, 0xa3, 0x5c, 0xd0, 0x99, 0x48, 0x81, 0x07, 0xc7, 0xa7, + 0xe3, 0x64, 0xed, 0x35, 0xb3, 0xe2, 0x4e, 0xc7, 0x91, 0xa3, 0xe9, 0x6b, 0x6a, 0x58, 0x33, 0x4e, + 0x1a, 0x1a, 0x7d, 0xb4, 0x4c, 0x1f, 0x68, 0x09, 0x46, 0xf9, 0xc4, 0x8e, 0xa9, 0xb4, 0xc0, 0xe1, + 0x29, 0xd7, 0x12, 0x8b, 0xfe, 0x38, 0x0b, 0xb5, 0x44, 0x8f, 0x30, 0xc3, 0x4a, 0x6c, 0x00, 0x14, + 0x46, 0x90, 0xef, 0x1b, 0x04, 0x48, 0x2a, 0xea, 0xda, 0x3c, 0x65, 0x13, 0xf3, 0x14, 0x25, 0x35, + 0xe4, 0xf4, 0xa4, 0x86, 0x47, 0x50, 0x8e, 0xcf, 0x3e, 0x27, 0xbb, 0x24, 0xda, 0x53, 0x79, 0xf5, + 0x31, 0x51, 0x9c, 0x06, 0x51, 0xd0, 0xd3, 0x20, 0xbe, 0xa3, 0x45, 0xcd, 0x17, 0xb0, 0x1a, 0x23, + 0x6d, 0x46, 0x7f, 0x29, 0x31, 0x73, 0xe3, 0x63, 0xa8, 0x68, 0x9d, 0xd7, 0xa3, 0xe3, 0x99, 0x44, + 0x74, 0x3c, 0x3a, 0x01, 0x93, 0x8d, 0x4f, 0xc0, 0x18, 0xbf, 0x95, 0x85, 0x9a, 0x58, 0x5f, 0x8e, + 0x7b, 0x7a, 0xe8, 0x8d, 0x9c, 0x01, 0x86, 0x15, 0xa2, 0x15, 0x26, 0x15, 0x2d, 0xb5, 0xce, 0xe4, + 0x12, 0x23, 0x3d, 0x4b, 0x3f, 0xe8, 0x47, 0x42, 0x3a, 0x3a, 0xe8, 0x67, 0x40, 0x4d, 0x08, 0xc6, + 0x63, 0x3b, 0xe0, 0xda, 0xc9, 0x6c, 0xb3, 0x72, 0xc2, 0xf9, 0xa6, 0x1d, 0x90, 0x84, 0xfc, 0x3a, + 0x2c, 0x0b, 0x1a, 0x3c, 0xe3, 0x34, 0x76, 0x46, 0x23, 0x87, 0x28, 0xc9, 0xd1, 0xd4, 0x38, 0xe1, + 0xdc, 0xb4, 0x43, 0xbe, 0x2f, 0x10, 0xf2, 0x20, 0x77, 0x69, 0xe8, 0x04, 0xf6, 0x71, 0x9c, 0x07, + 0x17, 0x3d, 0x63, 0x30, 0xd0, 0xbe, 0xd4, 0x82, 0x81, 0xe4, 0x80, 0xa8, 0x8c, 0xed, 0xcb, 0x28, + 0x18, 0x38, 0xc3, 0x49, 0xc5, 0x59, 0x4e, 0x32, 0xfe, 0x7d, 0x16, 0x2a, 0x1a, 0x5b, 0xbe, 0xca, + 0xee, 0x7a, 0x7b, 0x2e, 0x0c, 0x54, 0xd6, 0x23, 0x3e, 0x6f, 0x26, 0x9b, 0xc4, 0x9c, 0x01, 0x3a, + 0x32, 0xae, 0x31, 0xf0, 0x2d, 0x28, 0x8b, 0x55, 0xf7, 0x01, 0x3a, 0x4c, 0xe5, 0x85, 0x07, 0x08, + 0x38, 0x9c, 0x1e, 0x2b, 0xe4, 0x63, 0x44, 0x16, 0x62, 0xe4, 0x63, 0x81, 0x7c, 0x51, 0xf2, 0xeb, + 0xb7, 0xa0, 0x2a, 0x6b, 0xc5, 0x77, 0x8a, 0xc3, 0x8d, 0x57, 0x7d, 0xe2, 0x7d, 0x9b, 0x15, 0x6a, + 0x8e, 0x5e, 0xbe, 0x2c, 0xf8, 0x58, 0x15, 0x2c, 0xbd, 0xac, 0xe0, 0x63, 0x7a, 0x30, 0x76, 0xa2, + 0x7c, 0x62, 0xcc, 0x57, 0x51, 0x72, 0xec, 0x21, 0x2c, 0x2b, 0x71, 0x35, 0x75, 0x6d, 0xd7, 0xf5, + 0xa6, 0xee, 0x80, 0xab, 0xa3, 0x31, 0x4c, 0xa2, 0x8e, 0x62, 0x8c, 0x31, 0x8c, 0xce, 0x4e, 0x52, + 0xde, 0xcb, 0x7d, 0x28, 0x90, 0x5e, 0x4e, 0xca, 0x47, 0xba, 0xe0, 0x22, 0x12, 0x76, 0x0f, 0x0a, + 0xa4, 0x9e, 0x67, 0xaf, 0x15, 0x36, 0x44, 0x60, 0xb4, 0x80, 0x89, 0x82, 0xfb, 0x3c, 0xf4, 0x9d, + 0x41, 0x10, 0x9f, 0xba, 0x29, 0x08, 0xfb, 0x93, 0xda, 0x8a, 0xd3, 0xdc, 0x63, 0x4a, 0xb4, 0x51, + 0x89, 0xc6, 0xf8, 0x6f, 0x19, 0x58, 0x4e, 0xd4, 0x21, 0xd5, 0xa5, 0x11, 0xac, 0x1d, 0xf3, 0xf0, + 0x82, 0x73, 0xd7, 0x15, 0xca, 0xd0, 0x80, 0xbb, 0xa1, 0x6f, 0x8f, 0xc4, 0x4b, 0xa2, 0x11, 0x3c, + 0x99, 0xab, 0x35, 0xf6, 0x81, 0x6c, 0xc6, 0x05, 0xb7, 0xa2, 0x72, 0x24, 0x3b, 0x56, 0x8f, 0xd3, + 0x70, 0x1b, 0x3f, 0x80, 0x8d, 0xeb, 0x0b, 0xa5, 0x9c, 0xad, 0x7b, 0x27, 0x29, 0x55, 0x22, 0x75, + 0x77, 0xe4, 0xd9, 0x21, 0x1e, 0xf8, 0xd5, 0x05, 0xcb, 0x3e, 0x40, 0x8c, 0x88, 0x77, 0xfe, 0x0c, + 0xaa, 0x76, 0xf4, 0x20, 0xf6, 0x23, 0xd7, 0xf3, 0xc7, 0xf6, 0xc8, 0xf9, 0x11, 0x1f, 0x5a, 0x71, + 0xdd, 0x19, 0x73, 0x31, 0x86, 0x63, 0x05, 0xc6, 0x03, 0x58, 0x44, 0xbd, 0x5e, 0xdb, 0xe6, 0x5e, + 0xa4, 0x0a, 0x1a, 0x2b, 0xc0, 0xba, 0x24, 0xb9, 0xf4, 0x24, 0xb8, 0xff, 0x92, 0x83, 0x8a, 0x06, + 0x16, 0x7b, 0x11, 0xa6, 0x4d, 0x59, 0x43, 0xc7, 0x1e, 0x73, 0x15, 0x10, 0xac, 0x99, 0x35, 0x84, + 0x6e, 0x4b, 0xa0, 0xd8, 0x89, 0xed, 0xf3, 0x53, 0xcb, 0x9b, 0x86, 0xd6, 0x90, 0x9f, 0xfa, 0x5c, + 0xf5, 0xb2, 0x6a, 0x9f, 0x9f, 0x1e, 0x4c, 0xc3, 0x6d, 0x84, 0x09, 0x2a, 0x21, 0x49, 0x34, 0x2a, + 0x99, 0xe9, 0x33, 0xb6, 0x2f, 0x63, 0x2a, 0x99, 0x6e, 0x46, 0x7c, 0x99, 0x8f, 0xd2, 0xcd, 0xc8, + 0x56, 0x9c, 0xdd, 0x3e, 0x0b, 0xf3, 0xdb, 0xe7, 0x37, 0x61, 0x8d, 0xb6, 0x4f, 0x29, 0x98, 0xad, + 0x99, 0x75, 0xbc, 0x82, 0x58, 0x39, 0x48, 0x4d, 0xe9, 0x6d, 0x88, 0x11, 0x28, 0xa1, 0x14, 0x38, + 0x3f, 0x22, 0x31, 0x96, 0x31, 0xc5, 0xc8, 0x64, 0xe5, 0x3d, 0xe7, 0x47, 0x5c, 0x50, 0x62, 0x3a, + 0x83, 0x4e, 0x29, 0x13, 0xdb, 0xc7, 0x8e, 0x3b, 0x4b, 0x69, 0x5f, 0x26, 0x29, 0xcb, 0x92, 0xd2, + 0xbe, 0xd4, 0x29, 0x9f, 0xc0, 0xfa, 0x98, 0x0f, 0x1d, 0x3b, 0x59, 0xad, 0x15, 0xab, 0x6d, 0x2b, + 0x84, 0xd6, 0xca, 0xf4, 0xc8, 0x6c, 0x17, 0xb3, 0xf1, 0x23, 0x6f, 0x7c, 0xec, 0x90, 0xc6, 0x42, + 0x09, 0x16, 0x79, 0xb3, 0xee, 0x4e, 0xc7, 0xdf, 0x47, 0xb0, 0x28, 0x12, 0x18, 0x35, 0xa8, 0xf4, + 0x42, 0x6f, 0xa2, 0x5e, 0x73, 0x1d, 0xaa, 0xf4, 0x28, 0x4f, 0x9b, 0xdd, 0x82, 0x9b, 0x28, 0x10, + 0xfa, 0xde, 0xc4, 0x1b, 0x79, 0xa7, 0x57, 0x09, 0x2f, 0xde, 0x7f, 0xca, 0xc0, 0x72, 0x02, 0x2b, + 0x85, 0xeb, 0x37, 0x49, 0x9a, 0x45, 0x47, 0x86, 0x68, 0x05, 0x2e, 0x69, 0x2b, 0x90, 0x08, 0x49, + 0x94, 0xa9, 0x63, 0x44, 0xad, 0xf8, 0xa8, 0xbb, 0x2a, 0x48, 0x02, 0xa5, 0x39, 0x2f, 0x50, 0x64, + 0x79, 0x75, 0x08, 0x5e, 0x55, 0xf1, 0xab, 0xf2, 0xf0, 0xc1, 0x50, 0x0e, 0x39, 0x97, 0x4c, 0xaf, + 0xd6, 0x3d, 0x7e, 0xaa, 0x07, 0xb1, 0x1b, 0x30, 0x30, 0xfe, 0x45, 0x06, 0x20, 0xee, 0x1d, 0x26, + 0x78, 0x47, 0x5a, 0x0b, 0xdd, 0x22, 0xa5, 0x69, 0x28, 0x6f, 0x40, 0x35, 0xca, 0xf3, 0x8c, 0xf5, + 0xa0, 0x8a, 0x82, 0x3d, 0xc3, 0x55, 0xbf, 0x78, 0x3a, 0xf2, 0x8e, 0x51, 0x5f, 0x95, 0x5a, 0x0b, + 0x9d, 0xb9, 0xab, 0x13, 0x58, 0xe9, 0x22, 0xb1, 0xd6, 0x94, 0x4f, 0x4d, 0x05, 0xd5, 0x75, 0x20, + 0xe3, 0xb7, 0xb3, 0x51, 0xc2, 0x5b, 0x3c, 0x13, 0x2f, 0x36, 0xee, 0x7e, 0x96, 0xbc, 0x89, 0x17, + 0x85, 0x02, 0x3f, 0x86, 0xba, 0x4f, 0x5b, 0x92, 0xda, 0xaf, 0xf2, 0x2f, 0xd8, 0xaf, 0x6a, 0x7e, + 0x42, 0xcf, 0x79, 0x17, 0x1a, 0xf6, 0xf0, 0x9c, 0xfb, 0xa1, 0x83, 0xbe, 0x7a, 0xd4, 0x8e, 0x65, + 0x8a, 0x99, 0x06, 0x47, 0x35, 0xf4, 0x1d, 0x58, 0x94, 0x27, 0x20, 0x23, 0x4a, 0x79, 0xa7, 0x4a, + 0x0c, 0x16, 0x84, 0xc6, 0xbf, 0x52, 0x19, 0x76, 0xc9, 0xb7, 0xfb, 0xe2, 0x59, 0xd1, 0x47, 0x98, + 0x9d, 0x0f, 0x76, 0x4a, 0x46, 0x92, 0x21, 0x00, 0x29, 0x8f, 0x08, 0x28, 0x03, 0x00, 0xc9, 0x69, + 0xcd, 0xbf, 0xca, 0xb4, 0x1a, 0x7f, 0x9a, 0x81, 0xe2, 0xae, 0x37, 0xd9, 0x75, 0x28, 0xc5, 0x19, + 0x97, 0x49, 0x14, 0xa1, 0x5a, 0x10, 0x8f, 0x9d, 0xe1, 0x8b, 0x0f, 0xfa, 0xa4, 0x2a, 0x79, 0xb5, + 0xa4, 0x92, 0xf7, 0x1d, 0xb8, 0x85, 0x01, 0x40, 0xdf, 0x9b, 0x78, 0xbe, 0x58, 0xaa, 0xf6, 0x88, + 0x94, 0x3d, 0xcf, 0x0d, 0xcf, 0x94, 0xec, 0xbc, 0x79, 0xc2, 0xf9, 0xa1, 0x46, 0xb1, 0x1f, 0x11, + 0xe0, 0x51, 0xba, 0x51, 0x78, 0x6e, 0x91, 0x7d, 0x2e, 0xb5, 0x51, 0x92, 0xa8, 0x8b, 0x02, 0xd1, + 0x46, 0x38, 0xea, 0xa3, 0xc6, 0xb7, 0xa1, 0x1c, 0xb9, 0x7a, 0xd8, 0x7b, 0x50, 0x3e, 0xf3, 0x26, + 0xd2, 0x1f, 0x94, 0x49, 0x1c, 0x86, 0x92, 0xa3, 0x36, 0x4b, 0x67, 0xf4, 0x23, 0x30, 0xfe, 0xa2, + 0x08, 0xc5, 0x8e, 0x7b, 0xee, 0x39, 0x03, 0xcc, 0xd1, 0x1b, 0xf3, 0xb1, 0xa7, 0x8e, 0x61, 0x8b, + 0xdf, 0x98, 0x87, 0x13, 0xdf, 0x8c, 0x92, 0x93, 0x79, 0x38, 0xd1, 0x9d, 0x28, 0xab, 0xb0, 0xe0, + 0xeb, 0x57, 0x9b, 0x14, 0x7c, 0xcc, 0x1a, 0x8e, 0xf6, 0xcb, 0x82, 0x76, 0x8c, 0x5d, 0xd4, 0x45, + 0x57, 0x6e, 0xe0, 0x94, 0xd1, 0xb1, 0xb8, 0x32, 0x42, 0x70, 0xc2, 0x5e, 0x83, 0xa2, 0x3c, 0x7b, + 0x44, 0x27, 0x39, 0x28, 0xcd, 0x57, 0x82, 0x90, 0x1b, 0x7c, 0x4e, 0x01, 0xdc, 0x48, 0x8d, 0xcd, + 0x99, 0x55, 0x05, 0xdc, 0x16, 0xbc, 0x76, 0x07, 0x2a, 0x44, 0x4f, 0x24, 0x25, 0x99, 0x55, 0x87, + 0x20, 0x24, 0x48, 0xb9, 0x21, 0xa8, 0x9c, 0x7a, 0x43, 0x10, 0x26, 0x61, 0x46, 0x52, 0x96, 0x86, + 0x08, 0x74, 0x2f, 0x8c, 0x06, 0x57, 0xd7, 0x63, 0x49, 0x8f, 0x0a, 0x9d, 0x12, 0x55, 0x1e, 0x95, + 0x37, 0xa1, 0x76, 0x62, 0x8f, 0x46, 0xc7, 0xf6, 0xe0, 0x39, 0x39, 0x02, 0xaa, 0xe4, 0xfb, 0x54, + 0x40, 0xf4, 0x04, 0xdc, 0x81, 0x8a, 0xf6, 0x96, 0x31, 0x65, 0x2e, 0x6f, 0x42, 0xfc, 0x7e, 0x67, + 0xfd, 0x7b, 0xf5, 0x57, 0xf0, 0xef, 0x69, 0xa9, 0x83, 0x8b, 0xc9, 0xd4, 0xc1, 0x5b, 0x28, 0x4d, + 0x65, 0x7a, 0x59, 0x83, 0x2e, 0x21, 0xb1, 0x87, 0x43, 0x4c, 0x2f, 0xa3, 0x1b, 0xff, 0x70, 0xf2, + 0x08, 0xbf, 0x44, 0x96, 0x04, 0xc1, 0x88, 0xe4, 0x36, 0x39, 0xa9, 0x27, 0xb6, 0x33, 0xc4, 0x54, + 0x6d, 0xf2, 0x1d, 0x14, 0xed, 0x71, 0x78, 0x68, 0x3b, 0x43, 0x76, 0x17, 0xaa, 0x0a, 0x8d, 0xbb, + 0xe3, 0x32, 0xcd, 0xbf, 0x44, 0x8b, 0x3d, 0xd1, 0x80, 0x5a, 0x44, 0x31, 0x8e, 0x8f, 0x7a, 0x56, + 0x24, 0x09, 0xf2, 0xc1, 0x07, 0x98, 0x91, 0x13, 0x72, 0x3c, 0xd0, 0x59, 0x7f, 0x7c, 0x4b, 0x8e, + 0x55, 0x72, 0xa9, 0xfa, 0x4f, 0xa1, 0x31, 0xa2, 0x14, 0xda, 0x2f, 0x45, 0xe8, 0xd6, 0x12, 0xda, + 0xaf, 0x24, 0xc5, 0x08, 0x1d, 0x11, 0xb0, 0x6f, 0x6b, 0xd6, 0x6b, 0x13, 0x89, 0x5f, 0x9b, 0xa9, + 0xff, 0xba, 0x93, 0x2a, 0xb7, 0x01, 0x9c, 0x40, 0xec, 0x32, 0x01, 0x77, 0x87, 0x78, 0x36, 0xb3, + 0x64, 0x96, 0x9d, 0xe0, 0x19, 0x01, 0x7e, 0xb1, 0x66, 0x6d, 0x0b, 0xaa, 0xfa, 0x30, 0x59, 0x09, + 0xf2, 0x07, 0x87, 0xed, 0x6e, 0xe3, 0x06, 0xab, 0x40, 0xb1, 0xd7, 0xee, 0xf7, 0xf7, 0x30, 0xce, + 0x57, 0x85, 0x52, 0x74, 0x30, 0x2c, 0x2b, 0x9e, 0x5a, 0x5b, 0x5b, 0xed, 0xc3, 0x7e, 0x7b, 0xbb, + 0x91, 0xfb, 0x5e, 0xbe, 0x94, 0x6d, 0xe4, 0x8c, 0xbf, 0xcc, 0x41, 0x45, 0x9b, 0x85, 0x17, 0x0b, + 0xe3, 0xdb, 0x00, 0x68, 0x47, 0xc6, 0xd9, 0x87, 0x79, 0xb3, 0x2c, 0x20, 0xf4, 0xf2, 0xf5, 0x08, + 0x45, 0x8e, 0x6e, 0xb7, 0x51, 0x11, 0x8a, 0x37, 0xa1, 0x46, 0x17, 0xc5, 0xe8, 0xd1, 0xda, 0x82, + 0x59, 0x25, 0xa0, 0x14, 0xd5, 0x78, 0xb2, 0x14, 0x89, 0xf0, 0xcc, 0x91, 0xbc, 0x36, 0x82, 0x40, + 0x78, 0xea, 0x08, 0x8f, 0x8c, 0x05, 0xde, 0xe8, 0x9c, 0x13, 0x05, 0x69, 0x84, 0x15, 0x09, 0xeb, + 0xcb, 0x33, 0xb2, 0x52, 0x1e, 0x6a, 0x47, 0x1b, 0x0b, 0x66, 0x95, 0x80, 0xb2, 0xa1, 0xaf, 0x2b, + 0x06, 0x2a, 0x21, 0x03, 0xad, 0xcf, 0x73, 0x43, 0x82, 0x79, 0xf6, 0xe6, 0x9c, 0x88, 0x65, 0x64, + 0x8c, 0xaf, 0xcd, 0x97, 0x7b, 0xb9, 0x33, 0x91, 0xbd, 0x07, 0x6c, 0x3c, 0x99, 0x58, 0x29, 0xee, + 0xbd, 0xbc, 0xb9, 0x38, 0x9e, 0x4c, 0xfa, 0x9a, 0xf7, 0xeb, 0x17, 0xe0, 0x79, 0xfc, 0x02, 0x58, + 0x4b, 0x2c, 0x60, 0xec, 0x62, 0x64, 0x88, 0xc5, 0x62, 0x39, 0xa3, 0x8b, 0xe5, 0x14, 0xe9, 0x97, + 0x4d, 0x95, 0x7e, 0x2f, 0x92, 0x13, 0xc6, 0x0e, 0x54, 0x0e, 0xb5, 0x6b, 0xa8, 0xee, 0x8a, 0x1d, + 0x42, 0x5d, 0x40, 0x45, 0x7b, 0x07, 0x79, 0x14, 0x7d, 0x79, 0xef, 0x94, 0xd6, 0x9b, 0xac, 0xd6, + 0x1b, 0xe3, 0x9f, 0x67, 0xe8, 0x8a, 0x8f, 0xa8, 0xf3, 0xf1, 0xcd, 0x57, 0x2a, 0xf8, 0x16, 0x9f, + 0x40, 0xae, 0xa8, 0xa0, 0x9b, 0x3c, 0x3c, 0x8c, 0x5d, 0xb3, 0xbc, 0x93, 0x93, 0x80, 0xab, 0x0c, + 0x8f, 0x0a, 0xc2, 0x0e, 0x10, 0xa4, 0x94, 0x6f, 0xa1, 0xe1, 0x3b, 0x54, 0x7f, 0x20, 0xd3, 0x3a, + 0x84, 0xf2, 0xbd, 0x6f, 0x5f, 0xca, 0x56, 0x03, 0xa1, 0x82, 0xc8, 0xe8, 0x80, 0x3a, 0x41, 0x18, + 0x3d, 0x1b, 0xff, 0x44, 0x1e, 0x92, 0x9e, 0x9d, 0xdf, 0xfb, 0x50, 0x8a, 0x6a, 0x4d, 0xee, 0xb0, + 0x8a, 0x32, 0xc2, 0x8b, 0x7d, 0x1c, 0x5d, 0x21, 0x89, 0x1e, 0xd3, 0xe2, 0xc2, 0x08, 0x4f, 0x47, + 0xeb, 0xf5, 0xfb, 0xc0, 0x4e, 0x1c, 0x7f, 0x96, 0x98, 0x16, 0x5b, 0x03, 0x31, 0x1a, 0xb5, 0x71, + 0x04, 0xcb, 0x4a, 0x4a, 0x68, 0x16, 0x41, 0xf2, 0xe5, 0x65, 0x5e, 0x22, 0xe4, 0xb3, 0x73, 0x42, + 0xde, 0xf8, 0x49, 0x1e, 0x8a, 0xea, 0x4a, 0xb7, 0xb4, 0x6b, 0xc8, 0xca, 0xc9, 0x6b, 0xc8, 0x9a, + 0x89, 0x2b, 0x6b, 0xf0, 0xd5, 0xcb, 0xfd, 0xfe, 0x9d, 0xd9, 0x2d, 0x5b, 0x8b, 0x54, 0x24, 0xb6, + 0xed, 0x35, 0xc8, 0x4f, 0xec, 0xf0, 0x0c, 0xbd, 0x92, 0xc4, 0x3c, 0xf8, 0xac, 0x22, 0x18, 0x85, + 0x64, 0x04, 0x23, 0xed, 0xca, 0x36, 0x52, 0x49, 0xe7, 0xae, 0x6c, 0xbb, 0x05, 0xa4, 0x5f, 0x68, + 0x09, 0x6a, 0x25, 0x04, 0x88, 0xbd, 0x28, 0xa9, 0x8e, 0x94, 0x66, 0xd5, 0x91, 0x57, 0x56, 0x15, + 0xbe, 0x09, 0x0b, 0x74, 0xdd, 0x81, 0x3c, 0x29, 0xa9, 0x36, 0x14, 0x39, 0x87, 0xea, 0x3f, 0xa5, + 0xae, 0x9b, 0x92, 0x56, 0xbf, 0xff, 0xa8, 0x92, 0xb8, 0xff, 0x48, 0x8f, 0xac, 0x54, 0x93, 0x91, + 0x95, 0x7b, 0xd0, 0x88, 0x26, 0x14, 0xfd, 0x94, 0x6e, 0x20, 0xcf, 0x61, 0xd5, 0x15, 0x5c, 0x48, + 0xc9, 0x6e, 0x10, 0x6f, 0x88, 0xf5, 0xc4, 0x86, 0x28, 0x64, 0x58, 0x2b, 0x0c, 0xf9, 0x78, 0x12, + 0xca, 0x0d, 0x11, 0x4f, 0x6a, 0xe8, 0x1d, 0x4c, 0x9e, 0x21, 0xae, 0x41, 0xb9, 0xd3, 0xb5, 0x76, + 0xf6, 0x3a, 0x4f, 0x77, 0xfb, 0x8d, 0x8c, 0x78, 0xec, 0x1d, 0x6d, 0x6d, 0xb5, 0xdb, 0xdb, 0xb8, + 0xe3, 0x00, 0x2c, 0xec, 0xb4, 0x3a, 0x62, 0xf7, 0xc9, 0x19, 0xbf, 0x9b, 0x85, 0x8a, 0x56, 0x3d, + 0x7b, 0x12, 0xcd, 0x0a, 0x5d, 0x91, 0x73, 0x7b, 0xbe, 0x0b, 0x0f, 0x94, 0x28, 0xd6, 0xa6, 0x25, + 0xba, 0xa0, 0x2e, 0x7b, 0xed, 0x05, 0x75, 0xec, 0x6d, 0x58, 0xb4, 0xa9, 0x86, 0x68, 0x16, 0xa4, + 0x0f, 0x5e, 0x82, 0xe5, 0x24, 0x60, 0x5a, 0x66, 0xbc, 0x9f, 0x08, 0xba, 0xbc, 0xca, 0x84, 0x8c, + 0xb6, 0x14, 0x9c, 0xac, 0xe2, 0x89, 0xed, 0x8c, 0xa6, 0x3e, 0x97, 0x31, 0xf3, 0x68, 0x67, 0x26, + 0xa8, 0xa9, 0xd0, 0xc6, 0x87, 0x00, 0x71, 0x9f, 0x93, 0x93, 0x73, 0x23, 0x39, 0x39, 0x19, 0x6d, + 0x72, 0xb2, 0xc6, 0x36, 0x89, 0x11, 0x39, 0xd1, 0x91, 0xd3, 0xed, 0xeb, 0xa0, 0xdc, 0x80, 0x16, + 0x26, 0x47, 0x4f, 0x46, 0x3c, 0x54, 0xa7, 0xad, 0x97, 0x24, 0xa6, 0x13, 0x21, 0xd4, 0xe5, 0x07, + 0x71, 0x2d, 0xb1, 0x34, 0x92, 0x2c, 0x39, 0x2b, 0x8d, 0x24, 0xa9, 0x19, 0xe1, 0x8d, 0x0d, 0x68, + 0x6e, 0x73, 0x51, 0x5b, 0x6b, 0x34, 0x9a, 0xe9, 0x8e, 0x71, 0x0b, 0x6e, 0xa6, 0xe0, 0xa4, 0x13, + 0xe2, 0x13, 0x58, 0x6d, 0xd1, 0xc1, 0xea, 0x5f, 0xd4, 0x09, 0x2a, 0xa3, 0x09, 0x6b, 0xb3, 0x55, + 0xca, 0xc6, 0x76, 0x60, 0x69, 0x9b, 0x1f, 0x4f, 0x4f, 0xf7, 0xf8, 0x79, 0xdc, 0x10, 0x83, 0x7c, + 0x70, 0xe6, 0x5d, 0xc8, 0xf9, 0xc1, 0xdf, 0x98, 0x63, 0x28, 0x68, 0xac, 0x60, 0xc2, 0x07, 0xca, + 0x0d, 0x8d, 0x90, 0xde, 0x84, 0x0f, 0x8c, 0x27, 0xc0, 0xf4, 0x7a, 0xe4, 0x7c, 0x09, 0x2b, 0x61, + 0x7a, 0x6c, 0x05, 0x57, 0x41, 0xc8, 0xc7, 0xea, 0x06, 0x26, 0x08, 0xa6, 0xc7, 0x3d, 0x82, 0x18, + 0xef, 0x40, 0xf5, 0xd0, 0xbe, 0x32, 0xf9, 0x17, 0xf2, 0x6c, 0xd0, 0x3a, 0x14, 0x27, 0xf6, 0x95, + 0x10, 0x03, 0x51, 0x44, 0x0a, 0xd1, 0xc6, 0x1f, 0xe5, 0x61, 0x81, 0x28, 0xd9, 0x5d, 0xba, 0x24, + 0xd5, 0x71, 0x71, 0x19, 0x2a, 0x41, 0xa9, 0x81, 0xe6, 0x64, 0x69, 0x76, 0x5e, 0x96, 0x4a, 0x07, + 0x9a, 0xba, 0x1c, 0x46, 0xc5, 0x0e, 0xdc, 0xe9, 0x58, 0xdd, 0x08, 0x93, 0x3c, 0x5d, 0x9c, 0x8f, + 0x2f, 0xc1, 0xa5, 0xa3, 0x97, 0xc9, 0xe8, 0x6e, 0x6c, 0x8b, 0x50, 0xef, 0xd4, 0x16, 0x21, 0xc5, + 0xa5, 0x0e, 0x4a, 0x35, 0x78, 0x8a, 0xea, 0xd4, 0x59, 0xd2, 0xe0, 0x99, 0x33, 0x6c, 0x4a, 0x2f, + 0x37, 0x6c, 0xc8, 0xb3, 0xf6, 0x02, 0xc3, 0x06, 0x5e, 0xc1, 0xb0, 0x79, 0x85, 0xc8, 0xea, 0x4d, + 0x28, 0xe1, 0xbe, 0xaf, 0x49, 0x4f, 0xb1, 0xdf, 0x0b, 0xe9, 0xf9, 0x2d, 0x4d, 0xf5, 0xa7, 0xb4, + 0x8e, 0x5b, 0xf1, 0x32, 0x31, 0xf9, 0x17, 0xbf, 0x9c, 0x88, 0xd5, 0xe7, 0x50, 0x94, 0x50, 0xc1, + 0xd0, 0xae, 0x3d, 0x56, 0xf7, 0x6b, 0xe1, 0x6f, 0x31, 0x6d, 0x78, 0x29, 0xd0, 0x17, 0x53, 0xc7, + 0xe7, 0x43, 0x75, 0x71, 0x8a, 0x83, 0x6b, 0x54, 0x40, 0xc4, 0x00, 0x85, 0x19, 0xe2, 0x7a, 0x17, + 0xae, 0xbc, 0x36, 0xa1, 0xe8, 0x04, 0xcf, 0xc4, 0xa3, 0xc1, 0xa0, 0x81, 0x37, 0xec, 0x4d, 0x3c, + 0x5f, 0x6d, 0x4e, 0xc6, 0x4f, 0x32, 0xd0, 0x90, 0xab, 0x2b, 0xc2, 0xe9, 0x56, 0x40, 0xe1, 0xba, + 0x2c, 0x84, 0x17, 0x5f, 0x83, 0x62, 0x40, 0x0d, 0x9d, 0x1f, 0xd1, 0x4e, 0x45, 0xce, 0x9b, 0x8a, + 0x00, 0xee, 0xc8, 0xdd, 0xea, 0x75, 0xa8, 0xa8, 0x0c, 0xe8, 0xb1, 0x33, 0x52, 0xf7, 0x5d, 0x53, + 0x0a, 0xf4, 0xbe, 0x33, 0x52, 0x1b, 0x9d, 0x6f, 0xcb, 0x53, 0x90, 0x19, 0xdc, 0xe8, 0x4c, 0x3b, + 0xe4, 0xc6, 0xbf, 0xc9, 0xc0, 0x92, 0x36, 0x14, 0xb9, 0x6e, 0x3f, 0x82, 0x6a, 0x74, 0xb5, 0x25, + 0x8f, 0x34, 0xaf, 0xf5, 0xa4, 0xa0, 0x89, 0x8b, 0x55, 0x06, 0x11, 0x24, 0x10, 0x9d, 0x19, 0xda, + 0x57, 0x94, 0xa6, 0x3b, 0x1d, 0x2b, 0xe3, 0x66, 0x68, 0x5f, 0xed, 0x70, 0xde, 0x9b, 0x8e, 0x85, + 0xe9, 0x7a, 0xc1, 0xf9, 0xf3, 0x88, 0x80, 0x74, 0x2e, 0x10, 0x30, 0x49, 0x61, 0x40, 0x6d, 0xec, + 0xb9, 0xe1, 0x59, 0x44, 0x22, 0xb5, 0x4e, 0x04, 0x12, 0x8d, 0xf1, 0xe7, 0x59, 0x58, 0x26, 0x17, + 0x9b, 0x74, 0x6d, 0x4a, 0xd1, 0xd5, 0x84, 0x05, 0xf2, 0x36, 0x92, 0xf0, 0xda, 0xbd, 0x61, 0xca, + 0x67, 0xf6, 0xcd, 0x57, 0x74, 0x0b, 0xaa, 0x83, 0x96, 0xd7, 0x4c, 0x7f, 0x6e, 0x7e, 0xfa, 0xaf, + 0x9f, 0xde, 0xb4, 0x30, 0x67, 0x21, 0x2d, 0xcc, 0xf9, 0x2a, 0xc1, 0xc5, 0xb9, 0xd3, 0x88, 0x45, + 0x49, 0xa3, 0x9d, 0x46, 0x7c, 0x02, 0xeb, 0x09, 0x1a, 0x94, 0xd6, 0xce, 0x89, 0xc3, 0xd5, 0xad, + 0x14, 0x2b, 0x1a, 0x75, 0x4f, 0xe1, 0x36, 0x8b, 0x50, 0x08, 0x06, 0xde, 0x84, 0x1b, 0x6b, 0xb0, + 0x92, 0x9c, 0x55, 0xb9, 0x4d, 0xfc, 0x5e, 0x06, 0x9a, 0x32, 0x29, 0xc5, 0x71, 0x4f, 0x77, 0x9d, + 0x20, 0xf4, 0xfc, 0xe8, 0x0a, 0xc8, 0xdb, 0x00, 0x41, 0x68, 0xfb, 0xd2, 0xda, 0x94, 0xf7, 0x30, + 0x20, 0x04, 0x2d, 0xc9, 0x9b, 0x50, 0xe2, 0xee, 0x90, 0x90, 0xc4, 0x0d, 0x45, 0xee, 0x0e, 0x95, + 0x1d, 0x3a, 0xa7, 0x7f, 0xd7, 0x92, 0xe6, 0x85, 0x3c, 0x16, 0x2d, 0x66, 0x87, 0x9f, 0xe3, 0xc6, + 0x9b, 0x8f, 0x8e, 0x45, 0xef, 0xdb, 0x97, 0x98, 0xe2, 0x19, 0x18, 0xff, 0x30, 0x0b, 0x8b, 0x71, + 0xff, 0xe8, 0x4e, 0x85, 0x17, 0xdf, 0x0e, 0x71, 0x57, 0xb2, 0x83, 0x23, 0xf4, 0x77, 0xcd, 0xf1, + 0x58, 0xa2, 0xc5, 0xd9, 0x71, 0x99, 0x01, 0x15, 0x45, 0xe1, 0x4d, 0x43, 0xed, 0x26, 0xb6, 0x32, + 0x91, 0x1c, 0x4c, 0x43, 0x61, 0x70, 0x09, 0xcb, 0xd3, 0x71, 0xa5, 0xc9, 0x53, 0xb0, 0xc7, 0x61, + 0x07, 0x2f, 0x78, 0x17, 0x60, 0x51, 0x8c, 0x5e, 0xa4, 0xa0, 0x12, 0xf4, 0x0d, 0xd2, 0xb3, 0xe9, + 0xcd, 0xa1, 0x8e, 0xad, 0x2b, 0xa1, 0x74, 0xd7, 0x6d, 0xa4, 0x84, 0xbe, 0x0e, 0x15, 0xaa, 0x3c, + 0x3e, 0x7c, 0x9a, 0x37, 0xcb, 0xd8, 0x02, 0xe2, 0xa5, 0x13, 0xc8, 0x9b, 0x26, 0x4c, 0x5f, 0xa0, + 0xa6, 0x30, 0xe7, 0xe3, 0xef, 0x66, 0xe0, 0x66, 0xca, 0x6b, 0x93, 0xab, 0x7c, 0x0b, 0x96, 0x4e, + 0x22, 0xa4, 0x9a, 0x5d, 0x5a, 0xea, 0x6b, 0x4a, 0xac, 0x26, 0xe7, 0xd4, 0x6c, 0x9c, 0x24, 0x01, + 0xb1, 0xd1, 0x45, 0x6f, 0x30, 0x71, 0xbe, 0x18, 0x8d, 0x2e, 0x7a, 0x8d, 0x64, 0xef, 0x1c, 0xc2, + 0x46, 0xfb, 0x52, 0x48, 0x8c, 0x2d, 0xfd, 0x0b, 0x05, 0x8a, 0x8d, 0x92, 0x0e, 0xe6, 0xcc, 0x2b, + 0x39, 0x98, 0x87, 0x74, 0x8c, 0x32, 0xaa, 0xeb, 0x67, 0xa9, 0x04, 0x37, 0x50, 0x51, 0x86, 0xbe, + 0xb0, 0xa0, 0xce, 0x38, 0x0f, 0xa2, 0x2f, 0x2b, 0x18, 0x01, 0x2c, 0xee, 0x4f, 0x47, 0xa1, 0x13, + 0x7f, 0x6c, 0x81, 0x7d, 0x53, 0x96, 0xc1, 0x76, 0xd4, 0xac, 0xa5, 0x36, 0x04, 0x51, 0x43, 0x38, + 0x59, 0x63, 0x51, 0x91, 0x35, 0xdf, 0xde, 0xe2, 0x38, 0xd9, 0x82, 0x71, 0x13, 0xd6, 0xe3, 0x27, + 0x9a, 0x36, 0xb5, 0xd5, 0xfc, 0xb3, 0x0c, 0xe5, 0x93, 0x27, 0x3f, 0xfc, 0xc0, 0xda, 0xb0, 0x1c, + 0x38, 0xee, 0xe9, 0x88, 0xeb, 0xd5, 0x07, 0x72, 0x12, 0x56, 0x93, 0x7d, 0x93, 0x1f, 0x87, 0x30, + 0x97, 0xa8, 0x44, 0x5c, 0x5b, 0xc0, 0x36, 0xaf, 0xeb, 0x64, 0xcc, 0x16, 0x33, 0xb3, 0x31, 0xdf, + 0xf9, 0x0e, 0xd4, 0x93, 0x0d, 0xb1, 0x6f, 0xc9, 0x23, 0xc4, 0x71, 0xaf, 0x72, 0x33, 0x87, 0x3d, + 0x63, 0x86, 0xa8, 0xc4, 0x73, 0x1f, 0x18, 0x7f, 0x3f, 0x03, 0x4d, 0x93, 0x0b, 0xce, 0xd5, 0x7a, + 0xa9, 0x78, 0xe6, 0xa3, 0xb9, 0x5a, 0xaf, 0x1f, 0xab, 0x3a, 0x99, 0xac, 0x7a, 0xf4, 0xfe, 0xb5, + 0x2f, 0x63, 0xf7, 0xc6, 0xdc, 0x88, 0x36, 0x4b, 0xb0, 0x40, 0x24, 0xc6, 0x3a, 0xac, 0xca, 0xfe, + 0xa8, 0xbe, 0xc4, 0xd1, 0xc3, 0x44, 0x8b, 0x89, 0xe8, 0xe1, 0x06, 0x34, 0xe9, 0x26, 0x4f, 0x7d, + 0x10, 0xb2, 0xe0, 0x36, 0xb0, 0x7d, 0x7b, 0x60, 0xfb, 0x9e, 0xe7, 0x1e, 0x72, 0x5f, 0x66, 0xe7, + 0xa2, 0x86, 0x89, 0xc1, 0x35, 0xa5, 0x0a, 0xd3, 0x93, 0xba, 0x7f, 0xd2, 0x73, 0x55, 0x32, 0x12, + 0x3d, 0x19, 0x26, 0x2c, 0x6f, 0xda, 0xcf, 0xb9, 0xaa, 0x49, 0x4d, 0xd1, 0xc7, 0x50, 0x99, 0x44, + 0x95, 0xaa, 0x79, 0x57, 0xf7, 0x0c, 0xcc, 0x37, 0x6b, 0xea, 0xd4, 0xc6, 0x63, 0x58, 0x49, 0xd6, + 0x29, 0x45, 0xc7, 0x06, 0x94, 0xc6, 0x12, 0x26, 0x7b, 0x17, 0x3d, 0x1b, 0xbf, 0x53, 0x82, 0xa2, + 0xb4, 0xe7, 0xd8, 0x03, 0xc8, 0x0f, 0x54, 0x42, 0x58, 0x7c, 0x7d, 0x8d, 0xc4, 0xaa, 0xff, 0x5b, + 0x98, 0x16, 0x26, 0xe8, 0xd8, 0xc7, 0x50, 0x4f, 0x46, 0x45, 0x67, 0x0e, 0x31, 0x27, 0xc3, 0x99, + 0xb5, 0xc1, 0x4c, 0xfc, 0xab, 0x1c, 0x6f, 0x8e, 0xa4, 0x33, 0x94, 0xce, 0xb4, 0xdd, 0xd3, 0x73, + 0x85, 0xbe, 0x1d, 0x9c, 0xd9, 0xd6, 0xe3, 0x27, 0x1f, 0xca, 0x53, 0xcc, 0x15, 0x04, 0xf6, 0xce, + 0xec, 0xc7, 0x4f, 0x3e, 0x9c, 0xd5, 0xa4, 0xe5, 0x19, 0x66, 0x4d, 0x93, 0x5e, 0x81, 0x02, 0x5d, + 0xb4, 0x48, 0x99, 0x3d, 0xf4, 0xc0, 0x1e, 0xc1, 0x8a, 0x34, 0x5b, 0x2d, 0x99, 0x83, 0x4d, 0x52, + 0xb0, 0x44, 0xc7, 0xde, 0x24, 0xae, 0x87, 0x28, 0xf2, 0x0d, 0xad, 0xc1, 0xc2, 0x59, 0x7c, 0x6b, + 0x66, 0xcd, 0x94, 0x4f, 0xc6, 0x9f, 0x17, 0xa0, 0xa2, 0x4d, 0x0a, 0xab, 0x42, 0xc9, 0x6c, 0xf7, + 0xda, 0xe6, 0xa7, 0xed, 0xed, 0xc6, 0x0d, 0x76, 0x0f, 0xde, 0xea, 0x74, 0xb7, 0x0e, 0x4c, 0xb3, + 0xbd, 0xd5, 0xb7, 0x0e, 0x4c, 0x4b, 0x5d, 0xa2, 0x74, 0xd8, 0xfa, 0x7c, 0xbf, 0xdd, 0xed, 0x5b, + 0xdb, 0xed, 0x7e, 0xab, 0xb3, 0xd7, 0x6b, 0x64, 0xd8, 0x6b, 0xd0, 0x8c, 0x29, 0x15, 0xba, 0xb5, + 0x7f, 0x70, 0xd4, 0xed, 0x37, 0xb2, 0xec, 0x0e, 0xdc, 0xda, 0xe9, 0x74, 0x5b, 0x7b, 0x56, 0x4c, + 0xb3, 0xb5, 0xd7, 0xff, 0xd4, 0x6a, 0xff, 0xfa, 0x61, 0xc7, 0xfc, 0xbc, 0x91, 0x4b, 0x23, 0x10, + 0xc6, 0xb8, 0xaa, 0x21, 0xcf, 0x6e, 0xc2, 0x2a, 0x11, 0x50, 0x11, 0xab, 0x7f, 0x70, 0x60, 0xf5, + 0x0e, 0x0e, 0xba, 0x8d, 0x02, 0x5b, 0x82, 0x5a, 0xa7, 0xfb, 0x69, 0x6b, 0xaf, 0xb3, 0x6d, 0x99, + 0xed, 0xd6, 0xde, 0x7e, 0x63, 0x81, 0x2d, 0xc3, 0xe2, 0x2c, 0x5d, 0x51, 0x54, 0xa1, 0xe8, 0x0e, + 0xba, 0x9d, 0x83, 0xae, 0xf5, 0x69, 0xdb, 0xec, 0x75, 0x0e, 0xba, 0x8d, 0x12, 0x5b, 0x03, 0x96, + 0x44, 0xed, 0xee, 0xb7, 0xb6, 0x1a, 0x65, 0xb6, 0x0a, 0x4b, 0x49, 0xf8, 0xb3, 0xf6, 0xe7, 0x0d, + 0x60, 0x4d, 0x58, 0xa1, 0x8e, 0x59, 0x9b, 0xed, 0xbd, 0x83, 0xcf, 0xac, 0xfd, 0x4e, 0xb7, 0xb3, + 0x7f, 0xb4, 0xdf, 0xa8, 0xe0, 0xb5, 0x6e, 0xed, 0xb6, 0xd5, 0xe9, 0xf6, 0x8e, 0x76, 0x76, 0x3a, + 0x5b, 0x9d, 0x76, 0xb7, 0xdf, 0xa8, 0x52, 0xcb, 0x69, 0x03, 0xaf, 0x89, 0x02, 0xf2, 0xa0, 0x86, + 0xb5, 0xdd, 0xe9, 0xb5, 0x36, 0xf7, 0xda, 0xdb, 0x8d, 0x3a, 0xbb, 0x0d, 0x37, 0xfb, 0xed, 0xfd, + 0xc3, 0x03, 0xb3, 0x65, 0x7e, 0xae, 0x0e, 0x72, 0x58, 0x3b, 0xad, 0xce, 0xde, 0x91, 0xd9, 0x6e, + 0x2c, 0xb2, 0x37, 0xe0, 0xb6, 0xd9, 0xfe, 0xe4, 0xa8, 0x63, 0xb6, 0xb7, 0xad, 0xee, 0xc1, 0x76, + 0xdb, 0xda, 0x69, 0xb7, 0xfa, 0x47, 0x66, 0xdb, 0xda, 0xef, 0xf4, 0x7a, 0x9d, 0xee, 0xd3, 0x46, + 0x83, 0xbd, 0x05, 0x77, 0x23, 0x92, 0xa8, 0x82, 0x19, 0xaa, 0x25, 0x31, 0x3e, 0xf5, 0x4a, 0xbb, + 0xed, 0x5f, 0xef, 0x5b, 0x87, 0xed, 0xb6, 0xd9, 0x60, 0x6c, 0x03, 0xd6, 0xe2, 0xe6, 0xa9, 0x01, + 0xd9, 0xf6, 0xb2, 0xc0, 0x1d, 0xb6, 0xcd, 0xfd, 0x56, 0x57, 0xbc, 0xe0, 0x04, 0x6e, 0x45, 0x74, + 0x3b, 0xc6, 0xcd, 0x76, 0x7b, 0x95, 0x31, 0xa8, 0x6b, 0x6f, 0x65, 0xa7, 0x65, 0x36, 0xd6, 0xd8, + 0x22, 0x54, 0xf6, 0x0f, 0x0f, 0xad, 0x7e, 0x67, 0xbf, 0x7d, 0x70, 0xd4, 0x6f, 0xac, 0xb3, 0x55, + 0x68, 0x74, 0xba, 0xfd, 0xb6, 0x29, 0xde, 0xb5, 0x2a, 0xfa, 0xbf, 0x8a, 0x6c, 0x05, 0x16, 0x55, + 0x4f, 0x15, 0xf4, 0xa7, 0x45, 0xb6, 0x0e, 0xec, 0xa8, 0x6b, 0xb6, 0x5b, 0xdb, 0x62, 0xe2, 0x22, + 0xc4, 0xff, 0x2e, 0xca, 0x08, 0xc9, 0x4f, 0x72, 0xd1, 0x66, 0x1d, 0xa7, 0x1c, 0x24, 0xef, 0x50, + 0xae, 0x6a, 0x77, 0x1f, 0xbf, 0xec, 0xeb, 0x06, 0x9a, 0x69, 0x95, 0x9b, 0x33, 0xad, 0xe6, 0x6c, + 0xf7, 0x9a, 0xae, 0xfb, 0xbd, 0x09, 0xb5, 0x31, 0xdd, 0xa7, 0x2c, 0xef, 0x4d, 0x05, 0x99, 0x7f, + 0x43, 0x40, 0xba, 0x34, 0x75, 0xee, 0x7a, 0xff, 0xc2, 0xfc, 0xf5, 0xfe, 0x69, 0xfa, 0xfd, 0x42, + 0x9a, 0x7e, 0x7f, 0x1f, 0x96, 0x48, 0x34, 0x39, 0xae, 0x33, 0x56, 0x56, 0x33, 0x69, 0x81, 0x8b, + 0x28, 0xa2, 0x08, 0xae, 0xcc, 0x09, 0x65, 0x72, 0x48, 0x11, 0x52, 0x94, 0xd6, 0x46, 0xc2, 0xd2, + 0x20, 0xc9, 0x11, 0x59, 0x1a, 0x51, 0x0b, 0xf6, 0x65, 0xdc, 0x42, 0x45, 0x6b, 0x81, 0xe0, 0xd8, + 0xc2, 0x7d, 0x58, 0xe2, 0x97, 0xa1, 0x6f, 0x5b, 0xde, 0xc4, 0xfe, 0x62, 0x8a, 0x21, 0x5c, 0x1b, + 0x6d, 0xf8, 0xaa, 0xb9, 0x88, 0x88, 0x03, 0x84, 0x6f, 0xdb, 0xa1, 0x7d, 0xff, 0x4b, 0xa8, 0x68, + 0x77, 0x6d, 0xb3, 0x75, 0x58, 0xfe, 0xac, 0xd3, 0xef, 0xb6, 0x7b, 0x3d, 0xeb, 0xf0, 0x68, 0xf3, + 0x59, 0xfb, 0x73, 0x6b, 0xb7, 0xd5, 0xdb, 0x6d, 0xdc, 0x10, 0x8b, 0xb6, 0xdb, 0xee, 0xf5, 0xdb, + 0xdb, 0x09, 0x78, 0x86, 0xbd, 0x0e, 0x1b, 0x47, 0xdd, 0xa3, 0x5e, 0x7b, 0xdb, 0x4a, 0x2b, 0x97, + 0x15, 0x5c, 0x2a, 0xf1, 0x29, 0xc5, 0x73, 0xf7, 0xbf, 0x0b, 0xf5, 0xe4, 0x05, 0xb0, 0x0c, 0x60, + 0x61, 0xaf, 0xfd, 0xb4, 0xb5, 0xf5, 0x39, 0x5d, 0xfc, 0xd8, 0xeb, 0xb7, 0xfa, 0x9d, 0x2d, 0x4b, + 0x5e, 0xf4, 0x28, 0x24, 0x42, 0x86, 0x55, 0xa0, 0xd8, 0xea, 0x6e, 0xed, 0x1e, 0x98, 0xbd, 0x46, + 0xf6, 0xfe, 0xfb, 0x50, 0x4f, 0xe6, 0xd6, 0x89, 0x45, 0xb3, 0xd9, 0xee, 0x7f, 0xd6, 0x6e, 0x77, + 0xb1, 0x3f, 0x5b, 0xed, 0x6e, 0xdf, 0x6c, 0xed, 0x75, 0xfa, 0x9f, 0x37, 0x6e, 0xdc, 0xff, 0x18, + 0x1a, 0xb3, 0xd1, 0xab, 0x44, 0xb8, 0xef, 0x45, 0x71, 0xc1, 0xfb, 0xff, 0x32, 0x07, 0x10, 0x9f, + 0xe9, 0x10, 0x82, 0x69, 0xbb, 0xd5, 0x6f, 0xed, 0x1d, 0x88, 0x41, 0x9b, 0x07, 0x7d, 0x21, 0x6f, + 0xcc, 0xf6, 0x27, 0x8d, 0x1b, 0xa9, 0x98, 0x83, 0xc3, 0x7e, 0x23, 0x23, 0xe6, 0xb7, 0xd3, 0xed, + 0xf4, 0x3b, 0xad, 0x3d, 0xcb, 0x3c, 0x38, 0xea, 0x74, 0x9f, 0xd2, 0xfd, 0x77, 0x28, 0x93, 0x8f, + 0x0e, 0x77, 0xcc, 0x83, 0x6e, 0xdf, 0xea, 0xed, 0x1e, 0xf5, 0xb7, 0xf1, 0xf6, 0xbc, 0x2d, 0xb3, + 0x73, 0x48, 0x75, 0xe6, 0x5f, 0x44, 0x20, 0xaa, 0x2e, 0x88, 0x37, 0xf4, 0xf4, 0xa0, 0xd7, 0xeb, + 0x1c, 0x5a, 0x9f, 0x1c, 0xb5, 0xcd, 0x4e, 0xbb, 0x87, 0x05, 0x17, 0x52, 0xe0, 0x82, 0xbe, 0x28, + 0x24, 0x79, 0x7f, 0xef, 0x53, 0x29, 0x6a, 0x05, 0x69, 0x29, 0x09, 0x12, 0x54, 0x65, 0x31, 0x99, + 0x42, 0x56, 0xa5, 0xd4, 0x0c, 0xd7, 0xe0, 0x44, 0xb9, 0x8a, 0x90, 0xc2, 0x73, 0xaf, 0x0e, 0x8b, + 0x55, 0xd3, 0x51, 0xa2, 0x14, 0x0a, 0xe8, 0x68, 0x3b, 0xdb, 0xde, 0x36, 0xb1, 0x40, 0x7d, 0x0e, + 0x2a, 0x68, 0x17, 0xc5, 0x8b, 0x12, 0xc2, 0x4c, 0x90, 0x34, 0xd4, 0x83, 0xc0, 0x2c, 0x3d, 0xfe, + 0xed, 0x1c, 0xd4, 0xe9, 0x7c, 0x1d, 0x7d, 0x18, 0x8d, 0xfb, 0x6c, 0x1f, 0x8a, 0xf2, 0x0b, 0x7b, + 0x6c, 0x35, 0xba, 0x9a, 0x4c, 0xff, 0xa6, 0xdf, 0xc6, 0xda, 0x2c, 0x58, 0x2a, 0x6f, 0xcb, 0x7f, + 0xe3, 0xcf, 0xfe, 0xe7, 0x3f, 0xc8, 0xd6, 0x58, 0xe5, 0xe1, 0xf9, 0x07, 0x0f, 0x4f, 0xb9, 0x1b, + 0x88, 0x3a, 0xfe, 0x7f, 0x80, 0xf8, 0xbb, 0x71, 0xac, 0x19, 0x85, 0xac, 0x66, 0x3e, 0xaa, 0xb7, + 0x71, 0x33, 0x05, 0x23, 0xeb, 0xbd, 0x89, 0xf5, 0x2e, 0x1b, 0x75, 0x51, 0xaf, 0xe3, 0x3a, 0x21, + 0x7d, 0x43, 0xee, 0xa3, 0xcc, 0x7d, 0x36, 0x84, 0xaa, 0xfe, 0x45, 0x37, 0xa6, 0xf4, 0xaa, 0x94, + 0x6f, 0xd2, 0x6d, 0xdc, 0x4a, 0xc5, 0x29, 0x8d, 0x15, 0xdb, 0x58, 0x35, 0x1a, 0xa2, 0x8d, 0x29, + 0x52, 0xc4, 0xad, 0x8c, 0x48, 0x87, 0x8f, 0x3f, 0xdc, 0xc6, 0x5e, 0xd3, 0xb4, 0xb0, 0xb9, 0xcf, + 0xc6, 0x6d, 0xdc, 0xbe, 0x06, 0x2b, 0xdb, 0xba, 0x8d, 0x6d, 0xad, 0x1b, 0x4c, 0xb4, 0x35, 0x40, + 0x1a, 0xf5, 0xd9, 0xb8, 0x8f, 0x32, 0xf7, 0x1f, 0xff, 0x87, 0x77, 0xa1, 0x1c, 0xe5, 0xdb, 0xb2, + 0xdf, 0x84, 0x5a, 0xe2, 0x00, 0x24, 0x53, 0xc3, 0x48, 0x3b, 0x2f, 0xb9, 0xf1, 0x5a, 0x3a, 0x52, + 0x36, 0xfc, 0x3a, 0x36, 0xdc, 0x64, 0x6b, 0xa2, 0x61, 0x79, 0xc0, 0xf0, 0x21, 0x1e, 0x58, 0xa6, + 0x8b, 0xde, 0x9e, 0x6b, 0xb6, 0x0a, 0x35, 0xf6, 0xda, 0xac, 0xfd, 0x90, 0x68, 0xed, 0xf6, 0x35, + 0x58, 0xd9, 0xdc, 0x6b, 0xd8, 0xdc, 0x1a, 0x5b, 0xd1, 0x9b, 0x53, 0x89, 0x9a, 0x8c, 0xe3, 0xe5, + 0x8a, 0xfa, 0x77, 0xcd, 0xd8, 0xed, 0xf8, 0x2a, 0xbc, 0x94, 0xef, 0x9d, 0x45, 0x2c, 0x32, 0xff, + 0xd1, 0x33, 0xa3, 0x89, 0x4d, 0x31, 0x86, 0xaf, 0x4f, 0xff, 0xac, 0x19, 0x3b, 0x86, 0x8a, 0xf6, + 0x29, 0x10, 0x76, 0xf3, 0xda, 0xcf, 0x96, 0x6c, 0x6c, 0xa4, 0xa1, 0xd2, 0x86, 0xa2, 0xd7, 0xff, + 0xf0, 0x84, 0x73, 0xf6, 0x03, 0x28, 0x47, 0x1f, 0x98, 0x60, 0xeb, 0xda, 0x07, 0x3f, 0xf4, 0x0f, + 0x62, 0x6c, 0x34, 0xe7, 0x11, 0x69, 0xcc, 0xa7, 0xd7, 0x2e, 0x98, 0xef, 0x33, 0xa8, 0x68, 0x1f, + 0x91, 0x88, 0x06, 0x30, 0xff, 0xa1, 0x8a, 0x68, 0x00, 0x29, 0xdf, 0x9c, 0x30, 0x96, 0xb0, 0x89, + 0x0a, 0x2b, 0x23, 0x7f, 0x87, 0x97, 0x5e, 0xc0, 0xf6, 0x60, 0x55, 0xda, 0x65, 0xc7, 0xfc, 0xab, + 0xbc, 0x86, 0x94, 0x4f, 0xc9, 0x3d, 0xca, 0xb0, 0x8f, 0xa1, 0xa4, 0xbe, 0x15, 0xc2, 0xd6, 0xd2, + 0xbf, 0x79, 0xb2, 0xb1, 0x3e, 0x07, 0x97, 0x46, 0xd4, 0xe7, 0x00, 0xf1, 0x17, 0x2b, 0x22, 0x21, + 0x31, 0xf7, 0x05, 0x8c, 0x88, 0x03, 0xe6, 0x3f, 0x6f, 0x61, 0xac, 0xe1, 0x00, 0x1b, 0x0c, 0x85, + 0x84, 0xcb, 0x2f, 0xd4, 0x0d, 0xb8, 0x3f, 0x84, 0x8a, 0xf6, 0xd1, 0x8a, 0x68, 0xfa, 0xe6, 0x3f, + 0x78, 0x11, 0x4d, 0x5f, 0xca, 0x37, 0x2e, 0x8c, 0x0d, 0xac, 0x7d, 0xc5, 0x58, 0x14, 0xb5, 0x0b, + 0xc5, 0x4c, 0x2a, 0x48, 0xe2, 0x05, 0x9d, 0x41, 0x2d, 0xf1, 0x65, 0x8a, 0x68, 0x85, 0xa6, 0x7d, + 0xf7, 0x22, 0x5a, 0xa1, 0xa9, 0x1f, 0xb3, 0x50, 0x7c, 0x66, 0x2c, 0x89, 0x76, 0xce, 0x91, 0x44, + 0x6b, 0xe9, 0xfb, 0x50, 0xd1, 0xbe, 0x32, 0x11, 0x8d, 0x65, 0xfe, 0x83, 0x16, 0xd1, 0x58, 0xd2, + 0x3e, 0x4a, 0xb1, 0x82, 0x6d, 0xd4, 0x0d, 0x64, 0x05, 0xbc, 0xc3, 0x53, 0xd4, 0xfd, 0x9b, 0x50, + 0x4f, 0x7e, 0x78, 0x22, 0x5a, 0xfb, 0xa9, 0x5f, 0xb0, 0x88, 0xd6, 0xfe, 0x35, 0x5f, 0xab, 0x90, + 0x2c, 0x7d, 0x7f, 0x39, 0x6a, 0xe4, 0xe1, 0x8f, 0xe5, 0xc9, 0xa1, 0x2f, 0xd9, 0x27, 0x42, 0xc0, + 0xc9, 0x2b, 0x64, 0xd9, 0xba, 0xc6, 0xb5, 0xfa, 0x5d, 0xb4, 0xd1, 0x7a, 0x99, 0xbb, 0x6d, 0x36, + 0xc9, 0xcc, 0x58, 0x39, 0x7b, 0x0a, 0xcb, 0x11, 0x33, 0x47, 0x77, 0xc2, 0x06, 0xd1, 0x18, 0x52, + 0x6f, 0x9e, 0xdd, 0x68, 0xcc, 0x62, 0x1f, 0x65, 0x68, 0xfb, 0xc3, 0x9b, 0x38, 0xb5, 0xed, 0x4f, + 0xbf, 0x16, 0x56, 0xdb, 0xfe, 0x12, 0x17, 0x76, 0xce, 0x6e, 0x7f, 0xa1, 0x23, 0xea, 0x70, 0x61, + 0x71, 0xf6, 0x86, 0xd6, 0xdb, 0xd7, 0xdd, 0xcc, 0x40, 0xd5, 0xbf, 0xfe, 0xe2, 0x8b, 0x1b, 0x92, + 0xa2, 0x48, 0x49, 0xd3, 0x87, 0x32, 0x55, 0x85, 0xfd, 0x06, 0x54, 0xf5, 0xcb, 0xea, 0x99, 0x2e, + 0x13, 0x66, 0x5b, 0xba, 0x95, 0x8a, 0x4b, 0x72, 0x09, 0xab, 0xea, 0xcd, 0xb0, 0x4f, 0x61, 0x2d, + 0x9a, 0x66, 0xfd, 0x6a, 0x81, 0x80, 0xdd, 0x49, 0xb9, 0x70, 0x20, 0x31, 0xd9, 0x37, 0xaf, 0xbd, + 0x91, 0xe0, 0x51, 0x46, 0x70, 0x5f, 0xf2, 0xd6, 0xec, 0x78, 0xe7, 0x49, 0xbb, 0x2c, 0x3c, 0xde, + 0x79, 0x52, 0xaf, 0xda, 0x56, 0xdc, 0xc7, 0x96, 0x13, 0x73, 0x44, 0x49, 0xbc, 0xec, 0xfb, 0xb0, + 0xa8, 0xdd, 0x9b, 0xd0, 0xbb, 0x72, 0x07, 0xd1, 0x4a, 0x9a, 0xbf, 0xf6, 0x71, 0x23, 0xcd, 0x93, + 0x69, 0xac, 0x63, 0xfd, 0x4b, 0x46, 0x62, 0x72, 0xc4, 0x2a, 0xda, 0x82, 0x8a, 0x7e, 0x27, 0xc3, + 0x0b, 0xea, 0x5d, 0xd7, 0x50, 0xfa, 0x0d, 0x83, 0x8f, 0x32, 0x6c, 0x0f, 0x1a, 0xb3, 0xf7, 0x9d, + 0x45, 0x32, 0x25, 0xed, 0x8e, 0xb6, 0x8d, 0x19, 0x64, 0xe2, 0x96, 0x34, 0x76, 0x48, 0xc7, 0x40, + 0xa2, 0xef, 0xae, 0x79, 0xfe, 0xec, 0xae, 0x9e, 0xfc, 0x1e, 0x5b, 0x54, 0x5b, 0xda, 0x97, 0xf8, + 0xee, 0x65, 0x1e, 0x65, 0xd8, 0xef, 0x66, 0xa0, 0x9a, 0xb8, 0x41, 0x28, 0x91, 0x68, 0x3f, 0x33, + 0xce, 0xa6, 0x8e, 0xd3, 0x07, 0x6a, 0x98, 0x38, 0x89, 0x7b, 0xf7, 0xbf, 0x97, 0x78, 0x49, 0x3f, + 0x4e, 0x04, 0x02, 0x1f, 0xcc, 0x7e, 0x98, 0xed, 0xcb, 0x59, 0x02, 0xfd, 0x36, 0xcf, 0x2f, 0x1f, + 0x65, 0xd8, 0xbf, 0xce, 0x40, 0x3d, 0x19, 0xe1, 0x8f, 0x86, 0x9b, 0x9a, 0x4b, 0x10, 0xb1, 0xd2, + 0x35, 0x69, 0x01, 0xdf, 0xc7, 0x5e, 0xf6, 0xef, 0x9b, 0x89, 0x5e, 0xca, 0xfb, 0xde, 0x7f, 0xbe, + 0xde, 0xb2, 0x8f, 0xe8, 0x3b, 0xa8, 0x2a, 0xf1, 0x89, 0xcd, 0x7f, 0x37, 0x33, 0x62, 0x3f, 0xfd, + 0x2b, 0x93, 0xf8, 0x12, 0x7e, 0x48, 0x1f, 0x20, 0x53, 0x79, 0x34, 0x82, 0x8b, 0x5f, 0xb5, 0xbc, + 0xf1, 0x16, 0x8e, 0xe9, 0x75, 0xe3, 0x66, 0x62, 0x4c, 0xb3, 0x8a, 0x47, 0x8b, 0x7a, 0x27, 0x3f, + 0x12, 0x19, 0xef, 0x9c, 0x73, 0x1f, 0x8e, 0xbc, 0xbe, 0x93, 0x63, 0xea, 0xa4, 0x24, 0x4f, 0x2c, + 0xb5, 0x57, 0xac, 0xc6, 0xb8, 0x8f, 0x7d, 0x7d, 0xcb, 0xb8, 0x73, 0x6d, 0x5f, 0x1f, 0x62, 0xb4, + 0x5e, 0xf4, 0xf8, 0x10, 0x20, 0x4e, 0x4c, 0x64, 0x33, 0xe9, 0x71, 0x91, 0x00, 0x9a, 0xcf, 0x5d, + 0x4c, 0xae, 0x67, 0x95, 0x45, 0x27, 0x6a, 0xfc, 0x01, 0x89, 0xd3, 0x28, 0x71, 0x4f, 0xd7, 0xbe, + 0x92, 0x39, 0x84, 0x09, 0xed, 0x6b, 0xb6, 0xfe, 0x84, 0x30, 0x8d, 0xb2, 0xf4, 0x8e, 0xa0, 0xb6, + 0xe7, 0x79, 0xcf, 0xa7, 0x93, 0x28, 0x19, 0x3e, 0x99, 0x42, 0xb3, 0x6b, 0x07, 0x67, 0x1b, 0x33, + 0xa3, 0x30, 0xee, 0x62, 0x55, 0x1b, 0xac, 0xa9, 0x55, 0xf5, 0xf0, 0xc7, 0x71, 0x36, 0xe4, 0x97, + 0xcc, 0x86, 0xa5, 0x48, 0x46, 0xc7, 0x19, 0x87, 0xc9, 0x6a, 0x12, 0x92, 0x79, 0xb6, 0x89, 0x84, + 0x99, 0xa0, 0x7a, 0xfb, 0x30, 0x50, 0x75, 0x3e, 0xca, 0xb0, 0x43, 0xa8, 0x6e, 0xf3, 0x01, 0xde, + 0xa5, 0x80, 0x89, 0x28, 0xcb, 0x89, 0xa4, 0x06, 0xca, 0x60, 0xd9, 0xa8, 0x25, 0x80, 0xc9, 0x7d, + 0x6b, 0x62, 0x5f, 0xf9, 0xfc, 0x8b, 0x87, 0x3f, 0x96, 0x29, 0x2e, 0x5f, 0xaa, 0x7d, 0x4b, 0xa5, + 0x00, 0x25, 0xf6, 0xad, 0x99, 0x9c, 0xa1, 0xc4, 0xbe, 0x35, 0x97, 0x33, 0x94, 0x98, 0x6a, 0x95, + 0x82, 0xc4, 0x46, 0xb0, 0x34, 0x97, 0x66, 0x14, 0x6d, 0x59, 0xd7, 0x25, 0x27, 0x6d, 0xdc, 0xbd, + 0x9e, 0x20, 0xd9, 0xda, 0xfd, 0x64, 0x6b, 0x3d, 0xa8, 0xd1, 0x05, 0xa3, 0xc7, 0x9c, 0x4e, 0x55, + 0xce, 0x5c, 0x49, 0xa4, 0x1f, 0xd9, 0x9c, 0xdd, 0x60, 0x10, 0x97, 0xd4, 0x70, 0xf0, 0x64, 0x1d, + 0x3b, 0xc1, 0xfb, 0xe9, 0xb5, 0x63, 0x8c, 0x11, 0x33, 0xce, 0x1f, 0xad, 0x8c, 0x98, 0x31, 0xe5, + 0xd4, 0xa3, 0x32, 0x3f, 0xd9, 0x6a, 0x54, 0xf7, 0x43, 0xd7, 0x1b, 0xf2, 0xb1, 0xac, 0xf5, 0x07, + 0x50, 0x79, 0xca, 0x43, 0x75, 0x72, 0x30, 0xd2, 0xe5, 0x67, 0x8e, 0x12, 0x6e, 0xa4, 0x9c, 0xf6, + 0x4c, 0xf2, 0x26, 0xd5, 0xcc, 0x87, 0xa7, 0x9c, 0x84, 0xa0, 0xe5, 0x0c, 0xbf, 0x64, 0xbf, 0x8e, + 0x95, 0x47, 0xa7, 0xe4, 0xd7, 0xb4, 0x6e, 0xea, 0x95, 0x2f, 0xce, 0xc0, 0xd3, 0x6a, 0x16, 0x7d, + 0xd6, 0x74, 0x4a, 0x17, 0x2a, 0xda, 0x6d, 0x1a, 0xd1, 0xdc, 0xcc, 0xdf, 0x9e, 0x12, 0xcd, 0x4d, + 0xca, 0xe5, 0x1b, 0xc6, 0x3d, 0x6c, 0xc7, 0x60, 0x77, 0xe3, 0x76, 0xe8, 0xc2, 0x8d, 0xb8, 0xa5, + 0x87, 0x3f, 0xb6, 0xc7, 0xe1, 0x97, 0xec, 0x33, 0x7a, 0x1d, 0xda, 0xc9, 0xc8, 0xd8, 0x38, 0x99, + 0x3d, 0x44, 0x19, 0x4d, 0x96, 0x86, 0x4a, 0x1a, 0x2c, 0xd4, 0x14, 0x6a, 0x8c, 0x4f, 0x00, 0x7a, + 0xa1, 0x37, 0xd9, 0xb6, 0xf9, 0xd8, 0x73, 0x63, 0x99, 0x1e, 0x9f, 0xd5, 0x8b, 0xe5, 0xa4, 0x76, + 0x60, 0x8f, 0x7d, 0xa6, 0x59, 0x73, 0x89, 0x13, 0xbd, 0x8a, 0x89, 0xaf, 0x3d, 0xce, 0x17, 0x4d, + 0x48, 0xca, 0x91, 0xbe, 0x47, 0x19, 0xd6, 0x02, 0x88, 0xf3, 0xd9, 0x22, 0xdb, 0x6c, 0x2e, 0x55, + 0x2e, 0x12, 0xaf, 0x29, 0xc9, 0x6f, 0x87, 0x50, 0x8e, 0x13, 0x81, 0xd6, 0xe3, 0xcb, 0x81, 0x12, + 0x69, 0x43, 0x91, 0xa6, 0x30, 0x97, 0x84, 0x63, 0x34, 0x70, 0xaa, 0x80, 0x95, 0xc4, 0x54, 0x9d, + 0x70, 0x1e, 0x30, 0x07, 0x96, 0xa9, 0x83, 0x91, 0x5a, 0x86, 0x67, 0xcc, 0xa2, 0xaf, 0x42, 0xcc, + 0xe7, 0xc3, 0x44, 0x52, 0x23, 0x35, 0xab, 0x23, 0xe1, 0x62, 0x12, 0xdc, 0x4a, 0xe7, 0xdb, 0xc4, + 0x16, 0x30, 0x86, 0xa5, 0xb9, 0xc4, 0x81, 0x48, 0x74, 0x5c, 0x97, 0x09, 0x12, 0x89, 0x8e, 0x6b, + 0x73, 0x0e, 0x8c, 0x55, 0x6c, 0x72, 0xd1, 0x00, 0x34, 0x29, 0x2f, 0x9c, 0x70, 0x70, 0x26, 0x9a, + 0xfb, 0xfd, 0x0c, 0x2c, 0xa7, 0xa4, 0x06, 0xb0, 0x37, 0x94, 0x77, 0xe2, 0xda, 0xb4, 0x81, 0x8d, + 0xd4, 0x10, 0xb2, 0xd1, 0xc3, 0x76, 0xf6, 0xd9, 0xb3, 0xc4, 0x06, 0x4a, 0x11, 0x5c, 0xb9, 0x32, + 0x5f, 0xa8, 0xbc, 0xa4, 0x6a, 0x2e, 0x5f, 0xc0, 0x3a, 0x75, 0xa4, 0x35, 0x1a, 0xcd, 0x84, 0xb7, + 0x5f, 0xd7, 0x7a, 0x91, 0x12, 0xb2, 0x4f, 0xd8, 0x01, 0xc9, 0xb0, 0xfd, 0x35, 0x6a, 0x3b, 0x75, + 0x95, 0x4d, 0xa1, 0x31, 0x1b, 0x36, 0x66, 0xd7, 0xd7, 0xb5, 0x71, 0x27, 0x61, 0x67, 0xa7, 0x84, + 0x9a, 0xbf, 0x86, 0x8d, 0xdd, 0x31, 0x36, 0xd2, 0xe6, 0x85, 0x4c, 0x6f, 0xf1, 0x3e, 0xfe, 0x7a, + 0x14, 0xe3, 0x9e, 0x19, 0xa7, 0x6a, 0xe0, 0xba, 0x88, 0x7c, 0x64, 0xe9, 0xa7, 0x87, 0xc8, 0xdf, + 0xc6, 0xe6, 0xef, 0x1a, 0xb7, 0xd2, 0x9a, 0xf7, 0xa9, 0x08, 0xd9, 0xfc, 0xeb, 0xb3, 0xeb, 0x5a, + 0xf5, 0xe0, 0x6e, 0xda, 0xfb, 0xbe, 0xd6, 0xe6, 0x9a, 0x99, 0xeb, 0x1b, 0xa8, 0x43, 0x56, 0xf5, + 0x98, 0x76, 0xb4, 0x7c, 0x52, 0x82, 0xe7, 0xd1, 0xf2, 0x49, 0x0b, 0x82, 0x27, 0xf5, 0x27, 0x15, + 0xfe, 0xfe, 0x28, 0x73, 0x7f, 0xf3, 0x9d, 0xef, 0x7f, 0xed, 0xd4, 0x09, 0xcf, 0xa6, 0xc7, 0x0f, + 0x06, 0xde, 0xf8, 0xe1, 0x48, 0x79, 0x35, 0xe5, 0x41, 0xec, 0x87, 0x23, 0x77, 0xf8, 0x10, 0xab, + 0x3d, 0x5e, 0x98, 0xf8, 0x5e, 0xe8, 0x7d, 0xe3, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x4f, 0xc5, + 0x60, 0x26, 0x72, 0x86, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -12577,6 +12750,10 @@ type LightningClient interface { //the node directional specific routing policy which includes: the time lock //delta, fee information, etc. DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error) + //* lncli: `getnodemetrics` + //GetNodeMetrics returns node metrics calculated from the graph. Currently + //the only supported metric is betweenness centrality of individual nodes. + GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error) //* lncli: `getchaninfo` //GetChanInfo returns the latest authenticated network announcement for the //given channel identified by its channel ID: an 8-byte integer which @@ -13232,6 +13409,15 @@ func (c *lightningClient) DescribeGraph(ctx context.Context, in *ChannelGraphReq return out, nil } +func (c *lightningClient) GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error) { + out := new(NodeMetricsResponse) + err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNodeMetrics", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *lightningClient) GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error) { out := new(ChannelEdge) err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetChanInfo", in, out, opts...) @@ -13639,6 +13825,10 @@ type LightningServer interface { //the node directional specific routing policy which includes: the time lock //delta, fee information, etc. DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error) + //* lncli: `getnodemetrics` + //GetNodeMetrics returns node metrics calculated from the graph. Currently + //the only supported metric is betweenness centrality of individual nodes. + GetNodeMetrics(context.Context, *NodeMetricsRequest) (*NodeMetricsResponse, error) //* lncli: `getchaninfo` //GetChanInfo returns the latest authenticated network announcement for the //given channel identified by its channel ID: an 8-byte integer which @@ -14470,6 +14660,24 @@ func _Lightning_DescribeGraph_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Lightning_GetNodeMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NodeMetricsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LightningServer).GetNodeMetrics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lnrpc.Lightning/GetNodeMetrics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LightningServer).GetNodeMetrics(ctx, req.(*NodeMetricsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Lightning_GetChanInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChanInfoRequest) if err := dec(in); err != nil { @@ -14884,6 +15092,10 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{ MethodName: "DescribeGraph", Handler: _Lightning_DescribeGraph_Handler, }, + { + MethodName: "GetNodeMetrics", + Handler: _Lightning_GetNodeMetrics_Handler, + }, { MethodName: "GetChanInfo", Handler: _Lightning_GetChanInfo_Handler, diff --git a/lnrpc/rpc.pb.gw.go b/lnrpc/rpc.pb.gw.go index 55ac162c..78aae3c1 100644 --- a/lnrpc/rpc.pb.gw.go +++ b/lnrpc/rpc.pb.gw.go @@ -653,6 +653,23 @@ func request_Lightning_DescribeGraph_0(ctx context.Context, marshaler runtime.Ma } +var ( + filter_Lightning_GetNodeMetrics_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Lightning_GetNodeMetrics_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NodeMetricsRequest + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Lightning_GetNodeMetrics_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetNodeMetrics(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + func request_Lightning_GetChanInfo_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChanInfoRequest var metadata runtime.ServerMetadata @@ -1678,6 +1695,26 @@ func RegisterLightningHandlerClient(ctx context.Context, mux *runtime.ServeMux, }) + mux.Handle("GET", pattern_Lightning_GetNodeMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Lightning_GetNodeMetrics_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Lightning_GetNodeMetrics_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Lightning_GetChanInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1980,6 +2017,8 @@ var ( pattern_Lightning_DescribeGraph_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "graph"}, "")) + pattern_Lightning_GetNodeMetrics_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "graph", "nodemetrics"}, "")) + pattern_Lightning_GetChanInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "graph", "edge", "chan_id"}, "")) pattern_Lightning_GetNodeInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "graph", "node", "pub_key"}, "")) @@ -2064,6 +2103,8 @@ var ( forward_Lightning_DescribeGraph_0 = runtime.ForwardResponseMessage + forward_Lightning_GetNodeMetrics_0 = runtime.ForwardResponseMessage + forward_Lightning_GetChanInfo_0 = runtime.ForwardResponseMessage forward_Lightning_GetNodeInfo_0 = runtime.ForwardResponseMessage diff --git a/lnrpc/rpc.proto b/lnrpc/rpc.proto index 536eb46a..1417a3f1 100644 --- a/lnrpc/rpc.proto +++ b/lnrpc/rpc.proto @@ -641,6 +641,17 @@ service Lightning { }; } + /** lncli: `getnodemetrics` + GetNodeMetrics returns node metrics calculated from the graph. Currently + the only supported metric is betweenness centrality of individual nodes. + */ + rpc GetNodeMetrics (NodeMetricsRequest) returns (NodeMetricsResponse) { + option (google.api.http) = { + get: "/v1/graph/nodemetrics" + }; + } + + /** lncli: `getchaninfo` GetChanInfo returns the latest authenticated network announcement for the given channel identified by its channel ID: an 8-byte integer which @@ -2516,6 +2527,34 @@ message ChannelGraph { repeated ChannelEdge edges = 2; } +enum NodeMetricType { + BETWEENNESS_CENTRALITY = 0; +} + +message NodeMetricsRequest { + /// The requesteded node metrics. + repeated NodeMetricType types = 1; +} + +message NodeMetricsResponse { + /** + Betweenness centrality is the sum of the ratio of shortest paths that pass + through the node for each pair of nodes in the graph (not counting paths + starting or ending at this node). + Map of node pubkey to betweenness centrality of the node. Normalized + values are in the [0,1] closed interval. + */ + map betweenness_centrality = 1; +} + +message FloatValue { + /// Arbitrary float value. + double value = 1; + + /// The value normalized to [0,1] or [-1,1]. + double normalized_value = 2; +} + message ChanInfoRequest { /** The unique channel ID for the channel. The first 3 bytes are the block diff --git a/lnrpc/rpc.swagger.json b/lnrpc/rpc.swagger.json index b6c9f5bb..7aedb113 100644 --- a/lnrpc/rpc.swagger.json +++ b/lnrpc/rpc.swagger.json @@ -718,6 +718,39 @@ ] } }, + "/v1/graph/nodemetrics": { + "get": { + "summary": "* lncli: `getnodemetrics`\nGetNodeMetrics returns node metrics calculated from the graph. Currently\nthe only supported metric is betweenness centrality of individual nodes.", + "operationId": "GetNodeMetrics", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/lnrpcNodeMetricsResponse" + } + } + }, + "parameters": [ + { + "name": "types", + "description": "/ The requesteded node metrics.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "BETWEENNESS_CENTRALITY" + ] + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Lightning" + ] + } + }, "/v1/graph/routes/{pub_key}/{amt}": { "get": { "summary": "* lncli: `queryroutes`\nQueryRoutes attempts to query the daemon's Channel Router for a possible\nroute to a target destination capable of carrying a specific amount of\nsatoshis. The returned route contains the full details required to craft and\nsend an HTLC, also including the necessary information that should be\npresent within the Sphinx packet encapsulated within the HTLC.", @@ -2684,6 +2717,21 @@ } } }, + "lnrpcFloatValue": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double", + "description": "/ Arbitrary float value." + }, + "normalized_value": { + "type": "number", + "format": "double", + "description": "/ The value normalized to [0,1] or [-1,1]." + } + } + }, "lnrpcForwardingEvent": { "type": "object", "properties": { @@ -3574,6 +3622,25 @@ } } }, + "lnrpcNodeMetricType": { + "type": "string", + "enum": [ + "BETWEENNESS_CENTRALITY" + ], + "default": "BETWEENNESS_CENTRALITY" + }, + "lnrpcNodeMetricsResponse": { + "type": "object", + "properties": { + "betweenness_centrality": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/lnrpcFloatValue" + }, + "description": "*\nBetweenness centrality is the sum of the ratio of shortest paths that pass\nthrough the node for each pair of nodes in the graph (not counting paths\nstarting or ending at this node).\nMap of node pubkey to betweenness centrality of the node. Normalized\nvalues are in the [0,1] closed interval." + } + } + }, "lnrpcNodePair": { "type": "object", "properties": { diff --git a/rpcserver.go b/rpcserver.go index 721b4fad..995cc7b6 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -354,6 +354,10 @@ func mainRPCServerPermissions() map[string][]bakery.Op { Entity: "info", Action: "read", }}, + "/lnrpc.Lightning/GetNodeMetrics": {{ + Entity: "info", + Action: "read", + }}, "/lnrpc.Lightning/GetChanInfo": {{ Entity: "info", Action: "read", @@ -4561,14 +4565,16 @@ func (r *rpcServer) DescribeGraph(ctx context.Context, nodeAddrs = append(nodeAddrs, nodeAddr) } - resp.Nodes = append(resp.Nodes, &lnrpc.LightningNode{ + lnNode := &lnrpc.LightningNode{ LastUpdate: uint32(node.LastUpdate.Unix()), PubKey: hex.EncodeToString(node.PubKeyBytes[:]), Addresses: nodeAddrs, Alias: node.Alias, Color: routing.EncodeHexColor(node.Color), Features: invoicesrpc.CreateRPCFeatures(node.Features), - }) + } + + resp.Nodes = append(resp.Nodes, lnNode) return nil }) @@ -4657,6 +4663,57 @@ func marshalDbEdge(edgeInfo *channeldb.ChannelEdgeInfo, return edge } +// GetNodeMetrics returns all available node metrics calculated from the +// current channel graph. +func (r *rpcServer) GetNodeMetrics(ctx context.Context, + req *lnrpc.NodeMetricsRequest) (*lnrpc.NodeMetricsResponse, error) { + + // Get requested metric types. + getCentrality := false + for _, t := range req.Types { + if t == lnrpc.NodeMetricType_BETWEENNESS_CENTRALITY { + getCentrality = true + } + } + + // Only centrality can be requested for now. + if !getCentrality { + return nil, nil + } + + resp := &lnrpc.NodeMetricsResponse{ + BetweennessCentrality: make(map[string]*lnrpc.FloatValue), + } + + // Obtain the pointer to the global singleton channel graph, this will + // provide a consistent view of the graph due to bolt db's + // transactional model. + graph := r.server.chanDB.ChannelGraph() + + // Calculate betweenness centrality if requested. Note that depending on the + // graph size, this may take up to a few minutes. + channelGraph := autopilot.ChannelGraphFromDatabase(graph) + centralityMetric := autopilot.NewBetweennessCentralityMetric() + if err := centralityMetric.Refresh(channelGraph); err != nil { + return nil, err + } + + // Fill normalized and non normalized centrality. + centrality := centralityMetric.GetMetric(true) + for nodeID, val := range centrality { + resp.BetweennessCentrality[hex.EncodeToString(nodeID[:])] = &lnrpc.FloatValue{ + NormalizedValue: val, + } + } + + centrality = centralityMetric.GetMetric(false) + for nodeID, val := range centrality { + resp.BetweennessCentrality[hex.EncodeToString(nodeID[:])].Value = val + } + + return resp, nil +} + // GetChanInfo returns the latest authenticated network announcement for the // given channel identified by its channel ID: an 8-byte integer which uniquely // identifies the location of transaction's funding output within the block From 608354032c15f35f141329d960b8228529ce9cd7 Mon Sep 17 00:00:00 2001 From: Andras Banki-Horvath Date: Tue, 24 Mar 2020 17:28:55 +0100 Subject: [PATCH 4/5] autopilot: parallelize betweenness centrality This commit parallelizes betweenness centrality calculation, by distributing the algo to N workers and creating partial results. --- autopilot/betweenness_centrality.go | 73 +++++++++++++--- autopilot/betweenness_centrality_test.go | 101 +++++++++++++++-------- rpcserver.go | 8 +- 3 files changed, 136 insertions(+), 46 deletions(-) diff --git a/autopilot/betweenness_centrality.go b/autopilot/betweenness_centrality.go index bfc15e36..34a10f7a 100644 --- a/autopilot/betweenness_centrality.go +++ b/autopilot/betweenness_centrality.go @@ -1,5 +1,10 @@ package autopilot +import ( + "fmt" + "sync" +) + // stack is a simple int stack to help with readability of Brandes' // betweenness centrality implementation below. type stack struct { @@ -50,6 +55,10 @@ func (q *queue) empty() bool { // shortest paths starting or ending at that node. This is a useful metric // to measure control of individual nodes over the whole network. type BetweennessCentrality struct { + // workers number of goroutines are used to parallelize + // centrality calculation. + workers int + // centrality stores original (not normalized) centrality values for // each node in the graph. centrality map[NodeID]float64 @@ -62,8 +71,15 @@ type BetweennessCentrality struct { } // NewBetweennessCentralityMetric creates a new BetweennessCentrality instance. -func NewBetweennessCentralityMetric() *BetweennessCentrality { - return &BetweennessCentrality{} +// Users can specify the number of workers to use for calculating centrality. +func NewBetweennessCentralityMetric(workers int) (*BetweennessCentrality, error) { + // There should be at least one worker. + if workers < 1 { + return nil, fmt.Errorf("workers must be positive") + } + return &BetweennessCentrality{ + workers: workers, + }, nil } // Name returns the name of the metric. @@ -158,10 +174,47 @@ func (bc *BetweennessCentrality) Refresh(graph ChannelGraph) error { return err } - // TODO: parallelize updates to centrality. - centrality := make([]float64, len(cache.Nodes)) + var wg sync.WaitGroup + work := make(chan int) + partials := make(chan []float64, bc.workers) + + // Each worker will compute a partial result. This + // partial result is a sum of centrality updates on + // roughly N / workers nodes. + worker := func() { + defer wg.Done() + partial := make([]float64, len(cache.Nodes)) + + // Consume the next node, update centrality + // parital to avoid unnecessary synchronizaton. + for node := range work { + betweennessCentrality(cache, node, partial) + } + partials <- partial + } + + // Now start the N workers. + wg.Add(bc.workers) + for i := 0; i < bc.workers; i++ { + go worker() + } + + // Distribute work amongst workers Should be + // fair when graph is sufficiently large. for node := range cache.Nodes { - betweennessCentrality(cache, node, centrality) + work <- node + } + + close(work) + wg.Wait() + close(partials) + + // Collect and sum partials for final result. + centrality := make([]float64, len(cache.Nodes)) + for partial := range partials { + for i := 0; i < len(partial); i++ { + centrality[i] += partial[i] + } } // Get min/max to be able to normalize @@ -169,11 +222,11 @@ func (bc *BetweennessCentrality) Refresh(graph ChannelGraph) error { bc.min = 0 bc.max = 0 if len(centrality) > 0 { - for i := 1; i < len(centrality); i++ { - if centrality[i] < bc.min { - bc.min = centrality[i] - } else if centrality[i] > bc.max { - bc.max = centrality[i] + for _, v := range centrality { + if v < bc.min { + bc.min = v + } else if v > bc.max { + bc.max = v } } } diff --git a/autopilot/betweenness_centrality_test.go b/autopilot/betweenness_centrality_test.go index 09fd7fc3..4b71f77f 100644 --- a/autopilot/betweenness_centrality_test.go +++ b/autopilot/betweenness_centrality_test.go @@ -1,15 +1,38 @@ package autopilot import ( + "fmt" "testing" "github.com/btcsuite/btcd/btcec" "github.com/btcsuite/btcutil" ) +func TestBetweennessCentralityMetricConstruction(t *testing.T) { + failing := []int{-1, 0} + ok := []int{1, 10} + + for _, workers := range failing { + m, err := NewBetweennessCentralityMetric(workers) + if m != nil || err == nil { + t.Fatalf("construction must fail with <= 0 workers") + } + } + + for _, workers := range ok { + m, err := NewBetweennessCentralityMetric(workers) + if m == nil || err != nil { + t.Fatalf("construction must succeed with >= 1 workers") + } + } +} + // Tests that empty graph results in empty centrality result. func TestBetweennessCentralityEmptyGraph(t *testing.T) { - centralityMetric := NewBetweennessCentralityMetric() + centralityMetric, err := NewBetweennessCentralityMetric(1) + if err != nil { + t.Fatalf("construction must succeed with positive number of workers") + } for _, chanGraph := range chanGraphs { graph, cleanup, err := chanGraph.genFunc() @@ -91,8 +114,9 @@ func TestBetweennessCentralityWithNonEmptyGraph(t *testing.T) { }, } - tests := []struct { - name string + workers := []int{1, 3, 9, 100} + + results := []struct { normalize bool centrality []float64 }{ @@ -110,47 +134,54 @@ func TestBetweennessCentralityWithNonEmptyGraph(t *testing.T) { }, } - for _, chanGraph := range chanGraphs { - graph, cleanup, err := chanGraph.genFunc() - if err != nil { - t.Fatalf("unable to create graph: %v", err) - } - if cleanup != nil { - defer cleanup() - } - - success := t.Run(chanGraph.name, func(t1 *testing.T) { - centralityMetric := NewBetweennessCentralityMetric() - graphNodes := buildTestGraph(t1, graph, graphDesc) - - if err := centralityMetric.Refresh(graph); err != nil { - t1.Fatalf("error while calculating betweeness centrality") + for _, numWorkers := range workers { + for _, chanGraph := range chanGraphs { + numWorkers := numWorkers + graph, cleanup, err := chanGraph.genFunc() + if err != nil { + t.Fatalf("unable to create graph: %v", err) + } + if cleanup != nil { + defer cleanup() } - for _, test := range tests { - test := test - centrality := centralityMetric.GetMetric(test.normalize) - if len(centrality) != graphDesc.nodes { - t.Fatalf("expected %v values, got: %v", - graphDesc.nodes, len(centrality)) + testName := fmt.Sprintf("%v %d workers", chanGraph.name, numWorkers) + success := t.Run(testName, func(t1 *testing.T) { + centralityMetric, err := NewBetweennessCentralityMetric(numWorkers) + if err != nil { + t.Fatalf("construction must succeed with positive number of workers") } - for node, nodeCentrality := range test.centrality { - nodeID := NewNodeID(graphNodes[node]) - calculatedCentrality, ok := centrality[nodeID] - if !ok { - t1.Fatalf("no result for node: %x (%v)", nodeID, node) + graphNodes := buildTestGraph(t1, graph, graphDesc) + if err := centralityMetric.Refresh(graph); err != nil { + t1.Fatalf("error while calculating betweeness centrality") + } + for _, expected := range results { + expected := expected + centrality := centralityMetric.GetMetric(expected.normalize) + + if len(centrality) != graphDesc.nodes { + t.Fatalf("expected %v values, got: %v", + graphDesc.nodes, len(centrality)) } - if nodeCentrality != calculatedCentrality { - t1.Errorf("centrality for node: %v should be %v, got: %v", - node, test.centrality[node], calculatedCentrality) + for node, nodeCentrality := range expected.centrality { + nodeID := NewNodeID(graphNodes[node]) + calculatedCentrality, ok := centrality[nodeID] + if !ok { + t1.Fatalf("no result for node: %x (%v)", nodeID, node) + } + + if nodeCentrality != calculatedCentrality { + t1.Errorf("centrality for node: %v should be %v, got: %v", + node, nodeCentrality, calculatedCentrality) + } } } + }) + if !success { + break } - }) - if !success { - break } } } diff --git a/rpcserver.go b/rpcserver.go index 995cc7b6..5cb8ade2 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -10,6 +10,7 @@ import ( "io" "math" "net/http" + "runtime" "sort" "strings" "sync" @@ -4693,7 +4694,12 @@ func (r *rpcServer) GetNodeMetrics(ctx context.Context, // Calculate betweenness centrality if requested. Note that depending on the // graph size, this may take up to a few minutes. channelGraph := autopilot.ChannelGraphFromDatabase(graph) - centralityMetric := autopilot.NewBetweennessCentralityMetric() + centralityMetric, err := autopilot.NewBetweennessCentralityMetric( + runtime.NumCPU(), + ) + if err != nil { + return nil, err + } if err := centralityMetric.Refresh(channelGraph); err != nil { return nil, err } From 5a4d595e5388b2199bb12af603645a5f581a6dda Mon Sep 17 00:00:00 2001 From: Andras Banki-Horvath Date: Fri, 27 Mar 2020 10:43:32 +0100 Subject: [PATCH 5/5] lncli: group graph queries under Graph category This commit moves DescribeGraph, GetNodeInfo and GetChanInfo under the Graph category. --- cmd/lncli/commands.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/lncli/commands.go b/cmd/lncli/commands.go index b9fc4089..21366774 100644 --- a/cmd/lncli/commands.go +++ b/cmd/lncli/commands.go @@ -2942,7 +2942,7 @@ func listInvoices(ctx *cli.Context) error { var describeGraphCommand = cli.Command{ Name: "describegraph", - Category: "Peers", + Category: "Graph", Description: "Prints a human readable version of the known channel " + "graph from the PoV of the node", Usage: "Describe the network graph.", @@ -3031,7 +3031,7 @@ func listPayments(ctx *cli.Context) error { var getChanInfoCommand = cli.Command{ Name: "getchaninfo", - Category: "Channels", + Category: "Graph", Usage: "Get the state of a channel.", Description: "Prints out the latest authenticated state for a " + "particular channel", @@ -3082,7 +3082,7 @@ func getChanInfo(ctx *cli.Context) error { var getNodeInfoCommand = cli.Command{ Name: "getnodeinfo", - Category: "Peers", + Category: "Graph", Usage: "Get information on a specific node.", Description: "Prints out the latest authenticated node state for an " + "advertised node",