Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
7d217121
Commit
7d217121
authored
Nov 23, 2021
by
mdj33
Committed by
33cn
Nov 23, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code refactor to autonomy
parent
0ddcada7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
77 deletions
+67
-77
changeaction.go
plugin/dapp/autonomy/executor/changeaction.go
+4
-4
itemaction.go
plugin/dapp/autonomy/executor/itemaction.go
+2
-2
projectaction.go
plugin/dapp/autonomy/executor/projectaction.go
+2
-2
item.proto
plugin/dapp/autonomy/proto/item.proto
+1
-2
item.pb.go
plugin/dapp/autonomy/types/item.pb.go
+58
-67
No files found.
plugin/dapp/autonomy/executor/changeaction.go
View file @
7d217121
...
...
@@ -256,8 +256,8 @@ func (a *action) votePropChange(voteProb *auty.VoteProposalChange) (*types.Recei
}
if
cfg
.
IsDappFork
(
a
.
height
,
auty
.
AutonomyX
,
auty
.
ForkAutonomyDelRule
)
{
if
cur
.
VoteResult
.
TotalVotes
!=
0
&&
float32
(
cur
.
VoteResult
.
ApproveVotes
)
/
float32
(
cur
.
VoteResult
.
TotalVotes
-
cur
.
VoteResult
.
QuitVotes
)
>
float32
(
cur
.
CurRule
.
BoardApproveRatio
)
/
100.0
{
if
cur
.
VoteResult
.
TotalVotes
!=
0
&&
cur
.
VoteResult
.
TotalVotes
>
cur
.
VoteResult
.
QuitVotes
&&
cur
.
VoteResult
.
ApproveVotes
*
100
>
cur
.
CurRule
.
BoardApproveRatio
*
(
cur
.
VoteResult
.
TotalVotes
-
cur
.
VoteResult
.
QuitVotes
)
{
cur
.
VoteResult
.
Pass
=
true
cur
.
PropChange
.
RealEndBlockHeight
=
a
.
height
}
...
...
@@ -323,8 +323,8 @@ func (a *action) tmintPropChange(tmintProb *auty.TerminateProposalChange) (*type
cfg
:=
a
.
api
.
GetConfig
()
if
cfg
.
IsDappFork
(
a
.
height
,
auty
.
AutonomyX
,
auty
.
ForkAutonomyDelRule
)
{
if
cur
.
VoteResult
.
TotalVotes
!=
0
&&
float32
(
cur
.
VoteResult
.
ApproveVotes
)
/
float32
(
cur
.
VoteResult
.
TotalVotes
-
cur
.
VoteResult
.
QuitVotes
)
>
float32
(
cur
.
CurRule
.
BoardApproveRatio
)
/
100.0
{
if
cur
.
VoteResult
.
TotalVotes
!=
0
&&
cur
.
VoteResult
.
TotalVotes
>
cur
.
VoteResult
.
QuitVotes
&&
cur
.
VoteResult
.
ApproveVotes
*
100
>
cur
.
CurRule
.
BoardApproveRatio
*
(
cur
.
VoteResult
.
TotalVotes
-
cur
.
VoteResult
.
QuitVotes
)
{
cur
.
VoteResult
.
Pass
=
true
}
else
{
cur
.
VoteResult
.
Pass
=
false
...
...
plugin/dapp/autonomy/executor/itemaction.go
View file @
7d217121
...
...
@@ -208,7 +208,7 @@ func (a *action) votePropItem(voteProb *auty.VoteProposalItem) (*types.Receipt,
}
if
cur
.
BoardVoteRes
.
TotalVotes
!=
0
&&
cur
.
BoardVoteRes
.
TotalVotes
>
cur
.
BoardVoteRes
.
QuitVotes
&&
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
)
/
float32
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
>=
float32
(
cur
.
CurRule
.
BoardApproveRatio
)
/
100.0
{
cur
.
BoardVoteRes
.
ApproveVotes
*
100
>=
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
*
cur
.
CurRule
.
BoardApproveRatio
{
cur
.
BoardVoteRes
.
Pass
=
true
cur
.
PropItem
.
RealEndBlockHeight
=
a
.
height
}
...
...
@@ -261,7 +261,7 @@ func (a *action) tmintPropItem(tmintProb *auty.TerminateProposalItem) (*types.Re
}
if
cur
.
BoardVoteRes
.
TotalVotes
!=
0
&&
cur
.
BoardVoteRes
.
TotalVotes
>
cur
.
BoardVoteRes
.
QuitVotes
&&
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
)
/
float32
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
>=
float32
(
cur
.
CurRule
.
BoardApproveRatio
)
/
100.0
{
cur
.
BoardVoteRes
.
ApproveVotes
*
100
>=
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
*
cur
.
CurRule
.
BoardApproveRatio
{
cur
.
BoardVoteRes
.
Pass
=
true
}
else
{
cur
.
BoardVoteRes
.
Pass
=
false
...
...
plugin/dapp/autonomy/executor/projectaction.go
View file @
7d217121
...
...
@@ -262,7 +262,7 @@ func (a *action) votePropProject(voteProb *auty.VoteProposalProject) (*types.Rec
if
a
.
api
.
GetConfig
()
.
IsDappFork
(
a
.
height
,
auty
.
AutonomyX
,
auty
.
ForkAutonomyDelRule
)
{
if
cur
.
BoardVoteRes
.
TotalVotes
!=
0
&&
cur
.
BoardVoteRes
.
TotalVotes
>
cur
.
BoardVoteRes
.
QuitVotes
&&
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
)
/
float32
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
>=
float32
(
cur
.
CurRule
.
BoardApproveRatio
)
/
100.0
{
cur
.
BoardVoteRes
.
ApproveVotes
*
100
>=
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
*
cur
.
CurRule
.
BoardApproveRatio
{
cur
.
BoardVoteRes
.
Pass
=
true
cur
.
PropProject
.
RealEndBlockHeight
=
a
.
height
}
...
...
@@ -464,7 +464,7 @@ func (a *action) tmintPropProject(tmintProb *auty.TerminateProposalProject) (*ty
}
if
a
.
api
.
GetConfig
()
.
IsDappFork
(
a
.
height
,
auty
.
AutonomyX
,
auty
.
ForkAutonomyDelRule
)
{
if
cur
.
BoardVoteRes
.
TotalVotes
!=
0
&&
cur
.
BoardVoteRes
.
TotalVotes
>
cur
.
BoardVoteRes
.
QuitVotes
&&
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
)
/
float32
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
>=
float32
(
cur
.
CurRule
.
BoardApproveRatio
)
/
100.0
{
cur
.
BoardVoteRes
.
ApproveVotes
*
100
>=
(
cur
.
BoardVoteRes
.
TotalVotes
-
cur
.
BoardVoteRes
.
QuitVotes
)
*
cur
.
CurRule
.
BoardApproveRatio
{
cur
.
BoardVoteRes
.
Pass
=
true
}
else
{
cur
.
BoardVoteRes
.
Pass
=
false
...
...
plugin/dapp/autonomy/proto/item.proto
View file @
7d217121
...
...
@@ -34,8 +34,7 @@ message ProposalItem {
// 项目相关
string
itemTxHash
=
4
;
// item tx hash
string
exec
=
5
;
// 合约执行器
string
description
=
7
;
// 简述
string
description
=
5
;
// 简述
// 投票相关
int64
startBlockHeight
=
12
;
// 提案开始投票高度
...
...
plugin/dapp/autonomy/types/item.pb.go
View file @
7d217121
...
...
@@ -151,8 +151,7 @@ type ProposalItem struct {
Day
int32
`protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
// 项目相关
ItemTxHash
string
`protobuf:"bytes,4,opt,name=itemTxHash,proto3" json:"itemTxHash,omitempty"`
// item tx hash
Exec
string
`protobuf:"bytes,5,opt,name=exec,proto3" json:"exec,omitempty"`
// 合约执行器
Description
string
`protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
// 简述
Description
string
`protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
// 简述
// 投票相关
StartBlockHeight
int64
`protobuf:"varint,12,opt,name=startBlockHeight,proto3" json:"startBlockHeight,omitempty"`
// 提案开始投票高度
EndBlockHeight
int64
`protobuf:"varint,13,opt,name=endBlockHeight,proto3" json:"endBlockHeight,omitempty"`
// 提案结束投票高度
...
...
@@ -220,13 +219,6 @@ func (x *ProposalItem) GetItemTxHash() string {
return
""
}
func
(
x
*
ProposalItem
)
GetExec
()
string
{
if
x
!=
nil
{
return
x
.
Exec
}
return
""
}
func
(
x
*
ProposalItem
)
GetDescription
()
string
{
if
x
!=
nil
{
return
x
.
Description
...
...
@@ -690,75 +682,74 @@ var file_item_proto_rawDesc = []byte{
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x09
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x22
,
0x
d6
,
0x02
,
0x0a
,
0x0c
,
0x50
,
0x72
,
0x6f
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x22
,
0x
c2
,
0x02
,
0x0a
,
0x0c
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x79
,
0x65
,
0x61
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x04
,
0x79
,
0x65
,
0x61
,
0x72
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x6d
,
0x6f
,
0x6e
,
0x74
,
0x68
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x6d
,
0x6f
,
0x6e
,
0x74
,
0x68
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x64
,
0x61
,
0x79
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x03
,
0x64
,
0x61
,
0x79
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x69
,
0x74
,
0x65
,
0x6d
,
0x54
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x69
,
0x74
,
0x65
,
0x6d
,
0x54
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x65
,
0x78
,
0x65
,
0x63
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x65
,
0x78
,
0x65
,
0x63
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x2a
,
0x0a
,
0x10
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x10
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x65
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0d
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0e
,
0x65
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x2e
,
0x0a
,
0x12
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x45
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0e
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x12
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x45
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x30
,
0x0a
,
0x13
,
0x70
,
0x72
,
0x6f
,
0x6a
,
0x65
,
0x63
,
0x74
,
0x4e
,
0x65
,
0x65
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x75
,
0x6d
,
0x18
,
0x0f
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x13
,
0x70
,
0x72
,
0x6f
,
0x6a
,
0x65
,
0x63
,
0x74
,
0x4e
,
0x65
,
0x65
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x75
,
0x6d
,
0x22
,
0x34
,
0x0a
,
0x12
,
0x52
,
0x65
,
0x76
,
0x6f
,
0x6b
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x2a
,
0x0a
,
0x10
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x10
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x65
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0d
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0e
,
0x65
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x2e
,
0x0a
,
0x12
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x45
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0e
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x12
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x45
,
0x6e
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x30
,
0x0a
,
0x13
,
0x70
,
0x72
,
0x6f
,
0x6a
,
0x65
,
0x63
,
0x74
,
0x4e
,
0x65
,
0x65
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x75
,
0x6d
,
0x18
,
0x0f
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x13
,
0x70
,
0x72
,
0x6f
,
0x6a
,
0x65
,
0x63
,
0x74
,
0x4e
,
0x65
,
0x65
,
0x64
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x75
,
0x6d
,
0x22
,
0x34
,
0x0a
,
0x12
,
0x52
,
0x65
,
0x76
,
0x6f
,
0x6b
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x22
,
0x7b
,
0x0a
,
0x10
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x
22
,
0x7b
,
0x0a
,
0x10
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x50
,
0x7
2
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x70
,
0x
72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x5
2
,
0x
0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x61
,
0x
70
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x07
,
0x61
,
0x70
,
0x
70
,
0x72
,
0x6f
,
0x76
,
0x65
,
0x12
,
0x2d
,
0x0a
,
0x04
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x18
,
0x03
,
0x20
,
0x
01
,
0x28
,
0x0e
,
0x32
,
0x19
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x
6e
,
0x6f
,
0x6d
,
0x79
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x4f
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x04
,
0x7
6
,
0x6f
,
0x74
,
0x65
,
0x22
,
0x37
,
0x0a
,
0x15
,
0x54
,
0x65
,
0x72
,
0x6d
,
0x69
,
0x6e
,
0x61
,
0x74
,
0x65
,
0x
50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1e
,
0x0a
,
0x
0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x
09
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x22
,
0x7d
,
0x0a
,
0x
13
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x
49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x2f
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x01
,
0x20
,
0x01
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x
12
,
0x18
,
0x0a
,
0x07
,
0x61
,
0x70
,
0x70
,
0x72
,
0x6f
,
0x7
6
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x07
,
0x61
,
0x70
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x
65
,
0x12
,
0x2d
,
0x0a
,
0x04
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x3
2
,
0x
19
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x
56
,
0x6f
,
0x74
,
0x65
,
0x4f
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x04
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x
22
,
0x37
,
0x0a
,
0x15
,
0x54
,
0x65
,
0x72
,
0x6d
,
0x69
,
0x6e
,
0x61
,
0x74
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x
70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x
70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x70
,
0x7
2
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x44
,
0x22
,
0x7d
,
0x0a
,
0x13
,
0x52
,
0x65
,
0x63
,
0x65
,
0x
69
,
0x70
,
0x74
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x
12
,
0x2f
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x
2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x50
,
0x
72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x
76
,
0x12
,
0x35
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x35
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x68
,
0x0a
,
0x11
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x37
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x22
,
0xa4
,
0x01
,
0x0a
,
0x14
,
0x52
,
0x65
,
0x71
,
0x51
,
0x75
,
0x65
,
0x72
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x22
,
0x53
,
0x0a
,
0x16
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x51
,
0x75
,
0x65
,
0x72
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x39
,
0x0a
,
0x09
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x68
,
0x0a
,
0x11
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x37
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x22
,
0xa4
,
0x01
,
0x0a
,
0x14
,
0x52
,
0x65
,
0x71
,
0x51
,
0x75
,
0x65
,
0x72
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x22
,
0x53
,
0x0a
,
0x16
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x51
,
0x75
,
0x65
,
0x72
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x12
,
0x39
,
0x0a
,
0x09
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x6e
,
0x6f
,
0x6d
,
0x79
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x09
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x73
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x74
,
0x65
,
0x6d
,
0x52
,
0x09
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x49
,
0x74
,
0x65
,
0x6d
,
0x73
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment