wfz 3 жил өмнө
parent
commit
92cfcbb6cc

+ 437 - 437
api/partner/partner.pb.go

@@ -1278,37 +1278,7 @@ var file_partner_proto_rawDesc = []byte{
 	0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50,
 	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93,
 	0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x01, 0x2a, 0x12, 0x69, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50,
-	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x2e,
-	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
-	0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74,
-	0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e,
-	0x63, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69,
-	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65,
-	0x3a, 0x01, 0x2a, 0x12, 0x52, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
-	0x72, 0x44, 0x42, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,
-	0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x42, 0x42, 0x61,
-	0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x42, 0x4d, 0x73, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44,
-	0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x69, 0x0a, 0x11,
-	0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
-	0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d,
-	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x73,
-	0x73, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67,
-	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69,
-	0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
-	0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d,
-	0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64,
+	0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64,
 	0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e,
 	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65,
 	0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
@@ -1322,270 +1292,184 @@ var file_partner_proto_rawDesc = []byte{
 	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
 	0x70, 0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70,
 	0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x63,
-	0x68, 0x65, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
-	0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x20, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65,
-	0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x84, 0x01,
-	0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,
-	0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e,
-	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
-	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24,
-	0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x75,
-	0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
-	0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f,
-	0x6d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61,
-	0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e,
-	0x66, 0x6f, 0x12, 0x61, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74,
-	0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
-	0x6d, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48,
-	0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22,
-	0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x68, 0x6f,
-	0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x1e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x41, 0x6e,
-	0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
-	0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f,
-	0x6f, 0x6b, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x22,
-	0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x0c,
-	0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61,
-	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41,
-	0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
-	0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a,
-	0x01, 0x2a, 0x12, 0x48, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
-	0x72, 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73,
-	0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50,
-	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x5c, 0x0a, 0x06,
-	0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f, 0x6e,
-	0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x77, 0x78, 0x2f, 0x6a, 0x73, 0x73, 0x64, 0x6b,
-	0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x15, 0x43, 0x72,
-	0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52,
-	0x6f, 0x6f, 0x6d, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50,
-	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
-	0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f,
-	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x62,
-	0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x53,
-	0x65, 0x78, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70,
-	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x74, 0x61, 0x67, 0x3a,
-	0x01, 0x2a, 0x12, 0x79, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
-	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c,
-	0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d,
-	0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c,
-	0x69, 0x73, 0x74, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x81, 0x01,
-	0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x6f,
-	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
-	0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73,
-	0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x75, 0x6e, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x3a, 0x01,
-	0x2a, 0x12, 0x87, 0x01, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e,
-	0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74,
-	0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69,
-	0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61,
-	0x74, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x83, 0x01, 0x0a, 0x18,
-	0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79,
-	0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74,
-	0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d,
-	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f,
-	0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01,
-	0x2a, 0x12, 0x81, 0x01, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65,
-	0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65,
-	0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61,
-	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70,
-	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x65, 0x63, 0x6f,
-	0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
-	0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f,
-	0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f,
-	0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74,
-	0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6d, 0x73, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x54, 0x0a, 0x11,
-	0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
-	0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e,
-	0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
-	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
-	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
-	0x22, 0x00, 0x12, 0x6c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x61,
-	0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x68, 0x65, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61,
+	0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
+	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
 	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
-	0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4,
-	0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65,
-	0x72, 0x2f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01, 0x2a,
-	0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73,
-	0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x12, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x4c, 0x69, 0x6b,
-	0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x69, 0x73, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01,
-	0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x6d, 0x65, 0x42, 0x79, 0x54,
-	0x79, 0x70, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x4c, 0x69,
-	0x73, 0x74, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69,
+	0x74, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f,
+	0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x72,
+	0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52,
+	0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x68, 0x61, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x3a,
+	0x01, 0x2a, 0x12, 0x69, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+	0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61,
+	0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x1f, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x61, 0x0a,
+	0x12, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x49,
+	0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x14, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e,
+	0x66, 0x6f, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x68, 0x6f, 0x6d, 0x65, 0x3a, 0x01, 0x2a,
+	0x12, 0x75, 0x0a, 0x1e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x50, 0x65,
+	0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b,
+	0x65, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x1d, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x41,
+	0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x4c,
+	0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69,
+	0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b,
+	0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a,
+	0x06, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x1a, 0x1a,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f,
+	0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x77, 0x78, 0x2f, 0x6a, 0x73, 0x73, 0x64,
+	0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x62, 0x0a, 0x10, 0x46,
+	0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x53, 0x65, 0x78, 0x12,
+	0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78,
+	0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x74, 0x61, 0x67, 0x3a, 0x01, 0x2a, 0x12,
+	0x79, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73,
+	0x74, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c,
+	0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63,
+	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f,
+	0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74,
+	0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x87, 0x01, 0x0a, 0x1a, 0x46,
+	0x69, 0x6e, 0x64, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61,
+	0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,
+	0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f,
+	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x69,
+	0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x83, 0x01, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65,
+	0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
+	0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c,
+	0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68,
+	0x61, 0x74, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x81, 0x01, 0x0a, 0x12, 0x46,
+	0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73,
+	0x74, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46,
+	0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73,
+	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f,
+	0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x75,
+	0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73,
+	0x67, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46,
+	0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x22, 0x25,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6d,
+	0x73, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72,
+	0x61, 0x6d, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13,
+	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x69, 0x73, 0x6c,
+	0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65,
+	0x6d, 0x65, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
+	0x65, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22,
+	0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69,
+	0x6e, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x01, 0x2a, 0x12,
+	0x70, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63,
+	0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69,
+	0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3a, 0x01,
+	0x2a, 0x12, 0x69, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x65, 0x6d, 0x65, 0x12,
+	0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e,
+	0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69,
+	0x73, 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69,
 	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65,
-	0x6d, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x0d, 0x46, 0x69,
-	0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
-	0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x54,
-	0x6f, 0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
-	0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x66,
-	0x69, 0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3a, 0x01, 0x2a, 0x12, 0x69, 0x0a, 0x0a,
-	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x65, 0x6d, 0x65, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75,
-	0x6d, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x28, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74,
-	0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x72, 0x61,
-	0x6e, 0x64, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x78, 0x0a, 0x12, 0x52, 0x61, 0x6e, 0x64, 0x6f,
-	0x6d, 0x53, 0x77, 0x69, 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f,
-	0x6d, 0x4e, 0x75, 0x6d, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65,
-	0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e,
-	0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x3a, 0x01,
-	0x2a, 0x12, 0x6b, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74,
-	0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c,
-	0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64,
-	0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x71,
-	0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74,
-	0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x1f, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x21,
-	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x3a, 0x01,
-	0x2a, 0x12, 0x70, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70,
-	0x69, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x6d, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x78, 0x0a, 0x12,
+	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x77, 0x69, 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x1a,
+	0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x29, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2f, 0x72, 0x61, 0x6e,
+	0x64, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x6b, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65,
+	0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
 	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
 	0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d,
 	0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93,
 	0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
-	0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x69,
-	0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
-	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
-	0x70, 0x74, 0x79, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70,
-	0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01,
-	0x2a, 0x12, 0x60, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x55, 0x6e, 0x4c, 0x69,
-	0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
-	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
-	0x70, 0x74, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70,
-	0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x75, 0x6e, 0x6c, 0x69, 0x6b, 0x65,
-	0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72,
-	0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
-	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72,
-	0x74, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47,
-	0x65, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74,
-	0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
+	0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
+	0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65,
+	0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72,
+	0x61, 0x6d, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49,
+	0x6e, 0x66, 0x6f, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70,
+	0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63,
+	0x61, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68,
+	0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67,
 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f,
-	0x61, 0x77, 0x61, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
-	0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64,
-	0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
-	0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5b,
-	0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50,
-	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65,
-	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73,
-	0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x16,
-	0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79,
-	0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64,
-	0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74,
-	0x61, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22,
-	0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x76,
-	0x65, 0x72, 0x2f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01,
-	0x2a, 0x12, 0x73, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3,
-	0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x75, 0x6e, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x2f,
-	0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x7a, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
-	0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x28,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
-	0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
-	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
-	0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70,
-	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x3a,
-	0x01, 0x2a, 0x12, 0x94, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x57, 0x69,
-	0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69,
-	0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
-	0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
-	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x28, 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f,
-	0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
-	0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x93, 0x01, 0x0a, 0x19, 0x50, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x63,
-	0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72,
-	0x61, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77,
-	0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12,
+	0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22,
+	0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61,
+	0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f,
+	0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16,
+	0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c,
+	0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x60, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x55, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18,
+	0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x75,
+	0x6e, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f,
+	0x72, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f,
+	0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x83, 0x01, 0x0a, 0x16, 0x46, 0x69,
+	0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76,
+	0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76,
+	0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f,
+	0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x76, 0x65, 0x72,
+	0x2f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12,
 	0x7c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72,
 	0x69, 0x70, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
 	0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69,
@@ -1593,18 +1477,134 @@ var file_partner_proto_rawDesc = []byte{
 	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
 	0x74, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69,
 	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x6c,
-	0x61, 0x73, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x57, 0x0a,
-	0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70,
-	0x49, 0x44, 0x44, 0x42, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69,
-	0x70, 0x49, 0x44, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
+	0x61, 0x73, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x69, 0x0a,
+	0x11, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22,
+	0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50,
+	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e,
+	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+	0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74,
+	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22,
+	0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6e, 0x75,
+	0x6d, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x81, 0x01, 0x0a, 0x13, 0x46, 0x69,
+	0x6e, 0x64, 0x55, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
+	0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c,
+	0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68,
+	0x61, 0x74, 0x2f, 0x75, 0x6e, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a,
+	0x14, 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65,
+	0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x65, 0x76, 0x65,
+	0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18,
+	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x65, 0x76,
+	0x65, 0x6c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0f, 0x50,
+	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x23,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x61, 0x77, 0x61, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12,
+	0x93, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74,
+	0x65, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
+	0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
+	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x22, 0x22,
+	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x77, 0x6f, 0x72,
+	0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61,
+	0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x73, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
+	0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64,
+	0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70,
+	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x75, 0x6e, 0x72, 0x65,
+	0x70, 0x6c, 0x79, 0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x7a, 0x0a, 0x14, 0x50, 0x61,
+	0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72,
+	0x61, 0x77, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x74,
+	0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
-	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
-	0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a,
-	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
-	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x69,
+	0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61,
+	0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64,
+	0x72, 0x61, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x94, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
+	0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2d,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54, 0x65, 0x6d, 0x70,
+	0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2e, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x2f, 0x74, 0x65, 0x6d,
+	0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x93, 0x01,
+	0x0a, 0x19, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
+	0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67,
+	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70,
+	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x57, 0x69,
+	0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f,
+	0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x77, 0x69, 0x74, 0x68,
+	0x64, 0x72, 0x61, 0x77, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x6c, 0x69, 0x73, 0x74,
+	0x3a, 0x01, 0x2a, 0x12, 0x43, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x44, 0x42, 0x4d, 0x73, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61,
+	0x6d, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50,
+	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x48, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64,
+	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f,
+	0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x12, 0x57, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74,
+	0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73,
+	0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x1a, 0x46,
+	0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d,
+	0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44,
+	0x42, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61,
+	0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67,
+	0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61,
+	0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x47,
+	0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x42, 0x42, 0x61, 0x6c, 0x61, 0x6e,
+	0x63, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x1d,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x44, 0x42, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x00, 0x12,
+	0x54, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c,
+	0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x61, 0x6c,
+	0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+	0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x14, 0x47,
+	0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,
+	0x6e, 0x66, 0x6f, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61,
+	0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x69,
 	0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x2e,
 	0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,
 	0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70,
@@ -1643,151 +1643,151 @@ var file_partner_proto_goTypes = []interface{}{
 	(*GetRandomPartnerRequest)(nil),            // 14: api.partner.GetRandomPartnerRequest
 	(*PartnerApplyWithdrawRequest)(nil),        // 15: api.partner.PartnerApplyWithdrawRequest
 	(*emptypb.Empty)(nil),                      // 16: google.protobuf.Empty
-	(*common.PartnerIDParam)(nil),              // 17: api.common.PartnerIDParam
-	(*common.PersonIDParam)(nil),               // 18: api.common.PersonIDParam
-	(*common.SendPhoneCodeRequest)(nil),        // 19: api.common.SendPhoneCodeRequest
-	(*common.CheckPhoneCodeRequest)(nil),       // 20: api.common.CheckPhoneCodeRequest
-	(*common.UpdateInformationRequest)(nil),    // 21: api.common.UpdateInformationRequest
-	(*common.PersonParam)(nil),                 // 22: api.common.PersonParam
-	(*common.ListPageRequest)(nil),             // 23: api.common.ListPageRequest
-	(*common.PersonIDList)(nil),                // 24: api.common.PersonIDList
-	(*common.WxConfReq)(nil),                   // 25: api.common.WxConfReq
-	(*common.CreateChatRoomParam)(nil),         // 26: api.common.CreateChatRoomParam
-	(*common.SexReq)(nil),                      // 27: api.common.SexReq
-	(*common.ListPage2Request)(nil),            // 28: api.common.ListPage2Request
-	(*common.FindChatRecordListRequest)(nil),   // 29: api.common.FindChatRecordListRequest
-	(*common.FindChatRoomMsgRequest)(nil),      // 30: api.common.FindChatRoomMsgRequest
-	(*common.MemeRequest)(nil),                 // 31: api.common.MemeRequest
-	(*common.FindChatTopicRequest)(nil),        // 32: api.common.FindChatTopicRequest
-	(*common.RandomNum)(nil),                   // 33: api.common.RandomNum
-	(*common.RandomNumAndSex)(nil),             // 34: api.common.RandomNumAndSex
-	(*common.ReportChatRequest)(nil),           // 35: api.common.ReportChatRequest
-	(*common.FindRecommendRequest)(nil),        // 36: api.common.FindRecommendRequest
-	(*common.UpdateLastScripIDRequest)(nil),    // 37: api.common.UpdateLastScripIDRequest
-	(*common.UpdateLastScripIDDBRequest)(nil),  // 38: api.common.UpdateLastScripIDDBRequest
-	(*common.PersonMsg)(nil),                   // 39: api.common.PersonMsg
-	(*statistics.LookMessageReply)(nil),        // 40: api.statistics.LookMessageReply
-	(*common.AddFriendMessageInfo)(nil),        // 41: api.common.AddFriendMessageInfo
-	(*common.HomeInfo)(nil),                    // 42: api.common.HomeInfo
-	(*common.LookedAndLikedNum)(nil),           // 43: api.common.LookedAndLikedNum
-	(*statistics.LookAndLikeListReply)(nil),    // 44: api.statistics.LookAndLikeListReply
-	(*common.PersonDBReply)(nil),               // 45: api.common.PersonDBReply
-	(*common.WxConfResponse)(nil),              // 46: api.common.WxConfResponse
-	(*chat.RoomReply)(nil),                     // 47: api.chat.RoomReply
-	(*common.TagListReply)(nil),                // 48: api.common.TagListReply
-	(*common.RecommendPersonListReply)(nil),    // 49: api.common.RecommendPersonListReply
-	(*chat.PartnerFindRoomListReply)(nil),      // 50: api.chat.PartnerFindRoomListReply
-	(*common.ChatRecordListReply)(nil),         // 51: api.common.ChatRecordListReply
-	(*common.ChatRoomMsg)(nil),                 // 52: api.common.ChatRoomMsg
-	(*common.IsLike)(nil),                      // 53: api.common.IsLike
-	(*common.MemeList)(nil),                    // 54: api.common.MemeList
-	(*common.ChatTopicList)(nil),               // 55: api.common.ChatTopicList
-	(*common.CommonTextList)(nil),              // 56: api.common.CommonTextList
-	(*common.MemeTitleList)(nil),               // 57: api.common.MemeTitleList
-	(*common.PartnerChatCardInfo)(nil),         // 58: api.common.PartnerChatCardInfo
-	(*common.FindOverSevenDayAvatarReply)(nil), // 59: api.common.FindOverSevenDayAvatarReply
-	(*chat.FindNotReplyNumReply)(nil),          // 60: api.chat.FindNotReplyNumReply
+	(*common.SendPhoneCodeRequest)(nil),        // 17: api.common.SendPhoneCodeRequest
+	(*common.CheckPhoneCodeRequest)(nil),       // 18: api.common.CheckPhoneCodeRequest
+	(*common.UpdateInformationRequest)(nil),    // 19: api.common.UpdateInformationRequest
+	(*common.CreateChatRoomParam)(nil),         // 20: api.common.CreateChatRoomParam
+	(*common.PersonParam)(nil),                 // 21: api.common.PersonParam
+	(*common.ListPageRequest)(nil),             // 22: api.common.ListPageRequest
+	(*common.WxConfReq)(nil),                   // 23: api.common.WxConfReq
+	(*common.SexReq)(nil),                      // 24: api.common.SexReq
+	(*common.ListPage2Request)(nil),            // 25: api.common.ListPage2Request
+	(*common.FindChatRecordListRequest)(nil),   // 26: api.common.FindChatRecordListRequest
+	(*common.FindChatRoomMsgRequest)(nil),      // 27: api.common.FindChatRoomMsgRequest
+	(*common.MemeRequest)(nil),                 // 28: api.common.MemeRequest
+	(*common.FindChatTopicRequest)(nil),        // 29: api.common.FindChatTopicRequest
+	(*common.RandomNum)(nil),                   // 30: api.common.RandomNum
+	(*common.RandomNumAndSex)(nil),             // 31: api.common.RandomNumAndSex
+	(*common.ReportChatRequest)(nil),           // 32: api.common.ReportChatRequest
+	(*common.UpdateLastScripIDRequest)(nil),    // 33: api.common.UpdateLastScripIDRequest
+	(*common.PersonIDParam)(nil),               // 34: api.common.PersonIDParam
+	(*common.PersonIDList)(nil),                // 35: api.common.PersonIDList
+	(*common.UpdateLastScripIDDBRequest)(nil),  // 36: api.common.UpdateLastScripIDDBRequest
+	(*common.FindRecommendRequest)(nil),        // 37: api.common.FindRecommendRequest
+	(*common.PartnerIDParam)(nil),              // 38: api.common.PartnerIDParam
+	(*chat.RoomReply)(nil),                     // 39: api.chat.RoomReply
+	(*common.HomeInfo)(nil),                    // 40: api.common.HomeInfo
+	(*common.LookedAndLikedNum)(nil),           // 41: api.common.LookedAndLikedNum
+	(*statistics.LookAndLikeListReply)(nil),    // 42: api.statistics.LookAndLikeListReply
+	(*common.WxConfResponse)(nil),              // 43: api.common.WxConfResponse
+	(*common.TagListReply)(nil),                // 44: api.common.TagListReply
+	(*common.RecommendPersonListReply)(nil),    // 45: api.common.RecommendPersonListReply
+	(*chat.PartnerFindRoomListReply)(nil),      // 46: api.chat.PartnerFindRoomListReply
+	(*common.ChatRecordListReply)(nil),         // 47: api.common.ChatRecordListReply
+	(*common.ChatRoomMsg)(nil),                 // 48: api.common.ChatRoomMsg
+	(*common.IsLike)(nil),                      // 49: api.common.IsLike
+	(*common.MemeList)(nil),                    // 50: api.common.MemeList
+	(*common.ChatTopicList)(nil),               // 51: api.common.ChatTopicList
+	(*common.CommonTextList)(nil),              // 52: api.common.CommonTextList
+	(*common.MemeTitleList)(nil),               // 53: api.common.MemeTitleList
+	(*common.PartnerChatCardInfo)(nil),         // 54: api.common.PartnerChatCardInfo
+	(*common.FindOverSevenDayAvatarReply)(nil), // 55: api.common.FindOverSevenDayAvatarReply
+	(*statistics.LookMessageReply)(nil),        // 56: api.statistics.LookMessageReply
+	(*chat.FindNotReplyNumReply)(nil),          // 57: api.chat.FindNotReplyNumReply
+	(*common.PersonMsg)(nil),                   // 58: api.common.PersonMsg
+	(*common.PersonDBReply)(nil),               // 59: api.common.PersonDBReply
+	(*common.AddFriendMessageInfo)(nil),        // 60: api.common.AddFriendMessageInfo
 }
 var file_partner_proto_depIdxs = []int32{
 	1,  // 0: api.partner.PartnerWithdrawRecordListReply.list:type_name -> api.partner.WithdrawInfo
 	3,  // 1: api.partner.PartnerWithdrawTemplateListReply.list:type_name -> api.partner.PartnerWithdrawTemplateInfo
 	7,  // 2: api.partner.LevelTable.list:type_name -> api.partner.LevelInfo
 	16, // 3: api.partner.Partner.GetPartnerInfo:input_type -> google.protobuf.Empty
-	16, // 4: api.partner.Partner.GetPartnerBalance:input_type -> google.protobuf.Empty
-	17, // 5: api.partner.Partner.GetPartnerDBBalance:input_type -> api.common.PartnerIDParam
-	18, // 6: api.partner.Partner.GetPartnerDBMsg:input_type -> api.common.PersonIDParam
-	16, // 7: api.partner.Partner.GetPartnerMessage:input_type -> google.protobuf.Empty
-	16, // 8: api.partner.Partner.GetPartnerLookNum:input_type -> google.protobuf.Empty
-	19, // 9: api.partner.Partner.SendPhoneCode:input_type -> api.common.SendPhoneCodeRequest
-	20, // 10: api.partner.Partner.CheckPhoneCode:input_type -> api.common.CheckPhoneCodeRequest
-	17, // 11: api.partner.Partner.GetPartnerCircleInfo:input_type -> api.common.PartnerIDParam
-	21, // 12: api.partner.Partner.UpdatePartnerInformation:input_type -> api.common.UpdateInformationRequest
-	14, // 13: api.partner.Partner.GetRandomPartnerInfo:input_type -> api.partner.GetRandomPartnerRequest
-	22, // 14: api.partner.Partner.PartnerGetHomeInfo:input_type -> api.common.PersonParam
-	22, // 15: api.partner.Partner.PartnerGetPersonLikedAndLooked:input_type -> api.common.PersonParam
-	23, // 16: api.partner.Partner.FindLookList:input_type -> api.common.ListPageRequest
-	24, // 17: api.partner.Partner.FindPartnerDBList:input_type -> api.common.PersonIDList
-	25, // 18: api.partner.Partner.WxConf:input_type -> api.common.WxConfReq
-	26, // 19: api.partner.Partner.CreateUserPartnerRoom:input_type -> api.common.CreateChatRoomParam
-	27, // 20: api.partner.Partner.FindTagListBySex:input_type -> api.common.SexReq
-	28, // 21: api.partner.Partner.FindOnlineList:input_type -> api.common.ListPage2Request
-	23, // 22: api.partner.Partner.FindUnReplyRoomList:input_type -> api.common.ListPageRequest
-	23, // 23: api.partner.Partner.FindWithinSevenDayRoomList:input_type -> api.common.ListPageRequest
-	23, // 24: api.partner.Partner.FindOverSevenDayRoomList:input_type -> api.common.ListPageRequest
-	29, // 25: api.partner.Partner.FindChatRecordList:input_type -> api.common.FindChatRecordListRequest
-	30, // 26: api.partner.Partner.FindChatRoomMsg:input_type -> api.common.FindChatRoomMsgRequest
-	8,  // 27: api.partner.Partner.AddPartnerBalance:input_type -> api.partner.AddPartnerBalanceRequest
-	16, // 28: api.partner.Partner.GetLevelBalanceTable:input_type -> google.protobuf.Empty
-	22, // 29: api.partner.Partner.GetPartnerIsLike:input_type -> api.common.PersonParam
-	31, // 30: api.partner.Partner.FindMemeByType:input_type -> api.common.MemeRequest
-	32, // 31: api.partner.Partner.FindChatTopic:input_type -> api.common.FindChatTopicRequest
-	33, // 32: api.partner.Partner.RandomMeme:input_type -> api.common.RandomNum
-	34, // 33: api.partner.Partner.RandomSwiftMessage:input_type -> api.common.RandomNumAndSex
-	16, // 34: api.partner.Partner.FindMemeTitle:input_type -> google.protobuf.Empty
-	22, // 35: api.partner.Partner.PartnerGetChatCard:input_type -> api.common.PersonParam
-	16, // 36: api.partner.Partner.FindChatTopicTitle:input_type -> google.protobuf.Empty
-	22, // 37: api.partner.Partner.PartnerLike:input_type -> api.common.PersonParam
-	22, // 38: api.partner.Partner.PartnerUnLike:input_type -> api.common.PersonParam
-	35, // 39: api.partner.Partner.Report:input_type -> api.common.ReportChatRequest
-	5,  // 40: api.partner.Partner.PartnerGetAward:input_type -> api.partner.PartnerGetAwardRequest
-	4,  // 41: api.partner.Partner.PartnerUpdateWorkingStatus:input_type -> api.partner.PartnerUpdateWorkingStatusRequest
-	36, // 42: api.partner.Partner.FindRecommendPartnerDBList:input_type -> api.common.FindRecommendRequest
-	16, // 43: api.partner.Partner.FindOverSevenDayAvatar:input_type -> google.protobuf.Empty
-	16, // 44: api.partner.Partner.FindNotReplyNum:input_type -> google.protobuf.Empty
-	15, // 45: api.partner.Partner.PartnerApplyWithdraw:input_type -> api.partner.PartnerApplyWithdrawRequest
-	16, // 46: api.partner.Partner.PartnerWithdrawTemplateList:input_type -> google.protobuf.Empty
-	23, // 47: api.partner.Partner.PartnerWithdrawRecordList:input_type -> api.common.ListPageRequest
-	37, // 48: api.partner.Partner.UpdateLastScripID:input_type -> api.common.UpdateLastScripIDRequest
-	38, // 49: api.partner.Partner.UpdateLastScripIDDB:input_type -> api.common.UpdateLastScripIDDBRequest
-	18, // 50: api.partner.Partner.UpdatePartnerLastLoginTime:input_type -> api.common.PersonIDParam
+	17, // 4: api.partner.Partner.SendPhoneCode:input_type -> api.common.SendPhoneCodeRequest
+	18, // 5: api.partner.Partner.CheckPhoneCode:input_type -> api.common.CheckPhoneCodeRequest
+	19, // 6: api.partner.Partner.UpdatePartnerInformation:input_type -> api.common.UpdateInformationRequest
+	20, // 7: api.partner.Partner.CreateUserPartnerRoom:input_type -> api.common.CreateChatRoomParam
+	16, // 8: api.partner.Partner.GetPartnerBalance:input_type -> google.protobuf.Empty
+	21, // 9: api.partner.Partner.PartnerGetHomeInfo:input_type -> api.common.PersonParam
+	21, // 10: api.partner.Partner.PartnerGetPersonLikedAndLooked:input_type -> api.common.PersonParam
+	22, // 11: api.partner.Partner.FindLookList:input_type -> api.common.ListPageRequest
+	23, // 12: api.partner.Partner.WxConf:input_type -> api.common.WxConfReq
+	24, // 13: api.partner.Partner.FindTagListBySex:input_type -> api.common.SexReq
+	25, // 14: api.partner.Partner.FindOnlineList:input_type -> api.common.ListPage2Request
+	22, // 15: api.partner.Partner.FindWithinSevenDayRoomList:input_type -> api.common.ListPageRequest
+	22, // 16: api.partner.Partner.FindOverSevenDayRoomList:input_type -> api.common.ListPageRequest
+	26, // 17: api.partner.Partner.FindChatRecordList:input_type -> api.common.FindChatRecordListRequest
+	27, // 18: api.partner.Partner.FindChatRoomMsg:input_type -> api.common.FindChatRoomMsgRequest
+	21, // 19: api.partner.Partner.GetPartnerIsLike:input_type -> api.common.PersonParam
+	28, // 20: api.partner.Partner.FindMemeByType:input_type -> api.common.MemeRequest
+	29, // 21: api.partner.Partner.FindChatTopic:input_type -> api.common.FindChatTopicRequest
+	30, // 22: api.partner.Partner.RandomMeme:input_type -> api.common.RandomNum
+	31, // 23: api.partner.Partner.RandomSwiftMessage:input_type -> api.common.RandomNumAndSex
+	16, // 24: api.partner.Partner.FindMemeTitle:input_type -> google.protobuf.Empty
+	21, // 25: api.partner.Partner.PartnerGetChatCard:input_type -> api.common.PersonParam
+	16, // 26: api.partner.Partner.FindChatTopicTitle:input_type -> google.protobuf.Empty
+	21, // 27: api.partner.Partner.PartnerLike:input_type -> api.common.PersonParam
+	21, // 28: api.partner.Partner.PartnerUnLike:input_type -> api.common.PersonParam
+	32, // 29: api.partner.Partner.Report:input_type -> api.common.ReportChatRequest
+	16, // 30: api.partner.Partner.FindOverSevenDayAvatar:input_type -> google.protobuf.Empty
+	33, // 31: api.partner.Partner.UpdateLastScripID:input_type -> api.common.UpdateLastScripIDRequest
+	16, // 32: api.partner.Partner.GetPartnerMessage:input_type -> google.protobuf.Empty
+	16, // 33: api.partner.Partner.GetPartnerLookNum:input_type -> google.protobuf.Empty
+	22, // 34: api.partner.Partner.FindUnReplyRoomList:input_type -> api.common.ListPageRequest
+	16, // 35: api.partner.Partner.GetLevelBalanceTable:input_type -> google.protobuf.Empty
+	5,  // 36: api.partner.Partner.PartnerGetAward:input_type -> api.partner.PartnerGetAwardRequest
+	4,  // 37: api.partner.Partner.PartnerUpdateWorkingStatus:input_type -> api.partner.PartnerUpdateWorkingStatusRequest
+	16, // 38: api.partner.Partner.FindNotReplyNum:input_type -> google.protobuf.Empty
+	15, // 39: api.partner.Partner.PartnerApplyWithdraw:input_type -> api.partner.PartnerApplyWithdrawRequest
+	16, // 40: api.partner.Partner.PartnerWithdrawTemplateList:input_type -> google.protobuf.Empty
+	22, // 41: api.partner.Partner.PartnerWithdrawRecordList:input_type -> api.common.ListPageRequest
+	34, // 42: api.partner.Partner.GetPartnerDBMsg:input_type -> api.common.PersonIDParam
+	35, // 43: api.partner.Partner.FindPartnerDBList:input_type -> api.common.PersonIDList
+	36, // 44: api.partner.Partner.UpdateLastScripIDDB:input_type -> api.common.UpdateLastScripIDDBRequest
+	37, // 45: api.partner.Partner.FindRecommendPartnerDBList:input_type -> api.common.FindRecommendRequest
+	34, // 46: api.partner.Partner.UpdatePartnerLastLoginTime:input_type -> api.common.PersonIDParam
+	38, // 47: api.partner.Partner.GetPartnerDBBalance:input_type -> api.common.PartnerIDParam
+	8,  // 48: api.partner.Partner.AddPartnerBalance:input_type -> api.partner.AddPartnerBalanceRequest
+	38, // 49: api.partner.Partner.GetPartnerCircleInfo:input_type -> api.common.PartnerIDParam
+	14, // 50: api.partner.Partner.GetRandomPartnerInfo:input_type -> api.partner.GetRandomPartnerRequest
 	9,  // 51: api.partner.Partner.GetPartnerInfo:output_type -> api.partner.PartnerInfo
-	11, // 52: api.partner.Partner.GetPartnerBalance:output_type -> api.partner.PartnerBalance
-	12, // 53: api.partner.Partner.GetPartnerDBBalance:output_type -> api.partner.PartnerDBBalance
-	39, // 54: api.partner.Partner.GetPartnerDBMsg:output_type -> api.common.PersonMsg
-	10, // 55: api.partner.Partner.GetPartnerMessage:output_type -> api.partner.PartnerMessage
-	40, // 56: api.partner.Partner.GetPartnerLookNum:output_type -> api.statistics.LookMessageReply
-	16, // 57: api.partner.Partner.SendPhoneCode:output_type -> google.protobuf.Empty
-	16, // 58: api.partner.Partner.CheckPhoneCode:output_type -> google.protobuf.Empty
-	41, // 59: api.partner.Partner.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
-	16, // 60: api.partner.Partner.UpdatePartnerInformation:output_type -> google.protobuf.Empty
-	13, // 61: api.partner.Partner.GetRandomPartnerInfo:output_type -> api.partner.RandomPartnerInfo
-	42, // 62: api.partner.Partner.PartnerGetHomeInfo:output_type -> api.common.HomeInfo
-	43, // 63: api.partner.Partner.PartnerGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
-	44, // 64: api.partner.Partner.FindLookList:output_type -> api.statistics.LookAndLikeListReply
-	45, // 65: api.partner.Partner.FindPartnerDBList:output_type -> api.common.PersonDBReply
-	46, // 66: api.partner.Partner.WxConf:output_type -> api.common.WxConfResponse
-	47, // 67: api.partner.Partner.CreateUserPartnerRoom:output_type -> api.chat.RoomReply
-	48, // 68: api.partner.Partner.FindTagListBySex:output_type -> api.common.TagListReply
-	49, // 69: api.partner.Partner.FindOnlineList:output_type -> api.common.RecommendPersonListReply
-	50, // 70: api.partner.Partner.FindUnReplyRoomList:output_type -> api.chat.PartnerFindRoomListReply
-	50, // 71: api.partner.Partner.FindWithinSevenDayRoomList:output_type -> api.chat.PartnerFindRoomListReply
-	50, // 72: api.partner.Partner.FindOverSevenDayRoomList:output_type -> api.chat.PartnerFindRoomListReply
-	51, // 73: api.partner.Partner.FindChatRecordList:output_type -> api.common.ChatRecordListReply
-	52, // 74: api.partner.Partner.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
-	16, // 75: api.partner.Partner.AddPartnerBalance:output_type -> google.protobuf.Empty
-	6,  // 76: api.partner.Partner.GetLevelBalanceTable:output_type -> api.partner.LevelTable
-	53, // 77: api.partner.Partner.GetPartnerIsLike:output_type -> api.common.IsLike
-	54, // 78: api.partner.Partner.FindMemeByType:output_type -> api.common.MemeList
-	55, // 79: api.partner.Partner.FindChatTopic:output_type -> api.common.ChatTopicList
-	56, // 80: api.partner.Partner.RandomMeme:output_type -> api.common.CommonTextList
-	56, // 81: api.partner.Partner.RandomSwiftMessage:output_type -> api.common.CommonTextList
-	57, // 82: api.partner.Partner.FindMemeTitle:output_type -> api.common.MemeTitleList
-	58, // 83: api.partner.Partner.PartnerGetChatCard:output_type -> api.common.PartnerChatCardInfo
-	57, // 84: api.partner.Partner.FindChatTopicTitle:output_type -> api.common.MemeTitleList
-	16, // 85: api.partner.Partner.PartnerLike:output_type -> google.protobuf.Empty
-	16, // 86: api.partner.Partner.PartnerUnLike:output_type -> google.protobuf.Empty
-	16, // 87: api.partner.Partner.Report:output_type -> google.protobuf.Empty
-	16, // 88: api.partner.Partner.PartnerGetAward:output_type -> google.protobuf.Empty
-	16, // 89: api.partner.Partner.PartnerUpdateWorkingStatus:output_type -> google.protobuf.Empty
-	45, // 90: api.partner.Partner.FindRecommendPartnerDBList:output_type -> api.common.PersonDBReply
-	59, // 91: api.partner.Partner.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
-	60, // 92: api.partner.Partner.FindNotReplyNum:output_type -> api.chat.FindNotReplyNumReply
-	16, // 93: api.partner.Partner.PartnerApplyWithdraw:output_type -> google.protobuf.Empty
-	2,  // 94: api.partner.Partner.PartnerWithdrawTemplateList:output_type -> api.partner.PartnerWithdrawTemplateListReply
-	0,  // 95: api.partner.Partner.PartnerWithdrawRecordList:output_type -> api.partner.PartnerWithdrawRecordListReply
-	16, // 96: api.partner.Partner.UpdateLastScripID:output_type -> google.protobuf.Empty
-	16, // 97: api.partner.Partner.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
-	16, // 98: api.partner.Partner.UpdatePartnerLastLoginTime:output_type -> google.protobuf.Empty
+	16, // 52: api.partner.Partner.SendPhoneCode:output_type -> google.protobuf.Empty
+	16, // 53: api.partner.Partner.CheckPhoneCode:output_type -> google.protobuf.Empty
+	16, // 54: api.partner.Partner.UpdatePartnerInformation:output_type -> google.protobuf.Empty
+	39, // 55: api.partner.Partner.CreateUserPartnerRoom:output_type -> api.chat.RoomReply
+	11, // 56: api.partner.Partner.GetPartnerBalance:output_type -> api.partner.PartnerBalance
+	40, // 57: api.partner.Partner.PartnerGetHomeInfo:output_type -> api.common.HomeInfo
+	41, // 58: api.partner.Partner.PartnerGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
+	42, // 59: api.partner.Partner.FindLookList:output_type -> api.statistics.LookAndLikeListReply
+	43, // 60: api.partner.Partner.WxConf:output_type -> api.common.WxConfResponse
+	44, // 61: api.partner.Partner.FindTagListBySex:output_type -> api.common.TagListReply
+	45, // 62: api.partner.Partner.FindOnlineList:output_type -> api.common.RecommendPersonListReply
+	46, // 63: api.partner.Partner.FindWithinSevenDayRoomList:output_type -> api.chat.PartnerFindRoomListReply
+	46, // 64: api.partner.Partner.FindOverSevenDayRoomList:output_type -> api.chat.PartnerFindRoomListReply
+	47, // 65: api.partner.Partner.FindChatRecordList:output_type -> api.common.ChatRecordListReply
+	48, // 66: api.partner.Partner.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
+	49, // 67: api.partner.Partner.GetPartnerIsLike:output_type -> api.common.IsLike
+	50, // 68: api.partner.Partner.FindMemeByType:output_type -> api.common.MemeList
+	51, // 69: api.partner.Partner.FindChatTopic:output_type -> api.common.ChatTopicList
+	52, // 70: api.partner.Partner.RandomMeme:output_type -> api.common.CommonTextList
+	52, // 71: api.partner.Partner.RandomSwiftMessage:output_type -> api.common.CommonTextList
+	53, // 72: api.partner.Partner.FindMemeTitle:output_type -> api.common.MemeTitleList
+	54, // 73: api.partner.Partner.PartnerGetChatCard:output_type -> api.common.PartnerChatCardInfo
+	53, // 74: api.partner.Partner.FindChatTopicTitle:output_type -> api.common.MemeTitleList
+	16, // 75: api.partner.Partner.PartnerLike:output_type -> google.protobuf.Empty
+	16, // 76: api.partner.Partner.PartnerUnLike:output_type -> google.protobuf.Empty
+	16, // 77: api.partner.Partner.Report:output_type -> google.protobuf.Empty
+	55, // 78: api.partner.Partner.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
+	16, // 79: api.partner.Partner.UpdateLastScripID:output_type -> google.protobuf.Empty
+	10, // 80: api.partner.Partner.GetPartnerMessage:output_type -> api.partner.PartnerMessage
+	56, // 81: api.partner.Partner.GetPartnerLookNum:output_type -> api.statistics.LookMessageReply
+	46, // 82: api.partner.Partner.FindUnReplyRoomList:output_type -> api.chat.PartnerFindRoomListReply
+	6,  // 83: api.partner.Partner.GetLevelBalanceTable:output_type -> api.partner.LevelTable
+	16, // 84: api.partner.Partner.PartnerGetAward:output_type -> google.protobuf.Empty
+	16, // 85: api.partner.Partner.PartnerUpdateWorkingStatus:output_type -> google.protobuf.Empty
+	57, // 86: api.partner.Partner.FindNotReplyNum:output_type -> api.chat.FindNotReplyNumReply
+	16, // 87: api.partner.Partner.PartnerApplyWithdraw:output_type -> google.protobuf.Empty
+	2,  // 88: api.partner.Partner.PartnerWithdrawTemplateList:output_type -> api.partner.PartnerWithdrawTemplateListReply
+	0,  // 89: api.partner.Partner.PartnerWithdrawRecordList:output_type -> api.partner.PartnerWithdrawRecordListReply
+	58, // 90: api.partner.Partner.GetPartnerDBMsg:output_type -> api.common.PersonMsg
+	59, // 91: api.partner.Partner.FindPartnerDBList:output_type -> api.common.PersonDBReply
+	16, // 92: api.partner.Partner.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
+	59, // 93: api.partner.Partner.FindRecommendPartnerDBList:output_type -> api.common.PersonDBReply
+	16, // 94: api.partner.Partner.UpdatePartnerLastLoginTime:output_type -> google.protobuf.Empty
+	12, // 95: api.partner.Partner.GetPartnerDBBalance:output_type -> api.partner.PartnerDBBalance
+	16, // 96: api.partner.Partner.AddPartnerBalance:output_type -> google.protobuf.Empty
+	60, // 97: api.partner.Partner.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
+	13, // 98: api.partner.Partner.GetRandomPartnerInfo:output_type -> api.partner.RandomPartnerInfo
 	51, // [51:99] is the sub-list for method output_type
 	3,  // [3:51] is the sub-list for method input_type
 	3,  // [3:3] is the sub-list for extension type_name

+ 111 - 99
api/partner/partner.proto

@@ -14,239 +14,249 @@ option java_multiple_files = true;
 option java_package = "api.partner";
 
 service Partner {
-  // 获取接待员的个人信息
+  // 1、获取接待员的个人信息
   rpc GetPartnerInfo (google.protobuf.Empty) returns (PartnerInfo){
     option (google.api.http) = {
       post: "/api/partner/info",
       body:"*"
     };
   };
-  // 获取接待员的金额信息
-  rpc GetPartnerBalance (google.protobuf.Empty) returns (PartnerBalance){
-    option (google.api.http) = {
-      post: "/api/partner/balance",
-      body:"*"
-    };
-  };
-  rpc GetPartnerDBBalance (common.PartnerIDParam) returns (PartnerDBBalance){}
-  // 获取用户详情
-  rpc GetPartnerDBMsg (common.PersonIDParam) returns (common.PersonMsg);
-  // 获取接待员的部分信息
-  rpc GetPartnerMessage (google.protobuf.Empty) returns (PartnerMessage){
+  // 2、接待员发送验证码
+  rpc SendPhoneCode (common.SendPhoneCodeRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/partner/message",
+      post: "/api/partner/code/send",
       body:"*"
     };
   };
-  // 获取接待员访问数详情
-  rpc GetPartnerLookNum (google.protobuf.Empty) returns (statistics.LookMessageReply){
+  // 3、接待员验证验证码
+  rpc CheckPhoneCode (common.CheckPhoneCodeRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/partner/num/look",
+      post: "/api/partner/code/check",
       body:"*"
     };
   };
-  // 接待员发送验证码
-  rpc SendPhoneCode (common.SendPhoneCodeRequest) returns (google.protobuf.Empty){
+  // 4、更新接待员的信息
+  rpc UpdatePartnerInformation (common.UpdateInformationRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/partner/code/send",
+      post: "/api/partner/update/information",
       body:"*"
     };
   };
-  // 接待员验证验证码
-  rpc CheckPhoneCode (common.CheckPhoneCodeRequest) returns (google.protobuf.Empty){
+  // 5、创建用户与接待员的关联
+  rpc CreateUserPartnerRoom (common.CreateChatRoomParam) returns (chat.RoomReply){
     option (google.api.http) = {
-      post: "/api/partner/code/check",
+      post: "/api/partner/create/room",
       body:"*"
     };
   };
-  // 获取接待员的确认通过页面信息
-  rpc GetPartnerCircleInfo (common.PartnerIDParam) returns (common.AddFriendMessageInfo);
-  // 更新接待员的信息
-  rpc UpdatePartnerInformation (common.UpdateInformationRequest) returns (google.protobuf.Empty){
+  // 6、获取接待员的金额信息
+  rpc GetPartnerBalance (google.protobuf.Empty) returns (PartnerBalance){
     option (google.api.http) = {
-      post: "/api/partner/update/information",
+      post: "/api/partner/balance",
       body:"*"
     };
   };
-  rpc GetRandomPartnerInfo (GetRandomPartnerRequest) returns (RandomPartnerInfo);
-  // 接待员获取ta的主页信息
+  // 7、接待员获取ta的主页信息
   rpc PartnerGetHomeInfo (common.PersonParam) returns (common.HomeInfo){
     option (google.api.http) = {
       post: "/api/partner/home",
       body:"*"
     };
   };
-  // 接待员获取ta的主页访客、关注数
+  // 8、接待员获取ta的主页访客、关注数
   rpc PartnerGetPersonLikedAndLooked (common.PersonParam) returns (common.LookedAndLikedNum){
     option (google.api.http) = {
       post: "/api/partner/num",
       body:"*"
     };
   };
-  // 查看看过我的列表
+  // 9、查看看过我的列表
   rpc FindLookList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
     option (google.api.http) = {
       post: "/api/partner/list/look",
       body:"*"
     };
   };
-  // 通过接待员IDs查看接待员信息列表
-  rpc FindPartnerDBList (common.PersonIDList) returns (common.PersonDBReply);
-  // 微信SDK初始化
+  // 10、微信SDK初始化
   rpc WxConf (common.WxConfReq) returns (common.WxConfResponse){
     option (google.api.http) = {
       post: "/api/wx/jssdk/config",
       body:"*"
     };
   };
-  // 创建用户与接待员的关联
-  rpc CreateUserPartnerRoom (common.CreateChatRoomParam) returns (chat.RoomReply){
-    option (google.api.http) = {
-      post: "/api/partner/create/room",
-      body:"*"
-    };
-  };
-  // 获取标签列表
+  // 11、获取标签列表
   rpc FindTagListBySex (common.SexReq) returns (common.TagListReply){
     option (google.api.http) = {
       post: "/api/partner/list/tag",
       body:"*"
     };
   };
-  // 获取在线列表
+  // 12、获取在线列表
   rpc FindOnlineList (common.ListPage2Request) returns (common.RecommendPersonListReply){
     option (google.api.http) = {
       post: "/api/partner/list/online",
       body:"*"
     };
   };
-  // 未读列表(排队中)
-  rpc FindUnReplyRoomList (common.ListPageRequest) returns (chat.PartnerFindRoomListReply){
-    option (google.api.http) = {
-      post: "/api/partner/list/chat/unreply",
-      body:"*"
-    };
-  };
-  // 七天内列表(当前会话)
+  // 13、七天内列表(当前会话)
   rpc FindWithinSevenDayRoomList (common.ListPageRequest) returns (chat.PartnerFindRoomListReply){
     option (google.api.http) = {
       post: "/api/partner/list/chat/within",
       body:"*"
     };
   };
-  // 七天外列表(更早的聊天记录)
+  // 14、七天外列表(更早的聊天记录)
   rpc FindOverSevenDayRoomList (common.ListPageRequest) returns (chat.PartnerFindRoomListReply){
     option (google.api.http) = {
       post: "/api/partner/list/chat/over",
       body:"*"
     };
   };
-  // 接待者查询聊天记录
+  // 15、接待者查询聊天记录
   rpc FindChatRecordList (common.FindChatRecordListRequest) returns (common.ChatRecordListReply){
     option (google.api.http) = {
       post: "/api/partner/chat/record",
       body:"*"
     };
   };
-  // 接待者查询房间信息
+  // 16、接待者查询房间信息
   rpc FindChatRoomMsg (common.FindChatRoomMsgRequest) returns (common.ChatRoomMsg){
     option (google.api.http) = {
       post: "/api/partner/chat/room/msg",
       body:"*"
     };
   };
-  rpc AddPartnerBalance(AddPartnerBalanceRequest)returns (google.protobuf.Empty){};
-  // 获取等级对应收益表
-  rpc GetLevelBalanceTable (google.protobuf.Empty) returns (LevelTable){
-    option (google.api.http) = {
-      post: "/api/partner/level/table",
-      body:"*"
-    };
-  };
-  // 接待员查询是否关注某人
+  // 17、接待员查询是否关注某人
   rpc GetPartnerIsLike (common.PersonParam) returns (common.IsLike){
     option (google.api.http) = {
       post: "/api/partner/islike",
       body:"*"
     };
   };
-  // 通过类型获取表情包列表
+  // 18、通过类型获取表情包列表
   rpc FindMemeByType (common.MemeRequest) returns (common.MemeList){
     option (google.api.http) = {
       post: "/api/partner/find/meme/type",
       body:"*"
     };
   };
-  // 获取对方性别的聊天话题
+  // 19、获取对方性别的聊天话题
   rpc FindChatTopic (common.FindChatTopicRequest) returns (common.ChatTopicList){
     option (google.api.http) = {
       post: "/api/partner/find/topic",
       body:"*"
     };
   };
-  // 随机表情包
+  // 20、随机表情包
   rpc RandomMeme (common.RandomNum) returns (common.CommonTextList){
     option (google.api.http) = {
       post: "/api/partner/find/meme/random",
       body:"*"
     };
   };
-  // 随机打招呼
+  // 21、随机打招呼
   rpc RandomSwiftMessage (common.RandomNumAndSex) returns (common.CommonTextList){
     option (google.api.http) = {
       post: "/api/partner/find/topic/random",
       body:"*"
     };
   };
-  // 表情包分类名
+  // 22、表情包分类名
   rpc FindMemeTitle (google.protobuf.Empty) returns (common.MemeTitleList){
     option (google.api.http) = {
       post: "/api/partner/find/meme/title",
       body:"*"
     };
   };
-  // 接待员获取聊天对象的资料卡片
+  // 23、接待员获取聊天对象的资料卡片
   rpc PartnerGetChatCard(common.PersonParam) returns (common.PartnerChatCardInfo){
     option (google.api.http) = {
       post: "/api/partner/chat/card",
       body:"*"
     };
   };
-  // 聊天话题分类名
+  // 24、聊天话题分类名
   rpc FindChatTopicTitle (google.protobuf.Empty) returns (common.MemeTitleList){
     option (google.api.http) = {
       post: "/api/partner/find/chat/title",
       body:"*"
     };
   };
-  // 接待员关注某人
+  // 25、接待员关注某人
   rpc PartnerLike(common.PersonParam) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/partner/like",
       body:"*"
     };
   };
-  // 接待员取关某人
+  // 26、接待员取关某人
   rpc PartnerUnLike(common.PersonParam) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/partner/unlike",
       body:"*"
     };
   };
-  // 举报某人
+  // 27、举报某人
   rpc Report (common.ReportChatRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/partner/report",
       body:"*"
     };
   };
-//  // 拉黑某人
-//  rpc PartnerSetBlackChat (common.RoomIDRequest) returns (google.protobuf.Empty){
-//    option (google.api.http) = {
-//      post: "/api/partner/set/black",
-//      body:"*"
-//    };
-//  };
+  // 28、超过七天的头像列表
+  rpc FindOverSevenDayAvatar (google.protobuf.Empty) returns (common.FindOverSevenDayAvatarReply){
+    option (google.api.http) = {
+      post: "/api/partner/over/avatar/list",
+      body:"*"
+    };
+  };
+  // 29、更新上次访问的小纸条
+  rpc UpdateLastScripID (common.UpdateLastScripIDRequest) returns (google.protobuf.Empty){
+    option (google.api.http) = {
+      post: "/api/partner/scrip/last/update",
+      body:"*"
+    };
+  };
+
+
+
+  //  // 拉黑某人
+  //  rpc PartnerSetBlackChat (common.RoomIDRequest) returns (google.protobuf.Empty){
+  //    option (google.api.http) = {
+  //      post: "/api/partner/set/black",
+  //      body:"*"
+  //    };
+  //  };
+
+  // ---接待员专用---
+  // 获取接待员的部分信息
+  rpc GetPartnerMessage (google.protobuf.Empty) returns (PartnerMessage){
+    option (google.api.http) = {
+      post: "/api/partner/message",
+      body:"*"
+    };
+  };
+  // 获取接待员访问数详情
+  rpc GetPartnerLookNum (google.protobuf.Empty) returns (statistics.LookMessageReply){
+    option (google.api.http) = {
+      post: "/api/partner/num/look",
+      body:"*"
+    };
+  };
+  // 未读列表(排队中)
+  rpc FindUnReplyRoomList (common.ListPageRequest) returns (chat.PartnerFindRoomListReply){
+    option (google.api.http) = {
+      post: "/api/partner/list/chat/unreply",
+      body:"*"
+    };
+  };
+  // 获取等级对应收益表
+  rpc GetLevelBalanceTable (google.protobuf.Empty) returns (LevelTable){
+    option (google.api.http) = {
+      post: "/api/partner/level/table",
+      body:"*"
+    };
+  };
   // 接待员领取开通奖励
   rpc PartnerGetAward (PartnerGetAwardRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
@@ -261,15 +271,6 @@ service Partner {
       body:"*"
     };
   };
-  // 查询推荐用户的数据
-  rpc FindRecommendPartnerDBList (common.FindRecommendRequest) returns (common.PersonDBReply){};
-  // 超过七天的头像列表
-  rpc FindOverSevenDayAvatar (google.protobuf.Empty) returns (common.FindOverSevenDayAvatarReply){
-    option (google.api.http) = {
-      post: "/api/partner/over/avatar/list",
-      body:"*"
-    };
-  };
   // 查询未处理的数据
   rpc FindNotReplyNum (google.protobuf.Empty) returns (chat.FindNotReplyNumReply){
     option (google.api.http) = {
@@ -298,17 +299,28 @@ service Partner {
       body:"*"
     };
   };
-  // 更新上次访问的小纸条
-  rpc UpdateLastScripID (common.UpdateLastScripIDRequest) returns (google.protobuf.Empty){
-    option (google.api.http) = {
-      post: "/api/partner/scrip/last/update",
-      body:"*"
-    };
-  };
-  // 对内更新
+
+
+  // ---rpc---
+  // 1、获取用户详情
+  rpc GetPartnerDBMsg (common.PersonIDParam) returns (common.PersonMsg);
+  // 2、通过接待员IDs查看接待员信息列表
+  rpc FindPartnerDBList (common.PersonIDList) returns (common.PersonDBReply);
+  // 3、对内更新
   rpc UpdateLastScripIDDB (common.UpdateLastScripIDDBRequest) returns (google.protobuf.Empty){};
-  // 更新上次登录时间
+  // 4、查询推荐用户的数据
+  rpc FindRecommendPartnerDBList (common.FindRecommendRequest) returns (common.PersonDBReply){};
+  // 5、更新上次登录时间
   rpc UpdatePartnerLastLoginTime (common.PersonIDParam) returns (google.protobuf.Empty){};
+
+  // 获取接待员金额
+  rpc GetPartnerDBBalance (common.PartnerIDParam) returns (PartnerDBBalance){}
+  // 增加接待员金额
+  rpc AddPartnerBalance(AddPartnerBalanceRequest)returns (google.protobuf.Empty){};
+  // 获取接待员的确认通过页面信息
+  rpc GetPartnerCircleInfo (common.PartnerIDParam) returns (common.AddFriendMessageInfo);
+  // 随机接待员
+  rpc GetRandomPartnerInfo (GetRandomPartnerRequest) returns (RandomPartnerInfo);
 }
 
 message PartnerWithdrawRecordListReply{

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 521 - 525
api/partner/partner_grpc.pb.go


+ 158 - 158
api/partner/partner_http.pb.go

@@ -74,25 +74,21 @@ type PartnerHTTPServer interface {
 func RegisterPartnerHTTPServer(s *http.Server, srv PartnerHTTPServer) {
 	r := s.Route("/")
 	r.POST("/api/partner/info", _Partner_GetPartnerInfo0_HTTP_Handler(srv))
-	r.POST("/api/partner/balance", _Partner_GetPartnerBalance0_HTTP_Handler(srv))
-	r.POST("/api/partner/message", _Partner_GetPartnerMessage0_HTTP_Handler(srv))
-	r.POST("/api/partner/num/look", _Partner_GetPartnerLookNum0_HTTP_Handler(srv))
 	r.POST("/api/partner/code/send", _Partner_SendPhoneCode0_HTTP_Handler(srv))
 	r.POST("/api/partner/code/check", _Partner_CheckPhoneCode0_HTTP_Handler(srv))
 	r.POST("/api/partner/update/information", _Partner_UpdatePartnerInformation0_HTTP_Handler(srv))
+	r.POST("/api/partner/create/room", _Partner_CreateUserPartnerRoom0_HTTP_Handler(srv))
+	r.POST("/api/partner/balance", _Partner_GetPartnerBalance0_HTTP_Handler(srv))
 	r.POST("/api/partner/home", _Partner_PartnerGetHomeInfo0_HTTP_Handler(srv))
 	r.POST("/api/partner/num", _Partner_PartnerGetPersonLikedAndLooked0_HTTP_Handler(srv))
 	r.POST("/api/partner/list/look", _Partner_FindLookList0_HTTP_Handler(srv))
 	r.POST("/api/wx/jssdk/config", _Partner_WxConf0_HTTP_Handler(srv))
-	r.POST("/api/partner/create/room", _Partner_CreateUserPartnerRoom0_HTTP_Handler(srv))
 	r.POST("/api/partner/list/tag", _Partner_FindTagListBySex0_HTTP_Handler(srv))
 	r.POST("/api/partner/list/online", _Partner_FindOnlineList0_HTTP_Handler(srv))
-	r.POST("/api/partner/list/chat/unreply", _Partner_FindUnReplyRoomList0_HTTP_Handler(srv))
 	r.POST("/api/partner/list/chat/within", _Partner_FindWithinSevenDayRoomList0_HTTP_Handler(srv))
 	r.POST("/api/partner/list/chat/over", _Partner_FindOverSevenDayRoomList0_HTTP_Handler(srv))
 	r.POST("/api/partner/chat/record", _Partner_FindChatRecordList0_HTTP_Handler(srv))
 	r.POST("/api/partner/chat/room/msg", _Partner_FindChatRoomMsg0_HTTP_Handler(srv))
-	r.POST("/api/partner/level/table", _Partner_GetLevelBalanceTable0_HTTP_Handler(srv))
 	r.POST("/api/partner/islike", _Partner_GetPartnerIsLike0_HTTP_Handler(srv))
 	r.POST("/api/partner/find/meme/type", _Partner_FindMemeByType0_HTTP_Handler(srv))
 	r.POST("/api/partner/find/topic", _Partner_FindChatTopic0_HTTP_Handler(srv))
@@ -104,14 +100,18 @@ func RegisterPartnerHTTPServer(s *http.Server, srv PartnerHTTPServer) {
 	r.POST("/api/partner/like", _Partner_PartnerLike0_HTTP_Handler(srv))
 	r.POST("/api/partner/unlike", _Partner_PartnerUnLike0_HTTP_Handler(srv))
 	r.POST("/api/partner/report", _Partner_Report0_HTTP_Handler(srv))
+	r.POST("/api/partner/over/avatar/list", _Partner_FindOverSevenDayAvatar0_HTTP_Handler(srv))
+	r.POST("/api/partner/scrip/last/update", _Partner_UpdateLastScripID0_HTTP_Handler(srv))
+	r.POST("/api/partner/message", _Partner_GetPartnerMessage0_HTTP_Handler(srv))
+	r.POST("/api/partner/num/look", _Partner_GetPartnerLookNum0_HTTP_Handler(srv))
+	r.POST("/api/partner/list/chat/unreply", _Partner_FindUnReplyRoomList0_HTTP_Handler(srv))
+	r.POST("/api/partner/level/table", _Partner_GetLevelBalanceTable0_HTTP_Handler(srv))
 	r.POST("/api/partner/chat/award", _Partner_PartnerGetAward0_HTTP_Handler(srv))
 	r.POST("/api/partner/working/status/update", _Partner_PartnerUpdateWorkingStatus0_HTTP_Handler(srv))
-	r.POST("/api/partner/over/avatar/list", _Partner_FindOverSevenDayAvatar0_HTTP_Handler(srv))
 	r.POST("/api/partner/chat/unreply/num", _Partner_FindNotReplyNum0_HTTP_Handler(srv))
 	r.POST("/api/partner/withdraw", _Partner_PartnerApplyWithdraw0_HTTP_Handler(srv))
 	r.POST("/api/partner/withdraw/template/list", _Partner_PartnerWithdrawTemplateList0_HTTP_Handler(srv))
 	r.POST("/api/partner/withdraw/record/list", _Partner_PartnerWithdrawRecordList0_HTTP_Handler(srv))
-	r.POST("/api/partner/scrip/last/update", _Partner_UpdateLastScripID0_HTTP_Handler(srv))
 }
 
 func _Partner_GetPartnerInfo0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
@@ -141,18 +141,18 @@ func _Partner_GetPartnerInfo0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.
 	}
 }
 
-func _Partner_GetPartnerBalance0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_SendPhoneCode0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in common.SendPhoneCodeRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerBalance")
+		http.SetOperation(ctx, "/api.partner.Partner/SendPhoneCode")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.GetPartnerBalance(ctx, req.(*emptypb.Empty))
+			return srv.SendPhoneCode(ctx, req.(*common.SendPhoneCodeRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -168,18 +168,18 @@ func _Partner_GetPartnerBalance0_HTTP_Handler(srv PartnerHTTPServer) func(ctx ht
 	}
 }
 
-func _Partner_GetPartnerMessage0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_CheckPhoneCode0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in common.CheckPhoneCodeRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerMessage")
+		http.SetOperation(ctx, "/api.partner.Partner/CheckPhoneCode")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.GetPartnerMessage(ctx, req.(*emptypb.Empty))
+			return srv.CheckPhoneCode(ctx, req.(*common.CheckPhoneCodeRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -195,18 +195,18 @@ func _Partner_GetPartnerMessage0_HTTP_Handler(srv PartnerHTTPServer) func(ctx ht
 	}
 }
 
-func _Partner_GetPartnerLookNum0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_UpdatePartnerInformation0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in common.UpdateInformationRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerLookNum")
+		http.SetOperation(ctx, "/api.partner.Partner/UpdatePartnerInformation")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.GetPartnerLookNum(ctx, req.(*emptypb.Empty))
+			return srv.UpdatePartnerInformation(ctx, req.(*common.UpdateInformationRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -222,18 +222,18 @@ func _Partner_GetPartnerLookNum0_HTTP_Handler(srv PartnerHTTPServer) func(ctx ht
 	}
 }
 
-func _Partner_SendPhoneCode0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_CreateUserPartnerRoom0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.SendPhoneCodeRequest
+		var in common.CreateChatRoomParam
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/SendPhoneCode")
+		http.SetOperation(ctx, "/api.partner.Partner/CreateUserPartnerRoom")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.SendPhoneCode(ctx, req.(*common.SendPhoneCodeRequest))
+			return srv.CreateUserPartnerRoom(ctx, req.(*common.CreateChatRoomParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -249,18 +249,18 @@ func _Partner_SendPhoneCode0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.C
 	}
 }
 
-func _Partner_CheckPhoneCode0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_GetPartnerBalance0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.CheckPhoneCodeRequest
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/CheckPhoneCode")
+		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerBalance")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.CheckPhoneCode(ctx, req.(*common.CheckPhoneCodeRequest))
+			return srv.GetPartnerBalance(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -276,18 +276,18 @@ func _Partner_CheckPhoneCode0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.
 	}
 }
 
-func _Partner_UpdatePartnerInformation0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerGetHomeInfo0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.UpdateInformationRequest
+		var in common.PersonParam
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/UpdatePartnerInformation")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetHomeInfo")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.UpdatePartnerInformation(ctx, req.(*common.UpdateInformationRequest))
+			return srv.PartnerGetHomeInfo(ctx, req.(*common.PersonParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -303,7 +303,7 @@ func _Partner_UpdatePartnerInformation0_HTTP_Handler(srv PartnerHTTPServer) func
 	}
 }
 
-func _Partner_PartnerGetHomeInfo0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerGetPersonLikedAndLooked0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
 		var in common.PersonParam
 		if err := ctx.Bind(&in); err != nil {
@@ -312,9 +312,9 @@ func _Partner_PartnerGetHomeInfo0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetHomeInfo")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetPersonLikedAndLooked")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerGetHomeInfo(ctx, req.(*common.PersonParam))
+			return srv.PartnerGetPersonLikedAndLooked(ctx, req.(*common.PersonParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -330,18 +330,18 @@ func _Partner_PartnerGetHomeInfo0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 	}
 }
 
-func _Partner_PartnerGetPersonLikedAndLooked0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindLookList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.PersonParam
+		var in common.ListPageRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetPersonLikedAndLooked")
+		http.SetOperation(ctx, "/api.partner.Partner/FindLookList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerGetPersonLikedAndLooked(ctx, req.(*common.PersonParam))
+			return srv.FindLookList(ctx, req.(*common.ListPageRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -357,18 +357,18 @@ func _Partner_PartnerGetPersonLikedAndLooked0_HTTP_Handler(srv PartnerHTTPServer
 	}
 }
 
-func _Partner_FindLookList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_WxConf0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ListPageRequest
+		var in common.WxConfReq
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindLookList")
+		http.SetOperation(ctx, "/api.partner.Partner/WxConf")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindLookList(ctx, req.(*common.ListPageRequest))
+			return srv.WxConf(ctx, req.(*common.WxConfReq))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -384,18 +384,18 @@ func _Partner_FindLookList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Co
 	}
 }
 
-func _Partner_WxConf0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindTagListBySex0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.WxConfReq
+		var in common.SexReq
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/WxConf")
+		http.SetOperation(ctx, "/api.partner.Partner/FindTagListBySex")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.WxConf(ctx, req.(*common.WxConfReq))
+			return srv.FindTagListBySex(ctx, req.(*common.SexReq))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -411,18 +411,18 @@ func _Partner_WxConf0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context)
 	}
 }
 
-func _Partner_CreateUserPartnerRoom0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindOnlineList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.CreateChatRoomParam
+		var in common.ListPage2Request
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/CreateUserPartnerRoom")
+		http.SetOperation(ctx, "/api.partner.Partner/FindOnlineList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.CreateUserPartnerRoom(ctx, req.(*common.CreateChatRoomParam))
+			return srv.FindOnlineList(ctx, req.(*common.ListPage2Request))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -438,18 +438,18 @@ func _Partner_CreateUserPartnerRoom0_HTTP_Handler(srv PartnerHTTPServer) func(ct
 	}
 }
 
-func _Partner_FindTagListBySex0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindWithinSevenDayRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.SexReq
+		var in common.ListPageRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindTagListBySex")
+		http.SetOperation(ctx, "/api.partner.Partner/FindWithinSevenDayRoomList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindTagListBySex(ctx, req.(*common.SexReq))
+			return srv.FindWithinSevenDayRoomList(ctx, req.(*common.ListPageRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -465,18 +465,18 @@ func _Partner_FindTagListBySex0_HTTP_Handler(srv PartnerHTTPServer) func(ctx htt
 	}
 }
 
-func _Partner_FindOnlineList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindOverSevenDayRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ListPage2Request
+		var in common.ListPageRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindOnlineList")
+		http.SetOperation(ctx, "/api.partner.Partner/FindOverSevenDayRoomList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindOnlineList(ctx, req.(*common.ListPage2Request))
+			return srv.FindOverSevenDayRoomList(ctx, req.(*common.ListPageRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -492,18 +492,18 @@ func _Partner_FindOnlineList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.
 	}
 }
 
-func _Partner_FindUnReplyRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindChatRecordList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ListPageRequest
+		var in common.FindChatRecordListRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindUnReplyRoomList")
+		http.SetOperation(ctx, "/api.partner.Partner/FindChatRecordList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindUnReplyRoomList(ctx, req.(*common.ListPageRequest))
+			return srv.FindChatRecordList(ctx, req.(*common.FindChatRecordListRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -519,18 +519,18 @@ func _Partner_FindUnReplyRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx
 	}
 }
 
-func _Partner_FindWithinSevenDayRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindChatRoomMsg0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ListPageRequest
+		var in common.FindChatRoomMsgRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindWithinSevenDayRoomList")
+		http.SetOperation(ctx, "/api.partner.Partner/FindChatRoomMsg")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindWithinSevenDayRoomList(ctx, req.(*common.ListPageRequest))
+			return srv.FindChatRoomMsg(ctx, req.(*common.FindChatRoomMsgRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -546,18 +546,18 @@ func _Partner_FindWithinSevenDayRoomList0_HTTP_Handler(srv PartnerHTTPServer) fu
 	}
 }
 
-func _Partner_FindOverSevenDayRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_GetPartnerIsLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ListPageRequest
+		var in common.PersonParam
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindOverSevenDayRoomList")
+		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerIsLike")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindOverSevenDayRoomList(ctx, req.(*common.ListPageRequest))
+			return srv.GetPartnerIsLike(ctx, req.(*common.PersonParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -573,18 +573,18 @@ func _Partner_FindOverSevenDayRoomList0_HTTP_Handler(srv PartnerHTTPServer) func
 	}
 }
 
-func _Partner_FindChatRecordList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindMemeByType0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.FindChatRecordListRequest
+		var in common.MemeRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindChatRecordList")
+		http.SetOperation(ctx, "/api.partner.Partner/FindMemeByType")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindChatRecordList(ctx, req.(*common.FindChatRecordListRequest))
+			return srv.FindMemeByType(ctx, req.(*common.MemeRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -600,18 +600,18 @@ func _Partner_FindChatRecordList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 	}
 }
 
-func _Partner_FindChatRoomMsg0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindChatTopic0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.FindChatRoomMsgRequest
+		var in common.FindChatTopicRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindChatRoomMsg")
+		http.SetOperation(ctx, "/api.partner.Partner/FindChatTopic")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindChatRoomMsg(ctx, req.(*common.FindChatRoomMsgRequest))
+			return srv.FindChatTopic(ctx, req.(*common.FindChatTopicRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -627,18 +627,18 @@ func _Partner_FindChatRoomMsg0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http
 	}
 }
 
-func _Partner_GetLevelBalanceTable0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_RandomMeme0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in common.RandomNum
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/GetLevelBalanceTable")
+		http.SetOperation(ctx, "/api.partner.Partner/RandomMeme")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.GetLevelBalanceTable(ctx, req.(*emptypb.Empty))
+			return srv.RandomMeme(ctx, req.(*common.RandomNum))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -654,18 +654,18 @@ func _Partner_GetLevelBalanceTable0_HTTP_Handler(srv PartnerHTTPServer) func(ctx
 	}
 }
 
-func _Partner_GetPartnerIsLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_RandomSwiftMessage0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.PersonParam
+		var in common.RandomNumAndSex
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerIsLike")
+		http.SetOperation(ctx, "/api.partner.Partner/RandomSwiftMessage")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.GetPartnerIsLike(ctx, req.(*common.PersonParam))
+			return srv.RandomSwiftMessage(ctx, req.(*common.RandomNumAndSex))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -681,18 +681,18 @@ func _Partner_GetPartnerIsLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx htt
 	}
 }
 
-func _Partner_FindMemeByType0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindMemeTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.MemeRequest
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindMemeByType")
+		http.SetOperation(ctx, "/api.partner.Partner/FindMemeTitle")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindMemeByType(ctx, req.(*common.MemeRequest))
+			return srv.FindMemeTitle(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -708,18 +708,18 @@ func _Partner_FindMemeByType0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.
 	}
 }
 
-func _Partner_FindChatTopic0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerGetChatCard0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.FindChatTopicRequest
+		var in common.PersonParam
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindChatTopic")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetChatCard")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindChatTopic(ctx, req.(*common.FindChatTopicRequest))
+			return srv.PartnerGetChatCard(ctx, req.(*common.PersonParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -735,18 +735,18 @@ func _Partner_FindChatTopic0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.C
 	}
 }
 
-func _Partner_RandomMeme0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindChatTopicTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.RandomNum
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/RandomMeme")
+		http.SetOperation(ctx, "/api.partner.Partner/FindChatTopicTitle")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.RandomMeme(ctx, req.(*common.RandomNum))
+			return srv.FindChatTopicTitle(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -762,18 +762,18 @@ func _Partner_RandomMeme0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Cont
 	}
 }
 
-func _Partner_RandomSwiftMessage0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.RandomNumAndSex
+		var in common.PersonParam
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/RandomSwiftMessage")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerLike")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.RandomSwiftMessage(ctx, req.(*common.RandomNumAndSex))
+			return srv.PartnerLike(ctx, req.(*common.PersonParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -789,18 +789,18 @@ func _Partner_RandomSwiftMessage0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 	}
 }
 
-func _Partner_FindMemeTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerUnLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in common.PersonParam
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindMemeTitle")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerUnLike")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindMemeTitle(ctx, req.(*emptypb.Empty))
+			return srv.PartnerUnLike(ctx, req.(*common.PersonParam))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -816,18 +816,18 @@ func _Partner_FindMemeTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.C
 	}
 }
 
-func _Partner_PartnerGetChatCard0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_Report0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.PersonParam
+		var in common.ReportChatRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetChatCard")
+		http.SetOperation(ctx, "/api.partner.Partner/Report")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerGetChatCard(ctx, req.(*common.PersonParam))
+			return srv.Report(ctx, req.(*common.ReportChatRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -843,7 +843,7 @@ func _Partner_PartnerGetChatCard0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 	}
 }
 
-func _Partner_FindChatTopicTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindOverSevenDayAvatar0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
 		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
@@ -852,9 +852,9 @@ func _Partner_FindChatTopicTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindChatTopicTitle")
+		http.SetOperation(ctx, "/api.partner.Partner/FindOverSevenDayAvatar")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindChatTopicTitle(ctx, req.(*emptypb.Empty))
+			return srv.FindOverSevenDayAvatar(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -870,18 +870,18 @@ func _Partner_FindChatTopicTitle0_HTTP_Handler(srv PartnerHTTPServer) func(ctx h
 	}
 }
 
-func _Partner_PartnerLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_UpdateLastScripID0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.PersonParam
+		var in common.UpdateLastScripIDRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerLike")
+		http.SetOperation(ctx, "/api.partner.Partner/UpdateLastScripID")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerLike(ctx, req.(*common.PersonParam))
+			return srv.UpdateLastScripID(ctx, req.(*common.UpdateLastScripIDRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -897,18 +897,18 @@ func _Partner_PartnerLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Con
 	}
 }
 
-func _Partner_PartnerUnLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_GetPartnerMessage0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.PersonParam
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerUnLike")
+		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerMessage")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerUnLike(ctx, req.(*common.PersonParam))
+			return srv.GetPartnerMessage(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -924,18 +924,18 @@ func _Partner_PartnerUnLike0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.C
 	}
 }
 
-func _Partner_Report0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_GetPartnerLookNum0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ReportChatRequest
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/Report")
+		http.SetOperation(ctx, "/api.partner.Partner/GetPartnerLookNum")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.Report(ctx, req.(*common.ReportChatRequest))
+			return srv.GetPartnerLookNum(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -951,18 +951,18 @@ func _Partner_Report0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context)
 	}
 }
 
-func _Partner_PartnerGetAward0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindUnReplyRoomList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in PartnerGetAwardRequest
+		var in common.ListPageRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetAward")
+		http.SetOperation(ctx, "/api.partner.Partner/FindUnReplyRoomList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerGetAward(ctx, req.(*PartnerGetAwardRequest))
+			return srv.FindUnReplyRoomList(ctx, req.(*common.ListPageRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -978,18 +978,18 @@ func _Partner_PartnerGetAward0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http
 	}
 }
 
-func _Partner_PartnerUpdateWorkingStatus0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_GetLevelBalanceTable0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in PartnerUpdateWorkingStatusRequest
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerUpdateWorkingStatus")
+		http.SetOperation(ctx, "/api.partner.Partner/GetLevelBalanceTable")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerUpdateWorkingStatus(ctx, req.(*PartnerUpdateWorkingStatusRequest))
+			return srv.GetLevelBalanceTable(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -1005,18 +1005,18 @@ func _Partner_PartnerUpdateWorkingStatus0_HTTP_Handler(srv PartnerHTTPServer) fu
 	}
 }
 
-func _Partner_FindOverSevenDayAvatar0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerGetAward0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in PartnerGetAwardRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindOverSevenDayAvatar")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerGetAward")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindOverSevenDayAvatar(ctx, req.(*emptypb.Empty))
+			return srv.PartnerGetAward(ctx, req.(*PartnerGetAwardRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -1032,18 +1032,18 @@ func _Partner_FindOverSevenDayAvatar0_HTTP_Handler(srv PartnerHTTPServer) func(c
 	}
 }
 
-func _Partner_FindNotReplyNum0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerUpdateWorkingStatus0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in PartnerUpdateWorkingStatusRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/FindNotReplyNum")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerUpdateWorkingStatus")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.FindNotReplyNum(ctx, req.(*emptypb.Empty))
+			return srv.PartnerUpdateWorkingStatus(ctx, req.(*PartnerUpdateWorkingStatusRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -1059,18 +1059,18 @@ func _Partner_FindNotReplyNum0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http
 	}
 }
 
-func _Partner_PartnerApplyWithdraw0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_FindNotReplyNum0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in PartnerApplyWithdrawRequest
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerApplyWithdraw")
+		http.SetOperation(ctx, "/api.partner.Partner/FindNotReplyNum")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerApplyWithdraw(ctx, req.(*PartnerApplyWithdrawRequest))
+			return srv.FindNotReplyNum(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -1086,18 +1086,18 @@ func _Partner_PartnerApplyWithdraw0_HTTP_Handler(srv PartnerHTTPServer) func(ctx
 	}
 }
 
-func _Partner_PartnerWithdrawTemplateList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerApplyWithdraw0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in emptypb.Empty
+		var in PartnerApplyWithdrawRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerWithdrawTemplateList")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerApplyWithdraw")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerWithdrawTemplateList(ctx, req.(*emptypb.Empty))
+			return srv.PartnerApplyWithdraw(ctx, req.(*PartnerApplyWithdrawRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -1113,18 +1113,18 @@ func _Partner_PartnerWithdrawTemplateList0_HTTP_Handler(srv PartnerHTTPServer) f
 	}
 }
 
-func _Partner_PartnerWithdrawRecordList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerWithdrawTemplateList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.ListPageRequest
+		var in emptypb.Empty
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/PartnerWithdrawRecordList")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerWithdrawTemplateList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.PartnerWithdrawRecordList(ctx, req.(*common.ListPageRequest))
+			return srv.PartnerWithdrawTemplateList(ctx, req.(*emptypb.Empty))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {
@@ -1140,18 +1140,18 @@ func _Partner_PartnerWithdrawRecordList0_HTTP_Handler(srv PartnerHTTPServer) fun
 	}
 }
 
-func _Partner_UpdateLastScripID0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
+func _Partner_PartnerWithdrawRecordList0_HTTP_Handler(srv PartnerHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
-		var in common.UpdateLastScripIDRequest
+		var in common.ListPageRequest
 		if err := ctx.Bind(&in); err != nil {
 			return err
 		}
 		if err := ctx.BindQuery(&in); err != nil {
 			return err
 		}
-		http.SetOperation(ctx, "/api.partner.Partner/UpdateLastScripID")
+		http.SetOperation(ctx, "/api.partner.Partner/PartnerWithdrawRecordList")
 		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
-			return srv.UpdateLastScripID(ctx, req.(*common.UpdateLastScripIDRequest))
+			return srv.PartnerWithdrawRecordList(ctx, req.(*common.ListPageRequest))
 		})
 		out, err := h(ctx, &in)
 		if err != nil {

+ 607 - 607
api/user/user.pb.go

@@ -1745,310 +1745,346 @@ var file_user_proto_rawDesc = []byte{
 	0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x50, 0x61, 0x79,
 	0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a,
 	0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72,
-	0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0xba, 0x38, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x7e,
-	0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
-	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72,
-	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
-	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
-	0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f,
-	0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x54,
+	0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0xba, 0x38, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x54,
 	0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e,
 	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
 	0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72,
 	0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02,
 	0x13, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x66,
-	0x6f, 0x3a, 0x01, 0x2a, 0x12, 0x40, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44,
-	0x42, 0x4d, 0x73, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a,
-	0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72,
-	0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x69, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x68,
-	0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f,
-	0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
-	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
-	0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x3a, 0x01,
-	0x2a, 0x12, 0x6c, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43,
-	0x6f, 0x64, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f,
-	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
-	0x72, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x12,
-	0x94, 0x01, 0x0a, 0x1e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
-	0x69, 0x70, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x2d,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55,
-	0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61,
-	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
-	0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
-	0x68, 0x69, 0x70, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
-	0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1f,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61,
-	0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a,
-	0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2f, 0x72,
-	0x6f, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
-	0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65,
-	0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72,
-	0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50,
-	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93,
-	0x02, 0x13, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x68, 0x6f,
-	0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x45, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65,
-	0x72, 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73,
-	0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50,
-	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x71, 0x0a, 0x0c,
-	0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61,
-	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41,
-	0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x6f, 0x3a, 0x01, 0x2a, 0x12, 0x69, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e,
+	0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
 	0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73,
-	0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12,
-	0x71, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
-	0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73,
-	0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f,
-	0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69,
-	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x3a,
-	0x01, 0x2a, 0x12, 0x73, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4c,
+	0x65, 0x72, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x3a, 0x01, 0x2a, 0x12,
+	0x6c, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64,
+	0x65, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
+	0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
+	0x63, 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x7e, 0x0a,
+	0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x72,
+	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
+	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
+	0x6d, 0x70, 0x74, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61,
+	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x69,
+	0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a,
+	0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f,
+	0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f,
+	0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,
+	0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63,
+	0x72, 0x65, 0x61, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x5d, 0x0a,
+	0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12,
+	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73,
+	0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x1c,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
+	0x72, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0f,
+	0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+	0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
+	0x72, 0x2f, 0x68, 0x6f, 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6f, 0x0a, 0x1b, 0x55, 0x73, 0x65,
+	0x72, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x41,
+	0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
+	0x6d, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c,
+	0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d,
+	0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x0c, 0x46, 0x69,
+	0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74,
+	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64,
+	0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1e, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
+	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a,
+	0x06, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x1a, 0x1a,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f,
+	0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x77, 0x78, 0x2f, 0x6a, 0x73, 0x73, 0x64,
+	0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x10, 0x46,
+	0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x53, 0x65, 0x78, 0x12,
+	0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78,
+	0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
+	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x74, 0x61, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x76, 0x0a, 0x0e,
+	0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+	0x50, 0x61, 0x67, 0x65, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+	0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e,
+	0x65, 0x3a, 0x01, 0x2a, 0x12, 0x81, 0x01, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x69, 0x74,
+	0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c,
 	0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
 	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
-	0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73,
-	0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c,
-	0x69, 0x6b, 0x65, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4c,
-	0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
-	0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f,
-	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
-	0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73,
-	0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65,
-	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x22, 0x82, 0xd3,
-	0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
-	0x6e, 0x75, 0x6d, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a,
-	0x12, 0x5c, 0x0a, 0x06, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65,
-	0x71, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57,
-	0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x77, 0x78, 0x2f, 0x6a,
-	0x73, 0x73, 0x64, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x5f,
-	0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x53,
-	0x65, 0x78, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
-	0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x74, 0x61, 0x67, 0x3a, 0x01, 0x2a, 0x12,
-	0x76, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73,
-	0x74, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c,
-	0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63,
-	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
+	0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72,
+	0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+	0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x77,
+	0x69, 0x74, 0x68, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x7d, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64,
+	0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52, 0x6f, 0x6f, 0x6d,
+	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65,
+	0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f,
+	0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x7e, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43,
+	0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43,
+	0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
 	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6f, 0x6e,
-	0x6c, 0x69, 0x6e, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x81, 0x01, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64,
-	0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52, 0x6f,
-	0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55,
-	0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61,
-	0x74, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x7d, 0x0a, 0x18, 0x46,
-	0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52,
-	0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
-	0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74,
-	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68,
-	0x61, 0x74, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x6f, 0x0a, 0x1b, 0x55, 0x73,
-	0x65, 0x72, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x64,
-	0x41, 0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72,
-	0x61, 0x6d, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x4c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75,
-	0x6d, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x75, 0x73, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x5d, 0x0a, 0x0e, 0x47,
-	0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x2e,
-	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
-	0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72,
-	0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x1c, 0x82, 0xd3,
-	0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
-	0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x69, 0x0a, 0x0e, 0x47, 0x65,
-	0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67,
-	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69,
-	0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
-	0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x2f, 0x6e,
-	0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x7e, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
-	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
-	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70,
-	0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x65, 0x63, 0x6f,
-	0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
-	0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f,
-	0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f,
-	0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f,
-	0x6f, 0x6d, 0x2f, 0x6d, 0x73, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x59, 0x0a, 0x0d, 0x47, 0x65, 0x74,
-	0x55, 0x73, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61,
-	0x72, 0x61, 0x6d, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22,
-	0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x73, 0x6c, 0x69, 0x6b,
-	0x65, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69,
-	0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e,
+	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x65,
+	0x63, 0x6f, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43,
+	0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74,
+	0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74,
+	0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22,
+	0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f,
+	0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6d, 0x73, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x59, 0x0a, 0x0d, 0x47,
+	0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
+	0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x73, 0x6c,
+	0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x64, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65,
+	0x6d, 0x65, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
+	0x65, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22,
+	0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f,
+	0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x0d,
+	0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43,
+	0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61,
+	0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69,
+	0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3a, 0x01, 0x2a, 0x12, 0x66, 0x0a, 0x0a, 0x52,
+	0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x65, 0x6d, 0x65, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d,
+	0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x25, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
+	0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
+	0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x12, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x77, 0x69,
+	0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d,
+	0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69,
+	0x73, 0x74, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63,
+	0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x68, 0x0a, 0x0d, 0x46, 0x69,
+	0x6e, 0x64, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f,
+	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+	0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x24,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
+	0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x69, 0x74, 0x6c,
+	0x65, 0x3a, 0x01, 0x2a, 0x12, 0x64, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43,
+	0x68, 0x61, 0x74, 0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+	0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68,
+	0x61, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68,
+	0x61, 0x74, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x12, 0x46, 0x69,
+	0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65,
+	0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x4c,
+	0x69, 0x73, 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70,
+	0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x68, 0x61, 0x74,
+	0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x56, 0x0a, 0x08, 0x55, 0x73, 0x65,
+	0x72, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16,
+	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x0e,
+	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01,
+	0x2a, 0x12, 0x5a, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x12,
+	0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
+	0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x2f, 0x75, 0x6e, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a,
+	0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
+	0x72, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x80, 0x01, 0x0a, 0x16,
+	0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79,
+	0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64,
+	0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74,
+	0x61, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22,
+	0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x2f,
+	0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x79,
+	0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69,
+	0x70, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70,
+	0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
+	0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+	0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x6c, 0x61, 0x73, 0x74, 0x2f,
+	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x65, 0x0a, 0x10, 0x55, 0x73, 0x65,
+	0x72, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x12, 0x19, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
+	0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
+	0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3a, 0x01, 0x2a,
+	0x12, 0x65, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68,
+	0x61, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
 	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
-	0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x27, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
-	0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x66, 0x69, 0x6e,
-	0x69, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
-	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
-	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
-	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73,
-	0x65, 0x72, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a,
-	0x17, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f,
+	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x64, 0x65,
+	0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x63, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74,
+	0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65,
+	0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72,
+	0x69, 0x70, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x66, 0x0a, 0x0b,
+	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72,
+	0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
+	0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+	0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74,
+	0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6b, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x79, 0x53, 0x63,
+	0x72, 0x69, 0x70, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55,
+	0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73,
+	0x63, 0x72, 0x69, 0x70, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x01,
+	0x2a, 0x12, 0x6d, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63,
+	0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53,
+	0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72,
+	0x69, 0x70, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x3a, 0x01, 0x2a,
+	0x12, 0x77, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+	0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65,
+	0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
+	0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x72, 0x65, 0x63,
+	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x0f, 0x50, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x20, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x6f,
+	0x6f, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
+	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14,
+	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f,
+	0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x6a, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f,
+	0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x16,
+	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
+	0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x2f, 0x62, 0x61, 0x63, 0x6b,
+	0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73,
+	0x65, 0x72, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f,
+	0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x3a,
+	0x01, 0x2a, 0x12, 0x94, 0x01, 0x0a, 0x1e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72,
+	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61,
+	0x6d, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x65,
+	0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52,
+	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x14, 0x47, 0x65, 0x74,
+	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+	0x6f, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4b, 0x65, 0x79,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x69, 0x72,
+	0x63, 0x6c, 0x65, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x0c, 0x46,
+	0x69, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67,
+	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73,
+	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e,
+	0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1e,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
+	0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x73,
+	0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+	0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73,
+	0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f,
+	0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x64,
+	0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41,
+	0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+	0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
+	0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
+	0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d, 0x2f,
+	0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x69, 0x0a, 0x0e,
+	0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x16,
+	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61,
+	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17,
+	0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b,
+	0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x46,
+	0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
-	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
-	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20,
-	0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x66, 0x6f,
-	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x77, 0x61, 0x72, 0x64, 0x3a, 0x01, 0x2a,
-	0x12, 0x64, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43,
-	0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x18, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x61,
-	0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63,
-	0x61, 0x72, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x56, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69,
-	0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
-	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
-	0x70, 0x74, 0x79, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x0e, 0x2f, 0x61, 0x70,
-	0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5a,
-	0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
-	0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
-	0x2f, 0x75, 0x6e, 0x6c, 0x69, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x65, 0x0a, 0x10, 0x55, 0x6e,
-	0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x17,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73,
-	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
-	0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73,
-	0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x2f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01,
-	0x2a, 0x12, 0x46, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x75,
-	0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
-	0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x19, 0x4c, 0x6f, 0x6f,
-	0x6b, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65,
-	0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a,
-	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
-	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64,
-	0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+	0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f,
+	0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x15, 0x55, 0x73, 0x65,
+	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+	0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22,
+	0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x72,
+	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x01, 0x2a,
+	0x12, 0x71, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72,
+	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f,
 	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
-	0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69,
-	0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f,
-	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44,
-	0x0a, 0x11, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65,
-	0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67,
-	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x13, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69,
-	0x63, 0x74, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50,
-	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x0e,
-	0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73,
-	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
-	0x64, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x6d, 0x65, 0x42, 0x79, 0x54, 0x79, 0x70,
-	0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
-	0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74,
-	0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
-	0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x79,
-	0x70, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
-	0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69,
-	0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c,
-	0x69, 0x73, 0x74, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70,
-	0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69,
-	0x63, 0x3a, 0x01, 0x2a, 0x12, 0x66, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x65,
-	0x6d, 0x65, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78,
-	0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6d, 0x65,
-	0x6d, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x12,
-	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x77, 0x69, 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
-	0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x1a,
-	0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x26, 0x82, 0xd3, 0xe4,
-	0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66,
-	0x69, 0x6e, 0x64, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
-	0x3a, 0x01, 0x2a, 0x12, 0x68, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x6d, 0x65, 0x54,
-	0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69,
-	0x74, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22,
-	0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f,
-	0x6d, 0x65, 0x6d, 0x65, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x65, 0x0a,
-	0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61,
-	0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52,
-	0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
-	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x62, 0x6c, 0x61, 0x63,
-	0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x65, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65,
-	0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61,
-	0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x12, 0x46,
-	0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x54, 0x69, 0x74, 0x6c,
-	0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65,
-	0x4c, 0x69, 0x73, 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x68, 0x61,
-	0x74, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0c, 0x55, 0x73,
+	0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69,
+	0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x77, 0x61, 0x72, 0x64,
+	0x3a, 0x01, 0x2a, 0x12, 0x65, 0x0a, 0x10, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x6f,
+	0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a,
+	0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b,
+	0x2f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0c, 0x55, 0x73,
 	0x65, 0x72, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69,
 	0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72,
 	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e,
@@ -2067,137 +2103,101 @@ var file_user_proto_rawDesc = []byte{
 	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72,
 	0x2e, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x1d, 0x82,
 	0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
-	0x2f, 0x70, 0x61, 0x79, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a, 0x06,
-	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
-	0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x58, 0x0a, 0x17, 0x46, 0x69,
+	0x2f, 0x70, 0x61, 0x79, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x8e, 0x01, 0x0a,
+	0x17, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65,
+	0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75,
+	0x73, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+	0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d,
+	0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74,
+	0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x82, 0x01,
+	0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x76,
+	0x61, 0x74, 0x61, 0x72, 0x41, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x46, 0x69,
+	0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+	0x41, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6d,
+	0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a,
+	0x01, 0x2a, 0x12, 0x63, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49,
+	0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66,
+	0x6f, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+	0x75, 0x73, 0x65, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+	0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73,
+	0x65, 0x72, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
+	0x79, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65,
+	0x72, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17,
+	0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x72, 0x65, 0x65,
+	0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01, 0x2a, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x61,
+	0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71,
+	0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52,
+	0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x6d, 0x61, 0x74,
+	0x63, 0x68, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x40, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55,
+	0x73, 0x65, 0x72, 0x44, 0x42, 0x4d, 0x73, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61,
+	0x72, 0x61, 0x6d, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x45, 0x0a, 0x0e, 0x46, 0x69,
+	0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
+	0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x12, 0x57, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53,
+	0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74,
+	0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x17, 0x46, 0x69,
 	0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44,
 	0x42, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
 	0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
 	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63,
-	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
-	0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6e, 0x64,
-	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c,
-	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
-	0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75,
-	0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
-	0x6e, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76,
-	0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
-	0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
-	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65,
-	0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x75, 0x73, 0x65, 0x72, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
-	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x82, 0x01, 0x0a, 0x18, 0x46, 0x69, 0x6e,
-	0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41,
-	0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x74,
-	0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6e, 0x64, 0x4e, 0x75,
-	0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69,
-	0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x63, 0x0a,
-	0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63,
-	0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x22,
-	0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73,
-	0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a,
-	0x01, 0x2a, 0x12, 0x66, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69,
-	0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c,
-	0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73,
+	0x65, 0x72, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
+	0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52,
+	0x65, 0x64, 0x75, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50,
+	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x19,
+	0x4c, 0x6f, 0x6f, 0x6b, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x64,
+	0x75, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72,
+	0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x17, 0x43, 0x72,
+	0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x43,
+	0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16,
+	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53,
+	0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74,
+	0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65,
+	0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
+	0x79, 0x12, 0x44, 0x0a, 0x11, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65,
+	0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a,
 	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
-	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22,
-	0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70,
-	0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6b, 0x0a, 0x0b, 0x46, 0x69,
-	0x6e, 0x64, 0x4d, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72,
-	0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f,
-	0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f,
-	0x73, 0x65, 0x6c, 0x66, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4f,
-	0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
-	0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73,
-	0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x2f, 0x6f, 0x74,
-	0x68, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x77, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65,
-	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1e, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64,
-	0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x66, 0x69,
-	0x6e, 0x64, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x3a, 0x01, 0x2a, 0x12,
-	0x6c, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72,
-	0x69, 0x70, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x50, 0x65,
-	0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x82, 0xd3,
-	0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
-	0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x6a, 0x0a,
-	0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b,
-	0x42, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49,
-	0x6e, 0x66, 0x6f, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70,
-	0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f, 0x6c, 0x6f, 0x6f,
-	0x6b, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x10, 0x50, 0x65, 0x72,
-	0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1b, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63,
-	0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f,
-	0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x2f,
-	0x72, 0x65, 0x70, 0x6c, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x79, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61,
-	0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x12, 0x24, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
-	0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4,
-	0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x73,
-	0x63, 0x72, 0x69, 0x70, 0x2f, 0x6c, 0x61, 0x73, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
-	0x3a, 0x01, 0x2a, 0x12, 0x57, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73,
-	0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61,
-	0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0d,
-	0x47, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e,
-	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
-	0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74,
-	0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x82, 0xd3, 0xe4,
-	0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x63,
-	0x68, 0x61, 0x74, 0x2f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01,
-	0x2a, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x65, 0x65,
-	0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x65, 0x65, 0x4e,
-	0x75, 0x6d, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69,
-	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x75, 0x6d, 0x3a, 0x01,
-	0x2a, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61,
-	0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d,
-	0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3,
-	0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f,
-	0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x3a,
-	0x01, 0x2a, 0x12, 0x4e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
-	0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f,
-	0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
-	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
-	0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x50, 0x01,
+	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x13, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+	0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x17,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73,
+	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
+	0x41, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x64, 0x69,
+	0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50,
+	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x42, 0x3d, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x50, 0x01,
 	0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d,
 	0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 	0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65,
@@ -2243,59 +2243,59 @@ var file_user_proto_goTypes = []interface{}{
 	(*PayCallbackReply)(nil),                         // 22: api.user.PayCallbackReply
 	(*common.Message)(nil),                           // 23: api.common.Message
 	(*structpb.Value)(nil),                           // 24: google.protobuf.Value
-	(*common.UpdateInformationRequest)(nil),          // 25: api.common.UpdateInformationRequest
-	(*emptypb.Empty)(nil),                            // 26: google.protobuf.Empty
-	(*common.PersonIDParam)(nil),                     // 27: api.common.PersonIDParam
-	(*common.SendPhoneCodeRequest)(nil),              // 28: api.common.SendPhoneCodeRequest
-	(*common.CheckPhoneCodeRequest)(nil),             // 29: api.common.CheckPhoneCodeRequest
-	(*common.PartnerIDParam)(nil),                    // 30: api.common.PartnerIDParam
-	(*common.CreateChatRoomParam)(nil),               // 31: api.common.CreateChatRoomParam
-	(*common.PersonParam)(nil),                       // 32: api.common.PersonParam
-	(*common.PersonIDList)(nil),                      // 33: api.common.PersonIDList
-	(*common.ListPageRequest)(nil),                   // 34: api.common.ListPageRequest
-	(*common.WxConfReq)(nil),                         // 35: api.common.WxConfReq
-	(*common.SexReq)(nil),                            // 36: api.common.SexReq
-	(*common.ListPage2Request)(nil),                  // 37: api.common.ListPage2Request
-	(*common.FindChatRecordListRequest)(nil),         // 38: api.common.FindChatRecordListRequest
-	(*common.FindChatRoomMsgRequest)(nil),            // 39: api.common.FindChatRoomMsgRequest
-	(*common.MemeRequest)(nil),                       // 40: api.common.MemeRequest
-	(*common.FindChatTopicRequest)(nil),              // 41: api.common.FindChatTopicRequest
-	(*common.RandomNum)(nil),                         // 42: api.common.RandomNum
-	(*common.RandomNumAndSex)(nil),                   // 43: api.common.RandomNumAndSex
-	(*common.RoomIDRequest)(nil),                     // 44: api.common.RoomIDRequest
-	(*common.ReportChatRequest)(nil),                 // 45: api.common.ReportChatRequest
-	(*common.FindRecommendRequest)(nil),              // 46: api.common.FindRecommendRequest
-	(*common.FindScripRequest)(nil),                  // 47: api.common.FindScripRequest
-	(*common.UpdateLastScripIDRequest)(nil),          // 48: api.common.UpdateLastScripIDRequest
-	(*common.UpdateLastScripIDDBRequest)(nil),        // 49: api.common.UpdateLastScripIDDBRequest
-	(*common.PersonMsg)(nil),                         // 50: api.common.PersonMsg
-	(*chat.CheckUserPartnerIsRelationshipReply)(nil), // 51: api.chat.CheckUserPartnerIsRelationshipReply
-	(*chat.RoomReply)(nil),                           // 52: api.chat.RoomReply
-	(*common.AddFriendMessageInfo)(nil),              // 53: api.common.AddFriendMessageInfo
-	(*common.HomeInfo)(nil),                          // 54: api.common.HomeInfo
-	(*common.PersonDBReply)(nil),                     // 55: api.common.PersonDBReply
-	(*statistics.LookAndLikeListReply)(nil),          // 56: api.statistics.LookAndLikeListReply
-	(*statistics.LookAndLikeMessageReply)(nil),       // 57: api.statistics.LookAndLikeMessageReply
-	(*common.WxConfResponse)(nil),                    // 58: api.common.WxConfResponse
-	(*common.TagListReply)(nil),                      // 59: api.common.TagListReply
-	(*common.RecommendPersonListReply)(nil),          // 60: api.common.RecommendPersonListReply
-	(*common.LookedAndLikedNum)(nil),                 // 61: api.common.LookedAndLikedNum
-	(*statistics.LookMessageReply)(nil),              // 62: api.statistics.LookMessageReply
-	(*common.ChatRecordListReply)(nil),               // 63: api.common.ChatRecordListReply
-	(*common.ChatRoomMsg)(nil),                       // 64: api.common.ChatRoomMsg
-	(*common.IsLike)(nil),                            // 65: api.common.IsLike
-	(*common.ChatCardInfo)(nil),                      // 66: api.common.ChatCardInfo
-	(*common.MemeList)(nil),                          // 67: api.common.MemeList
-	(*common.ChatTopicList)(nil),                     // 68: api.common.ChatTopicList
-	(*common.CommonTextList)(nil),                    // 69: api.common.CommonTextList
-	(*common.MemeTitleList)(nil),                     // 70: api.common.MemeTitleList
-	(*common.FindOverSevenDayAvatarReply)(nil),       // 71: api.common.FindOverSevenDayAvatarReply
-	(*common.ScripID)(nil),                           // 72: api.common.ScripID
-	(*common.ScripReply)(nil),                        // 73: api.common.ScripReply
-	(*common.ScripInfo)(nil),                         // 74: api.common.ScripInfo
-	(*common.ChatRecordInfo)(nil),                    // 75: api.common.ChatRecordInfo
-	(*chat.WindowInfo)(nil),                          // 76: api.chat.WindowInfo
-	(*chat.GetRandomMatchingReply)(nil),              // 77: api.chat.GetRandomMatchingReply
+	(*emptypb.Empty)(nil),                            // 25: google.protobuf.Empty
+	(*common.SendPhoneCodeRequest)(nil),              // 26: api.common.SendPhoneCodeRequest
+	(*common.CheckPhoneCodeRequest)(nil),             // 27: api.common.CheckPhoneCodeRequest
+	(*common.UpdateInformationRequest)(nil),          // 28: api.common.UpdateInformationRequest
+	(*common.CreateChatRoomParam)(nil),               // 29: api.common.CreateChatRoomParam
+	(*common.PersonParam)(nil),                       // 30: api.common.PersonParam
+	(*common.ListPageRequest)(nil),                   // 31: api.common.ListPageRequest
+	(*common.WxConfReq)(nil),                         // 32: api.common.WxConfReq
+	(*common.SexReq)(nil),                            // 33: api.common.SexReq
+	(*common.ListPage2Request)(nil),                  // 34: api.common.ListPage2Request
+	(*common.FindChatRecordListRequest)(nil),         // 35: api.common.FindChatRecordListRequest
+	(*common.FindChatRoomMsgRequest)(nil),            // 36: api.common.FindChatRoomMsgRequest
+	(*common.MemeRequest)(nil),                       // 37: api.common.MemeRequest
+	(*common.FindChatTopicRequest)(nil),              // 38: api.common.FindChatTopicRequest
+	(*common.RandomNum)(nil),                         // 39: api.common.RandomNum
+	(*common.RandomNumAndSex)(nil),                   // 40: api.common.RandomNumAndSex
+	(*common.ReportChatRequest)(nil),                 // 41: api.common.ReportChatRequest
+	(*common.UpdateLastScripIDRequest)(nil),          // 42: api.common.UpdateLastScripIDRequest
+	(*common.RoomIDRequest)(nil),                     // 43: api.common.RoomIDRequest
+	(*common.FindScripRequest)(nil),                  // 44: api.common.FindScripRequest
+	(*common.PartnerIDParam)(nil),                    // 45: api.common.PartnerIDParam
+	(*common.PersonIDParam)(nil),                     // 46: api.common.PersonIDParam
+	(*common.PersonIDList)(nil),                      // 47: api.common.PersonIDList
+	(*common.UpdateLastScripIDDBRequest)(nil),        // 48: api.common.UpdateLastScripIDDBRequest
+	(*common.FindRecommendRequest)(nil),              // 49: api.common.FindRecommendRequest
+	(*chat.RoomReply)(nil),                           // 50: api.chat.RoomReply
+	(*common.HomeInfo)(nil),                          // 51: api.common.HomeInfo
+	(*common.LookedAndLikedNum)(nil),                 // 52: api.common.LookedAndLikedNum
+	(*statistics.LookAndLikeListReply)(nil),          // 53: api.statistics.LookAndLikeListReply
+	(*common.WxConfResponse)(nil),                    // 54: api.common.WxConfResponse
+	(*common.TagListReply)(nil),                      // 55: api.common.TagListReply
+	(*common.RecommendPersonListReply)(nil),          // 56: api.common.RecommendPersonListReply
+	(*common.ChatRecordListReply)(nil),               // 57: api.common.ChatRecordListReply
+	(*common.ChatRoomMsg)(nil),                       // 58: api.common.ChatRoomMsg
+	(*common.IsLike)(nil),                            // 59: api.common.IsLike
+	(*common.MemeList)(nil),                          // 60: api.common.MemeList
+	(*common.ChatTopicList)(nil),                     // 61: api.common.ChatTopicList
+	(*common.CommonTextList)(nil),                    // 62: api.common.CommonTextList
+	(*common.MemeTitleList)(nil),                     // 63: api.common.MemeTitleList
+	(*common.ChatCardInfo)(nil),                      // 64: api.common.ChatCardInfo
+	(*common.FindOverSevenDayAvatarReply)(nil),       // 65: api.common.FindOverSevenDayAvatarReply
+	(*common.ScripID)(nil),                           // 66: api.common.ScripID
+	(*common.ScripReply)(nil),                        // 67: api.common.ScripReply
+	(*common.ScripInfo)(nil),                         // 68: api.common.ScripInfo
+	(*common.ChatRecordInfo)(nil),                    // 69: api.common.ChatRecordInfo
+	(*chat.CheckUserPartnerIsRelationshipReply)(nil), // 70: api.chat.CheckUserPartnerIsRelationshipReply
+	(*common.AddFriendMessageInfo)(nil),              // 71: api.common.AddFriendMessageInfo
+	(*statistics.LookAndLikeMessageReply)(nil),       // 72: api.statistics.LookAndLikeMessageReply
+	(*statistics.LookMessageReply)(nil),              // 73: api.statistics.LookMessageReply
+	(*chat.WindowInfo)(nil),                          // 74: api.chat.WindowInfo
+	(*chat.GetRandomMatchingReply)(nil),              // 75: api.chat.GetRandomMatchingReply
+	(*common.PersonMsg)(nil),                         // 76: api.common.PersonMsg
+	(*common.PersonDBReply)(nil),                     // 77: api.common.PersonDBReply
 }
 var file_user_proto_depIdxs = []int32{
 	23, // 0: api.user.ReplyScripRequest.message:type_name -> api.common.Message
@@ -2303,144 +2303,144 @@ var file_user_proto_depIdxs = []int32{
 	14, // 2: api.user.UserFindChatListReply.list:type_name -> api.user.UserChatInfo
 	24, // 3: api.user.PayInfo.payInfo:type_name -> google.protobuf.Value
 	19, // 4: api.user.PayOrderList.list:type_name -> api.user.PayOrderInfo
-	25, // 5: api.user.User.UpdateUserInformation:input_type -> api.common.UpdateInformationRequest
-	26, // 6: api.user.User.GetUserInfo:input_type -> google.protobuf.Empty
-	27, // 7: api.user.User.GetUserDBMsg:input_type -> api.common.PersonIDParam
-	28, // 8: api.user.User.SendPhoneCode:input_type -> api.common.SendPhoneCodeRequest
-	29, // 9: api.user.User.CheckPhoneCode:input_type -> api.common.CheckPhoneCodeRequest
-	30, // 10: api.user.User.CheckUserPartnerIsRelationship:input_type -> api.common.PartnerIDParam
-	31, // 11: api.user.User.CreateUserPersonRoom:input_type -> api.common.CreateChatRoomParam
-	16, // 12: api.user.User.GetPartnerCircleInfo:input_type -> api.user.KeyRequest
-	32, // 13: api.user.User.UserGetHomeInfo:input_type -> api.common.PersonParam
-	33, // 14: api.user.User.FindUserDBList:input_type -> api.common.PersonIDList
-	34, // 15: api.user.User.FindLookList:input_type -> api.common.ListPageRequest
-	34, // 16: api.user.User.FindLikeList:input_type -> api.common.ListPageRequest
-	34, // 17: api.user.User.FindLikedList:input_type -> api.common.ListPageRequest
-	26, // 18: api.user.User.GetLookAndLikeStatisticsMessage:input_type -> google.protobuf.Empty
-	35, // 19: api.user.User.WxConf:input_type -> api.common.WxConfReq
-	36, // 20: api.user.User.FindTagListBySex:input_type -> api.common.SexReq
-	37, // 21: api.user.User.FindOnlineList:input_type -> api.common.ListPage2Request
-	34, // 22: api.user.User.FindWithinSevenDayRoomList:input_type -> api.common.ListPageRequest
-	34, // 23: api.user.User.FindOverSevenDayRoomList:input_type -> api.common.ListPageRequest
-	32, // 24: api.user.User.UserGetPersonLikedAndLooked:input_type -> api.common.PersonParam
-	26, // 25: api.user.User.GetUserBalance:input_type -> google.protobuf.Empty
-	26, // 26: api.user.User.GetUserLookNum:input_type -> google.protobuf.Empty
-	38, // 27: api.user.User.FindChatRecordList:input_type -> api.common.FindChatRecordListRequest
-	39, // 28: api.user.User.FindChatRoomMsg:input_type -> api.common.FindChatRoomMsgRequest
-	32, // 29: api.user.User.GetUserIsLike:input_type -> api.common.PersonParam
-	26, // 30: api.user.User.UserFinishInformation:input_type -> google.protobuf.Empty
-	26, // 31: api.user.User.UserInformationStatus:input_type -> google.protobuf.Empty
-	26, // 32: api.user.User.UserGetInformationAward:input_type -> google.protobuf.Empty
-	32, // 33: api.user.User.UserGetChatCard:input_type -> api.common.PersonParam
-	32, // 34: api.user.User.UserLike:input_type -> api.common.PersonParam
-	32, // 35: api.user.User.UserUnLike:input_type -> api.common.PersonParam
-	32, // 36: api.user.User.UnlockLookRecord:input_type -> api.common.PersonParam
-	32, // 37: api.user.User.SendMsgReduceCredit:input_type -> api.common.PersonParam
-	32, // 38: api.user.User.LookBackScripReduceCredit:input_type -> api.common.PersonParam
-	32, // 39: api.user.User.CreateScripReduceCredit:input_type -> api.common.PersonParam
-	32, // 40: api.user.User.ReplyScripReduceCredit:input_type -> api.common.PersonParam
-	32, // 41: api.user.User.UnlockVoiceCredit:input_type -> api.common.PersonParam
-	32, // 42: api.user.User.UnlockPictureCredit:input_type -> api.common.PersonParam
-	32, // 43: api.user.User.MatchingCredit:input_type -> api.common.PersonParam
-	40, // 44: api.user.User.FindMemeByType:input_type -> api.common.MemeRequest
-	41, // 45: api.user.User.FindChatTopic:input_type -> api.common.FindChatTopicRequest
-	42, // 46: api.user.User.RandomMeme:input_type -> api.common.RandomNum
-	43, // 47: api.user.User.RandomSwiftMessage:input_type -> api.common.RandomNumAndSex
-	26, // 48: api.user.User.FindMemeTitle:input_type -> google.protobuf.Empty
-	44, // 49: api.user.User.UserSetBlackChat:input_type -> api.common.RoomIDRequest
-	44, // 50: api.user.User.UserDeleteChat:input_type -> api.common.RoomIDRequest
-	26, // 51: api.user.User.FindChatTopicTitle:input_type -> google.protobuf.Empty
-	8,  // 52: api.user.User.UserRecharge:input_type -> api.user.UserRechargeRequest
-	26, // 53: api.user.User.FindRechargeList:input_type -> google.protobuf.Empty
-	21, // 54: api.user.User.FindPayList:input_type -> api.user.FindPayOrderListRequest
-	45, // 55: api.user.User.Report:input_type -> api.common.ReportChatRequest
-	46, // 56: api.user.User.FindRecommendUserDBList:input_type -> api.common.FindRecommendRequest
+	25, // 5: api.user.User.GetUserInfo:input_type -> google.protobuf.Empty
+	26, // 6: api.user.User.SendPhoneCode:input_type -> api.common.SendPhoneCodeRequest
+	27, // 7: api.user.User.CheckPhoneCode:input_type -> api.common.CheckPhoneCodeRequest
+	28, // 8: api.user.User.UpdateUserInformation:input_type -> api.common.UpdateInformationRequest
+	29, // 9: api.user.User.CreateUserPersonRoom:input_type -> api.common.CreateChatRoomParam
+	25, // 10: api.user.User.GetUserBalance:input_type -> google.protobuf.Empty
+	30, // 11: api.user.User.UserGetHomeInfo:input_type -> api.common.PersonParam
+	30, // 12: api.user.User.UserGetPersonLikedAndLooked:input_type -> api.common.PersonParam
+	31, // 13: api.user.User.FindLookList:input_type -> api.common.ListPageRequest
+	32, // 14: api.user.User.WxConf:input_type -> api.common.WxConfReq
+	33, // 15: api.user.User.FindTagListBySex:input_type -> api.common.SexReq
+	34, // 16: api.user.User.FindOnlineList:input_type -> api.common.ListPage2Request
+	31, // 17: api.user.User.FindWithinSevenDayRoomList:input_type -> api.common.ListPageRequest
+	31, // 18: api.user.User.FindOverSevenDayRoomList:input_type -> api.common.ListPageRequest
+	35, // 19: api.user.User.FindChatRecordList:input_type -> api.common.FindChatRecordListRequest
+	36, // 20: api.user.User.FindChatRoomMsg:input_type -> api.common.FindChatRoomMsgRequest
+	30, // 21: api.user.User.GetUserIsLike:input_type -> api.common.PersonParam
+	37, // 22: api.user.User.FindMemeByType:input_type -> api.common.MemeRequest
+	38, // 23: api.user.User.FindChatTopic:input_type -> api.common.FindChatTopicRequest
+	39, // 24: api.user.User.RandomMeme:input_type -> api.common.RandomNum
+	40, // 25: api.user.User.RandomSwiftMessage:input_type -> api.common.RandomNumAndSex
+	25, // 26: api.user.User.FindMemeTitle:input_type -> google.protobuf.Empty
+	30, // 27: api.user.User.UserGetChatCard:input_type -> api.common.PersonParam
+	25, // 28: api.user.User.FindChatTopicTitle:input_type -> google.protobuf.Empty
+	30, // 29: api.user.User.UserLike:input_type -> api.common.PersonParam
+	30, // 30: api.user.User.UserUnLike:input_type -> api.common.PersonParam
+	41, // 31: api.user.User.Report:input_type -> api.common.ReportChatRequest
+	25, // 32: api.user.User.FindOverSevenDayAvatar:input_type -> google.protobuf.Empty
+	42, // 33: api.user.User.UpdateLastScripID:input_type -> api.common.UpdateLastScripIDRequest
+	43, // 34: api.user.User.UserSetBlackChat:input_type -> api.common.RoomIDRequest
+	43, // 35: api.user.User.UserDeleteChat:input_type -> api.common.RoomIDRequest
+	5,  // 36: api.user.User.CreateScrip:input_type -> api.user.CreateScripRequest
+	4,  // 37: api.user.User.DeleteScrip:input_type -> api.user.DeleteScripRequest
+	3,  // 38: api.user.User.FindMyScrip:input_type -> api.user.UserFindScripRequest
+	44, // 39: api.user.User.FindOtherScrip:input_type -> api.common.FindScripRequest
+	3,  // 40: api.user.User.FindRecommendScrip:input_type -> api.user.UserFindScripRequest
+	2,  // 41: api.user.User.PersonLookScrip:input_type -> api.user.PersonLookScripRequest
+	25, // 42: api.user.User.PersonClickLookBack:input_type -> google.protobuf.Empty
+	1,  // 43: api.user.User.PersonReplyScrip:input_type -> api.user.ReplyScripRequest
+	45, // 44: api.user.User.CheckUserPartnerIsRelationship:input_type -> api.common.PartnerIDParam
+	16, // 45: api.user.User.GetPartnerCircleInfo:input_type -> api.user.KeyRequest
+	31, // 46: api.user.User.FindLikeList:input_type -> api.common.ListPageRequest
+	31, // 47: api.user.User.FindLikedList:input_type -> api.common.ListPageRequest
+	25, // 48: api.user.User.GetLookAndLikeStatisticsMessage:input_type -> google.protobuf.Empty
+	25, // 49: api.user.User.GetUserLookNum:input_type -> google.protobuf.Empty
+	25, // 50: api.user.User.UserFinishInformation:input_type -> google.protobuf.Empty
+	25, // 51: api.user.User.UserInformationStatus:input_type -> google.protobuf.Empty
+	25, // 52: api.user.User.UserGetInformationAward:input_type -> google.protobuf.Empty
+	30, // 53: api.user.User.UnlockLookRecord:input_type -> api.common.PersonParam
+	8,  // 54: api.user.User.UserRecharge:input_type -> api.user.UserRechargeRequest
+	25, // 55: api.user.User.FindRechargeList:input_type -> google.protobuf.Empty
+	21, // 56: api.user.User.FindPayList:input_type -> api.user.FindPayOrderListRequest
 	7,  // 57: api.user.User.FindRecommendPersonList:input_type -> api.user.FindRecommendPersonListRequest
-	26, // 58: api.user.User.FindOverSevenDayAvatar:input_type -> google.protobuf.Empty
-	26, // 59: api.user.User.FindMatchingAvatarAndNum:input_type -> google.protobuf.Empty
-	5,  // 60: api.user.User.CreateScrip:input_type -> api.user.CreateScripRequest
-	4,  // 61: api.user.User.DeleteScrip:input_type -> api.user.DeleteScripRequest
-	3,  // 62: api.user.User.FindMyScrip:input_type -> api.user.UserFindScripRequest
-	47, // 63: api.user.User.FindOtherScrip:input_type -> api.common.FindScripRequest
-	3,  // 64: api.user.User.FindRecommendScrip:input_type -> api.user.UserFindScripRequest
-	2,  // 65: api.user.User.PersonLookScrip:input_type -> api.user.PersonLookScripRequest
-	26, // 66: api.user.User.PersonClickLookBack:input_type -> google.protobuf.Empty
-	1,  // 67: api.user.User.PersonReplyScrip:input_type -> api.user.ReplyScripRequest
-	48, // 68: api.user.User.UpdateLastScripID:input_type -> api.common.UpdateLastScripIDRequest
-	49, // 69: api.user.User.UpdateLastScripIDDB:input_type -> api.common.UpdateLastScripIDDBRequest
-	26, // 70: api.user.User.GetWindowInfo:input_type -> google.protobuf.Empty
-	26, // 71: api.user.User.GetUserFreeNum:input_type -> google.protobuf.Empty
-	36, // 72: api.user.User.GetRandomMatching:input_type -> api.common.SexReq
-	27, // 73: api.user.User.UpdateUserLastLoginTime:input_type -> api.common.PersonIDParam
-	26, // 74: api.user.User.UpdateUserInformation:output_type -> google.protobuf.Empty
-	15, // 75: api.user.User.GetUserInfo:output_type -> api.user.UserInfo
-	50, // 76: api.user.User.GetUserDBMsg:output_type -> api.common.PersonMsg
-	26, // 77: api.user.User.SendPhoneCode:output_type -> google.protobuf.Empty
-	26, // 78: api.user.User.CheckPhoneCode:output_type -> google.protobuf.Empty
-	51, // 79: api.user.User.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply
-	52, // 80: api.user.User.CreateUserPersonRoom:output_type -> api.chat.RoomReply
-	53, // 81: api.user.User.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
-	54, // 82: api.user.User.UserGetHomeInfo:output_type -> api.common.HomeInfo
-	55, // 83: api.user.User.FindUserDBList:output_type -> api.common.PersonDBReply
-	56, // 84: api.user.User.FindLookList:output_type -> api.statistics.LookAndLikeListReply
-	56, // 85: api.user.User.FindLikeList:output_type -> api.statistics.LookAndLikeListReply
-	56, // 86: api.user.User.FindLikedList:output_type -> api.statistics.LookAndLikeListReply
-	57, // 87: api.user.User.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply
-	58, // 88: api.user.User.WxConf:output_type -> api.common.WxConfResponse
-	59, // 89: api.user.User.FindTagListBySex:output_type -> api.common.TagListReply
-	60, // 90: api.user.User.FindOnlineList:output_type -> api.common.RecommendPersonListReply
-	13, // 91: api.user.User.FindWithinSevenDayRoomList:output_type -> api.user.UserFindChatListReply
-	13, // 92: api.user.User.FindOverSevenDayRoomList:output_type -> api.user.UserFindChatListReply
-	61, // 93: api.user.User.UserGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
-	12, // 94: api.user.User.GetUserBalance:output_type -> api.user.UserBalance
-	62, // 95: api.user.User.GetUserLookNum:output_type -> api.statistics.LookMessageReply
-	63, // 96: api.user.User.FindChatRecordList:output_type -> api.common.ChatRecordListReply
-	64, // 97: api.user.User.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
-	65, // 98: api.user.User.GetUserIsLike:output_type -> api.common.IsLike
-	26, // 99: api.user.User.UserFinishInformation:output_type -> google.protobuf.Empty
-	11, // 100: api.user.User.UserInformationStatus:output_type -> api.user.InformationStatus
-	26, // 101: api.user.User.UserGetInformationAward:output_type -> google.protobuf.Empty
-	66, // 102: api.user.User.UserGetChatCard:output_type -> api.common.ChatCardInfo
-	26, // 103: api.user.User.UserLike:output_type -> google.protobuf.Empty
-	26, // 104: api.user.User.UserUnLike:output_type -> google.protobuf.Empty
-	26, // 105: api.user.User.UnlockLookRecord:output_type -> google.protobuf.Empty
-	26, // 106: api.user.User.SendMsgReduceCredit:output_type -> google.protobuf.Empty
-	26, // 107: api.user.User.LookBackScripReduceCredit:output_type -> google.protobuf.Empty
-	26, // 108: api.user.User.CreateScripReduceCredit:output_type -> google.protobuf.Empty
-	26, // 109: api.user.User.ReplyScripReduceCredit:output_type -> google.protobuf.Empty
-	26, // 110: api.user.User.UnlockVoiceCredit:output_type -> google.protobuf.Empty
-	26, // 111: api.user.User.UnlockPictureCredit:output_type -> google.protobuf.Empty
-	26, // 112: api.user.User.MatchingCredit:output_type -> google.protobuf.Empty
-	67, // 113: api.user.User.FindMemeByType:output_type -> api.common.MemeList
-	68, // 114: api.user.User.FindChatTopic:output_type -> api.common.ChatTopicList
-	69, // 115: api.user.User.RandomMeme:output_type -> api.common.CommonTextList
-	69, // 116: api.user.User.RandomSwiftMessage:output_type -> api.common.CommonTextList
-	70, // 117: api.user.User.FindMemeTitle:output_type -> api.common.MemeTitleList
-	26, // 118: api.user.User.UserSetBlackChat:output_type -> google.protobuf.Empty
-	26, // 119: api.user.User.UserDeleteChat:output_type -> google.protobuf.Empty
-	70, // 120: api.user.User.FindChatTopicTitle:output_type -> api.common.MemeTitleList
-	18, // 121: api.user.User.UserRecharge:output_type -> api.user.PayInfo
-	9,  // 122: api.user.User.FindRechargeList:output_type -> api.user.RechargeList
-	20, // 123: api.user.User.FindPayList:output_type -> api.user.PayOrderList
-	26, // 124: api.user.User.Report:output_type -> google.protobuf.Empty
-	55, // 125: api.user.User.FindRecommendUserDBList:output_type -> api.common.PersonDBReply
-	60, // 126: api.user.User.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply
-	71, // 127: api.user.User.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
-	6,  // 128: api.user.User.FindMatchingAvatarAndNum:output_type -> api.user.FindMatchingAvatarAndNumReply
-	72, // 129: api.user.User.CreateScrip:output_type -> api.common.ScripID
-	26, // 130: api.user.User.DeleteScrip:output_type -> google.protobuf.Empty
-	73, // 131: api.user.User.FindMyScrip:output_type -> api.common.ScripReply
-	73, // 132: api.user.User.FindOtherScrip:output_type -> api.common.ScripReply
-	73, // 133: api.user.User.FindRecommendScrip:output_type -> api.common.ScripReply
-	26, // 134: api.user.User.PersonLookScrip:output_type -> google.protobuf.Empty
-	74, // 135: api.user.User.PersonClickLookBack:output_type -> api.common.ScripInfo
-	75, // 136: api.user.User.PersonReplyScrip:output_type -> api.common.ChatRecordInfo
-	26, // 137: api.user.User.UpdateLastScripID:output_type -> google.protobuf.Empty
-	26, // 138: api.user.User.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
-	76, // 139: api.user.User.GetWindowInfo:output_type -> api.chat.WindowInfo
-	0,  // 140: api.user.User.GetUserFreeNum:output_type -> api.user.UserFreeNum
-	77, // 141: api.user.User.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply
-	26, // 142: api.user.User.UpdateUserLastLoginTime:output_type -> google.protobuf.Empty
+	25, // 58: api.user.User.FindMatchingAvatarAndNum:input_type -> google.protobuf.Empty
+	25, // 59: api.user.User.GetWindowInfo:input_type -> google.protobuf.Empty
+	25, // 60: api.user.User.GetUserFreeNum:input_type -> google.protobuf.Empty
+	33, // 61: api.user.User.GetRandomMatching:input_type -> api.common.SexReq
+	46, // 62: api.user.User.GetUserDBMsg:input_type -> api.common.PersonIDParam
+	47, // 63: api.user.User.FindUserDBList:input_type -> api.common.PersonIDList
+	48, // 64: api.user.User.UpdateLastScripIDDB:input_type -> api.common.UpdateLastScripIDDBRequest
+	49, // 65: api.user.User.FindRecommendUserDBList:input_type -> api.common.FindRecommendRequest
+	46, // 66: api.user.User.UpdateUserLastLoginTime:input_type -> api.common.PersonIDParam
+	30, // 67: api.user.User.SendMsgReduceCredit:input_type -> api.common.PersonParam
+	30, // 68: api.user.User.LookBackScripReduceCredit:input_type -> api.common.PersonParam
+	30, // 69: api.user.User.CreateScripReduceCredit:input_type -> api.common.PersonParam
+	30, // 70: api.user.User.ReplyScripReduceCredit:input_type -> api.common.PersonParam
+	30, // 71: api.user.User.UnlockVoiceCredit:input_type -> api.common.PersonParam
+	30, // 72: api.user.User.UnlockPictureCredit:input_type -> api.common.PersonParam
+	30, // 73: api.user.User.MatchingCredit:input_type -> api.common.PersonParam
+	15, // 74: api.user.User.GetUserInfo:output_type -> api.user.UserInfo
+	25, // 75: api.user.User.SendPhoneCode:output_type -> google.protobuf.Empty
+	25, // 76: api.user.User.CheckPhoneCode:output_type -> google.protobuf.Empty
+	25, // 77: api.user.User.UpdateUserInformation:output_type -> google.protobuf.Empty
+	50, // 78: api.user.User.CreateUserPersonRoom:output_type -> api.chat.RoomReply
+	12, // 79: api.user.User.GetUserBalance:output_type -> api.user.UserBalance
+	51, // 80: api.user.User.UserGetHomeInfo:output_type -> api.common.HomeInfo
+	52, // 81: api.user.User.UserGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
+	53, // 82: api.user.User.FindLookList:output_type -> api.statistics.LookAndLikeListReply
+	54, // 83: api.user.User.WxConf:output_type -> api.common.WxConfResponse
+	55, // 84: api.user.User.FindTagListBySex:output_type -> api.common.TagListReply
+	56, // 85: api.user.User.FindOnlineList:output_type -> api.common.RecommendPersonListReply
+	13, // 86: api.user.User.FindWithinSevenDayRoomList:output_type -> api.user.UserFindChatListReply
+	13, // 87: api.user.User.FindOverSevenDayRoomList:output_type -> api.user.UserFindChatListReply
+	57, // 88: api.user.User.FindChatRecordList:output_type -> api.common.ChatRecordListReply
+	58, // 89: api.user.User.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
+	59, // 90: api.user.User.GetUserIsLike:output_type -> api.common.IsLike
+	60, // 91: api.user.User.FindMemeByType:output_type -> api.common.MemeList
+	61, // 92: api.user.User.FindChatTopic:output_type -> api.common.ChatTopicList
+	62, // 93: api.user.User.RandomMeme:output_type -> api.common.CommonTextList
+	62, // 94: api.user.User.RandomSwiftMessage:output_type -> api.common.CommonTextList
+	63, // 95: api.user.User.FindMemeTitle:output_type -> api.common.MemeTitleList
+	64, // 96: api.user.User.UserGetChatCard:output_type -> api.common.ChatCardInfo
+	63, // 97: api.user.User.FindChatTopicTitle:output_type -> api.common.MemeTitleList
+	25, // 98: api.user.User.UserLike:output_type -> google.protobuf.Empty
+	25, // 99: api.user.User.UserUnLike:output_type -> google.protobuf.Empty
+	25, // 100: api.user.User.Report:output_type -> google.protobuf.Empty
+	65, // 101: api.user.User.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
+	25, // 102: api.user.User.UpdateLastScripID:output_type -> google.protobuf.Empty
+	25, // 103: api.user.User.UserSetBlackChat:output_type -> google.protobuf.Empty
+	25, // 104: api.user.User.UserDeleteChat:output_type -> google.protobuf.Empty
+	66, // 105: api.user.User.CreateScrip:output_type -> api.common.ScripID
+	25, // 106: api.user.User.DeleteScrip:output_type -> google.protobuf.Empty
+	67, // 107: api.user.User.FindMyScrip:output_type -> api.common.ScripReply
+	67, // 108: api.user.User.FindOtherScrip:output_type -> api.common.ScripReply
+	67, // 109: api.user.User.FindRecommendScrip:output_type -> api.common.ScripReply
+	25, // 110: api.user.User.PersonLookScrip:output_type -> google.protobuf.Empty
+	68, // 111: api.user.User.PersonClickLookBack:output_type -> api.common.ScripInfo
+	69, // 112: api.user.User.PersonReplyScrip:output_type -> api.common.ChatRecordInfo
+	70, // 113: api.user.User.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply
+	71, // 114: api.user.User.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
+	53, // 115: api.user.User.FindLikeList:output_type -> api.statistics.LookAndLikeListReply
+	53, // 116: api.user.User.FindLikedList:output_type -> api.statistics.LookAndLikeListReply
+	72, // 117: api.user.User.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply
+	73, // 118: api.user.User.GetUserLookNum:output_type -> api.statistics.LookMessageReply
+	25, // 119: api.user.User.UserFinishInformation:output_type -> google.protobuf.Empty
+	11, // 120: api.user.User.UserInformationStatus:output_type -> api.user.InformationStatus
+	25, // 121: api.user.User.UserGetInformationAward:output_type -> google.protobuf.Empty
+	25, // 122: api.user.User.UnlockLookRecord:output_type -> google.protobuf.Empty
+	18, // 123: api.user.User.UserRecharge:output_type -> api.user.PayInfo
+	9,  // 124: api.user.User.FindRechargeList:output_type -> api.user.RechargeList
+	20, // 125: api.user.User.FindPayList:output_type -> api.user.PayOrderList
+	56, // 126: api.user.User.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply
+	6,  // 127: api.user.User.FindMatchingAvatarAndNum:output_type -> api.user.FindMatchingAvatarAndNumReply
+	74, // 128: api.user.User.GetWindowInfo:output_type -> api.chat.WindowInfo
+	0,  // 129: api.user.User.GetUserFreeNum:output_type -> api.user.UserFreeNum
+	75, // 130: api.user.User.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply
+	76, // 131: api.user.User.GetUserDBMsg:output_type -> api.common.PersonMsg
+	77, // 132: api.user.User.FindUserDBList:output_type -> api.common.PersonDBReply
+	25, // 133: api.user.User.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
+	77, // 134: api.user.User.FindRecommendUserDBList:output_type -> api.common.PersonDBReply
+	25, // 135: api.user.User.UpdateUserLastLoginTime:output_type -> google.protobuf.Empty
+	25, // 136: api.user.User.SendMsgReduceCredit:output_type -> google.protobuf.Empty
+	25, // 137: api.user.User.LookBackScripReduceCredit:output_type -> google.protobuf.Empty
+	25, // 138: api.user.User.CreateScripReduceCredit:output_type -> google.protobuf.Empty
+	25, // 139: api.user.User.ReplyScripReduceCredit:output_type -> google.protobuf.Empty
+	25, // 140: api.user.User.UnlockVoiceCredit:output_type -> google.protobuf.Empty
+	25, // 141: api.user.User.UnlockPictureCredit:output_type -> google.protobuf.Empty
+	25, // 142: api.user.User.MatchingCredit:output_type -> google.protobuf.Empty
 	74, // [74:143] is the sub-list for method output_type
 	5,  // [5:74] is the sub-list for method input_type
 	5,  // [5:5] is the sub-list for extension type_name

+ 180 - 173
api/user/user.proto

@@ -15,407 +15,389 @@ option java_multiple_files = true;
 option java_package = "api.user";
 
 service User {
-  // 更新用户信息
-  rpc UpdateUserInformation (common.UpdateInformationRequest) returns (google.protobuf.Empty){
-    option (google.api.http) = {
-      post: "/api/user/update/information",
-      body:"*"
-    };
-  };
-  // 获取用户详情
+  // 1、获取用户详情
   rpc GetUserInfo (google.protobuf.Empty) returns (UserInfo){
     option (google.api.http) = {
       post: "/api/user/info",
       body:"*"
     };
   };
-  // 获取用户详情
-  rpc GetUserDBMsg (common.PersonIDParam) returns (common.PersonMsg);
-  // 用户发送验证码
+  // 2、用户发送验证码
   rpc SendPhoneCode (common.SendPhoneCodeRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/user/code/send",
       body:"*"
     };
   };
-  // 用户验证验证码
+  // 3、用户验证验证码
   rpc CheckPhoneCode (common.CheckPhoneCodeRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/user/code/check",
       body:"*"
     };
   };
-  // 检查用户是否与接待员关联
-  rpc CheckUserPartnerIsRelationship (common.PartnerIDParam) returns (chat.CheckUserPartnerIsRelationshipReply){
+  // 4、更新用户信息
+  rpc UpdateUserInformation (common.UpdateInformationRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/check/relationship",
+      post: "/api/user/update/information",
       body:"*"
     };
   };
-  // 创建用户与接待员的关联
+  // 5、创建用户与接待员的关联
   rpc CreateUserPersonRoom (common.CreateChatRoomParam) returns (chat.RoomReply){
     option (google.api.http) = {
       post: "/api/user/create/room",
       body:"*"
     };
   };
-  // 获取接待员的确认通过页面信息
-  rpc GetPartnerCircleInfo (KeyRequest) returns (common.AddFriendMessageInfo){
+  // 6、获取用户的金额信息
+  rpc GetUserBalance (google.protobuf.Empty) returns (UserBalance){
     option (google.api.http) = {
-      post: "/api/user/circle/info",
+      post: "/api/user/balance",
       body:"*"
     };
   };
-  // 用户获取主页信息
+  // 7、用户获取ta的主页信息
   rpc UserGetHomeInfo (common.PersonParam) returns (common.HomeInfo){
     option (google.api.http) = {
       post: "/api/user/home",
       body:"*"
     };
   };
-  // 通过用户IDs查看用户信息列表
-  rpc FindUserDBList (common.PersonIDList) returns (common.PersonDBReply);
-  // 查看看过我的列表
-  rpc FindLookList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
-    option (google.api.http) = {
-      post: "/api/user/list/look",
-      body:"*"
-    };
-  };
-  // 查看我喜欢的列表
-  rpc FindLikeList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
-    option (google.api.http) = {
-      post: "/api/user/list/like",
-      body:"*"
-    };
-  };
-  // 查看喜欢我的列表
-  rpc FindLikedList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
+  // 8、用户获取ta的主页访客、关注数
+  rpc UserGetPersonLikedAndLooked (common.PersonParam) returns (common.LookedAndLikedNum){
     option (google.api.http) = {
-      post: "/api/user/list/liked",
+      post: "/api/user/num",
       body:"*"
     };
   };
-  // 获取用户的访客数以及关注数
-  rpc GetLookAndLikeStatisticsMessage (google.protobuf.Empty) returns (statistics.LookAndLikeMessageReply){
+  // 9、查看看过我的列表
+  rpc FindLookList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
     option (google.api.http) = {
-      post: "/api/user/num/like_look",
+      post: "/api/user/list/look",
       body:"*"
     };
   };
-  // 微信SDK初始化
+  // 10、微信SDK初始化
   rpc WxConf (common.WxConfReq) returns (common.WxConfResponse){
     option (google.api.http) = {
       post: "/api/wx/jssdk/config",
       body:"*"
     };
   };
-  // 获取标签列表
+  // 11、获取标签列表
   rpc FindTagListBySex (common.SexReq) returns (common.TagListReply){
     option (google.api.http) = {
       post: "/api/user/list/tag",
       body:"*"
     };
   };
-  // 获取在线列表
+  // 12、获取在线列表
   rpc FindOnlineList (common.ListPage2Request) returns (common.RecommendPersonListReply){
     option (google.api.http) = {
       post: "/api/user/list/online",
       body:"*"
     };
   };
-  // 七天内列表(当前会话)
+  // 13、七天内列表(当前会话)
   rpc FindWithinSevenDayRoomList (common.ListPageRequest) returns (UserFindChatListReply){
     option (google.api.http) = {
       post: "/api/user/list/chat/within",
       body:"*"
     };
   };
-  // 七天外列表(更早的聊天记录)
+  // 14、七天外列表(更早的聊天记录)
   rpc FindOverSevenDayRoomList (common.ListPageRequest) returns (UserFindChatListReply){
     option (google.api.http) = {
       post: "/api/user/list/chat/over",
       body:"*"
     };
   };
-  // 用户获取ta的主页访客、关注数
-  rpc UserGetPersonLikedAndLooked (common.PersonParam) returns (common.LookedAndLikedNum){
+  // 15、用户查询聊天记录
+  rpc FindChatRecordList (common.FindChatRecordListRequest) returns (common.ChatRecordListReply){
     option (google.api.http) = {
-      post: "/api/user/num",
+      post: "/api/user/chat/record",
       body:"*"
     };
   };
-  // 获取用户的金额信息
-  rpc GetUserBalance (google.protobuf.Empty) returns (UserBalance){
+  // 16、用户查询房间信息
+  rpc FindChatRoomMsg (common.FindChatRoomMsgRequest) returns (common.ChatRoomMsg){
     option (google.api.http) = {
-      post: "/api/user/balance",
+      post: "/api/user/chat/room/msg",
       body:"*"
     };
   };
-  // 获取用户访问数详情
-  rpc GetUserLookNum (google.protobuf.Empty) returns (statistics.LookMessageReply){
+  // 17、用户查询是否关注某人
+  rpc GetUserIsLike (common.PersonParam) returns (common.IsLike){
     option (google.api.http) = {
-      post: "/api/user/look/num",
+      post: "/api/user/islike",
       body:"*"
     };
   };
-  // 用户查询聊天记录
-  rpc FindChatRecordList (common.FindChatRecordListRequest) returns (common.ChatRecordListReply){
+  // 18、通过类型获取表情包列表
+  rpc FindMemeByType (common.MemeRequest) returns (common.MemeList){
     option (google.api.http) = {
-      post: "/api/user/chat/record",
+      post: "/api/user/find/meme/type",
       body:"*"
     };
   };
-  // 用户查询房间信息
-  rpc FindChatRoomMsg (common.FindChatRoomMsgRequest) returns (common.ChatRoomMsg){
+  // 19、获取对方性别的聊天话题
+  rpc FindChatTopic (common.FindChatTopicRequest) returns (common.ChatTopicList){
     option (google.api.http) = {
-      post: "/api/user/chat/room/msg",
+      post: "/api/user/find/topic",
       body:"*"
     };
   };
-  // 用户查询是否关注某人
-  rpc GetUserIsLike (common.PersonParam) returns (common.IsLike){
+  // 20、随机表情包
+  rpc RandomMeme (common.RandomNum) returns (common.CommonTextList){
     option (google.api.http) = {
-      post: "/api/user/islike",
+      post: "/api/user/find/meme/random",
       body:"*"
     };
   };
-  // 用户完善资料
-  rpc UserFinishInformation (google.protobuf.Empty) returns (google.protobuf.Empty){
+  // 21、随机打招呼
+  rpc RandomSwiftMessage (common.RandomNumAndSex) returns (common.CommonTextList){
     option (google.api.http) = {
-      post: "/api/user/information/finish",
+      post: "/api/user/find/topic/random",
       body:"*"
     };
   };
-  // 用户完善情况
-  rpc UserInformationStatus (google.protobuf.Empty) returns (InformationStatus){
+  // 22、表情包分类名
+  rpc FindMemeTitle (google.protobuf.Empty) returns (common.MemeTitleList){
     option (google.api.http) = {
-      post: "/api/user/information/status",
+      post: "/api/user/find/meme/title",
       body:"*"
     };
   };
-  // 用户获取完善资料奖励
-  rpc UserGetInformationAward(google.protobuf.Empty) returns (google.protobuf.Empty){
+  // 23、用户获取聊天对象的资料卡片
+  rpc UserGetChatCard(common.PersonParam) returns (common.ChatCardInfo){
     option (google.api.http) = {
-      post: "/api/user/information/award",
+      post: "/api/user/chat/card",
       body:"*"
     };
   };
-  // 用户获取聊天对象的资料卡片
-  rpc UserGetChatCard(common.PersonParam) returns (common.ChatCardInfo){
+  // 24、聊天话题分类名
+  rpc FindChatTopicTitle (google.protobuf.Empty) returns (common.MemeTitleList){
     option (google.api.http) = {
-      post: "/api/user/chat/card",
+      post: "/api/user/find/chat/title",
       body:"*"
     };
   };
-  // 用户关注某人
+  // 25、用户关注某人
   rpc UserLike(common.PersonParam) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/user/like",
       body:"*"
     };
   };
-  // 用户取关某人
+  // 26、用户取关某人
   rpc UserUnLike(common.PersonParam) returns (google.protobuf.Empty){
     option (google.api.http) = {
       post: "/api/user/unlike",
       body:"*"
     };
   };
-  // 解锁"看过我的"的记录
-  rpc UnlockLookRecord (common.PersonParam) returns (google.protobuf.Empty){
+  // 27、举报某人
+  rpc Report (common.ReportChatRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/look/unlock",
+      post: "/api/user/report",
+      body:"*"
+    };
+  };
+  // 28、超过七天的头像列表
+  rpc FindOverSevenDayAvatar (google.protobuf.Empty) returns (common.FindOverSevenDayAvatarReply){
+    option (google.api.http) = {
+      post: "/api/user/over/avatar/list",
+      body:"*"
+    };
+  };
+  // 29、更新上次访问的小纸条
+  rpc UpdateLastScripID (common.UpdateLastScripIDRequest) returns (google.protobuf.Empty){
+    option (google.api.http) = {
+      post: "/api/user/scrip/last/update",
       body:"*"
     };
   };
-  // 发送消息扣费
-  rpc SendMsgReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
-  // 回看纸条扣费
-  rpc LookBackScripReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
-  // 发纸条扣费
-  rpc CreateScripReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
-  // 回纸条扣费
-  rpc ReplyScripReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
-  // 解锁语音扣费
-  rpc UnlockVoiceCredit (common.PersonParam) returns (google.protobuf.Empty);
-  // 解锁图片扣费
-  rpc UnlockPictureCredit (common.PersonParam) returns (google.protobuf.Empty);
-  // 匹配扣费
-  rpc MatchingCredit (common.PersonParam) returns (google.protobuf.Empty);
 
-  // 通过类型获取表情包列表
-  rpc FindMemeByType (common.MemeRequest) returns (common.MemeList){
+
+  // ---还未共用---
+  // 用户拉黑某人
+  rpc UserSetBlackChat (common.RoomIDRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/find/meme/type",
+      post: "/api/user/set/black",
       body:"*"
     };
   };
-  // 获取对方性别的聊天话题
-  rpc FindChatTopic (common.FindChatTopicRequest) returns (common.ChatTopicList){
+  // 用户删除房间
+  rpc UserDeleteChat (common.RoomIDRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/find/topic",
+      post: "/api/user/chat/delete",
       body:"*"
     };
   };
-  // 随机表情包
-  rpc RandomMeme (common.RandomNum) returns (common.CommonTextList){
+  // 创建纸条
+  rpc CreateScrip (CreateScripRequest) returns (common.ScripID){
     option (google.api.http) = {
-      post: "/api/user/find/meme/random",
+      post: "/api/user/scrip/create",
       body:"*"
     };
   };
-  // 随机打招呼
-  rpc RandomSwiftMessage (common.RandomNumAndSex) returns (common.CommonTextList){
+  // 删除纸条
+  rpc DeleteScrip (DeleteScripRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/find/topic/random",
+      post: "/api/user/scrip/delete",
       body:"*"
     };
   };
-  // 表情包分类名
-  rpc FindMemeTitle (google.protobuf.Empty) returns (common.MemeTitleList){
+  // 查询自己的小纸条
+  rpc FindMyScrip (UserFindScripRequest) returns (common.ScripReply){
     option (google.api.http) = {
-      post: "/api/user/find/meme/title",
+      post: "/api/user/scrip/find/self",
       body:"*"
     };
   };
-  // 用户拉黑某人
-  rpc UserSetBlackChat (common.RoomIDRequest) returns (google.protobuf.Empty){
+  // 查询别人的小纸条
+  rpc FindOtherScrip (common.FindScripRequest) returns (common.ScripReply){
     option (google.api.http) = {
-      post: "/api/user/set/black",
+      post: "/api/user/scrip/find/other",
       body:"*"
     };
   };
-  // 用户删除房间
-  rpc UserDeleteChat (common.RoomIDRequest) returns (google.protobuf.Empty){
+  // 查询随机纸条列表
+  rpc FindRecommendScrip (UserFindScripRequest) returns (common.ScripReply){
     option (google.api.http) = {
-      post: "/api/user/chat/delete",
+      post: "/api/user/scrip/find/recommend",
       body:"*"
     };
   };
-  // 聊天话题分类名
-  rpc FindChatTopicTitle (google.protobuf.Empty) returns (common.MemeTitleList){
+  // 用户查看纸条
+  rpc PersonLookScrip (PersonLookScripRequest) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/find/chat/title",
+      post: "/api/user/scrip/look",
       body:"*"
     };
   };
-  // 用户充值
-  rpc UserRecharge (UserRechargeRequest) returns (PayInfo){
+  // 用户点击回看
+  rpc PersonClickLookBack (google.protobuf.Empty) returns (common.ScripInfo){
     option (google.api.http) = {
-      post: "/api/user/recharge",
+      post: "/api/user/scrip/look/back",
       body:"*"
     };
   };
-  // 充值套餐列表
-  rpc FindRechargeList (google.protobuf.Empty) returns (RechargeList){
+  // 用户回复小纸条
+  rpc PersonReplyScrip (ReplyScripRequest) returns (common.ChatRecordInfo){
     option (google.api.http) = {
-      post: "/api/user/recharge/list",
+      post: "/api/user/scrip/reply",
       body:"*"
     };
   };
-  // 用户充值记录列表
-  rpc FindPayList (FindPayOrderListRequest) returns (PayOrderList){
+
+  // ---用户专用---
+  // 检查用户是否与接待员关联
+  rpc CheckUserPartnerIsRelationship (common.PartnerIDParam) returns (chat.CheckUserPartnerIsRelationshipReply){
     option (google.api.http) = {
-      post: "/api/user/pay/list",
+      post: "/api/user/check/relationship",
       body:"*"
     };
   };
-  // 举报某人
-  rpc Report (common.ReportChatRequest) returns (google.protobuf.Empty){
+  // 获取接待员的确认通过页面信息
+  rpc GetPartnerCircleInfo (KeyRequest) returns (common.AddFriendMessageInfo){
     option (google.api.http) = {
-      post: "/api/user/report",
+      post: "/api/user/circle/info",
       body:"*"
     };
   };
-  // 查询推荐用户的数据
-  rpc FindRecommendUserDBList (common.FindRecommendRequest) returns (common.PersonDBReply){};
-  // 查询推荐人的列表
-  rpc FindRecommendPersonList (FindRecommendPersonListRequest) returns (common.RecommendPersonListReply){
+  // 查看我喜欢的列表
+  rpc FindLikeList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
     option (google.api.http) = {
-      post: "/api/user/list/recommend",
+      post: "/api/user/list/like",
       body:"*"
     };
   };
-  // 超过七天的头像列表
-  rpc FindOverSevenDayAvatar (google.protobuf.Empty) returns (common.FindOverSevenDayAvatarReply){
+  // 查看喜欢我的列表
+  rpc FindLikedList (common.ListPageRequest) returns (statistics.LookAndLikeListReply){
     option (google.api.http) = {
-      post: "/api/user/over/avatar/list",
+      post: "/api/user/list/liked",
       body:"*"
     };
   };
-  // 获取匹配的头像数组以及数量
-  rpc FindMatchingAvatarAndNum (google.protobuf.Empty) returns (FindMatchingAvatarAndNumReply){
+  // 获取用户的访客数以及关注数
+  rpc GetLookAndLikeStatisticsMessage (google.protobuf.Empty) returns (statistics.LookAndLikeMessageReply){
     option (google.api.http) = {
-      post: "/api/user/matching/message",
+      post: "/api/user/num/like_look",
       body:"*"
     };
   };
-  // 创建纸条
-  rpc CreateScrip (CreateScripRequest) returns (common.ScripID){
+  // 获取用户访问数详情
+  rpc GetUserLookNum (google.protobuf.Empty) returns (statistics.LookMessageReply){
     option (google.api.http) = {
-      post: "/api/user/scrip/create",
+      post: "/api/user/look/num",
       body:"*"
     };
   };
-  // 删除纸条
-  rpc DeleteScrip (DeleteScripRequest) returns (google.protobuf.Empty){
+  // 用户完善资料
+  rpc UserFinishInformation (google.protobuf.Empty) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/scrip/delete",
+      post: "/api/user/information/finish",
       body:"*"
     };
   };
-  // 查询自己的小纸条
-  rpc FindMyScrip (UserFindScripRequest) returns (common.ScripReply){
+  // 用户完善情况
+  rpc UserInformationStatus (google.protobuf.Empty) returns (InformationStatus){
     option (google.api.http) = {
-      post: "/api/user/scrip/find/self",
+      post: "/api/user/information/status",
       body:"*"
     };
   };
-  // 查询别人的小纸条
-  rpc FindOtherScrip (common.FindScripRequest) returns (common.ScripReply){
+  // 用户获取完善资料奖励
+  rpc UserGetInformationAward(google.protobuf.Empty) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/scrip/find/other",
+      post: "/api/user/information/award",
       body:"*"
     };
   };
-  // 查询随机纸条列表
-  rpc FindRecommendScrip (UserFindScripRequest) returns (common.ScripReply){
+  // 解锁"看过我的"的记录
+  rpc UnlockLookRecord (common.PersonParam) returns (google.protobuf.Empty){
     option (google.api.http) = {
-      post: "/api/user/scrip/find/recommend",
+      post: "/api/user/look/unlock",
       body:"*"
     };
   };
-  // 用户查看纸条
-  rpc PersonLookScrip (PersonLookScripRequest) returns (google.protobuf.Empty){
+  // 用户充值
+  rpc UserRecharge (UserRechargeRequest) returns (PayInfo){
     option (google.api.http) = {
-      post: "/api/user/scrip/look",
+      post: "/api/user/recharge",
       body:"*"
     };
   };
-  // 用户点击回看
-  rpc PersonClickLookBack (google.protobuf.Empty) returns (common.ScripInfo){
+  // 充值套餐列表
+  rpc FindRechargeList (google.protobuf.Empty) returns (RechargeList){
     option (google.api.http) = {
-      post: "/api/user/scrip/look/back",
+      post: "/api/user/recharge/list",
       body:"*"
     };
   };
-  // 用户回复小纸条
-  rpc PersonReplyScrip (ReplyScripRequest) returns (common.ChatRecordInfo){
+  // 用户充值记录列表
+  rpc FindPayList (FindPayOrderListRequest) returns (PayOrderList){
     option (google.api.http) = {
-      post: "/api/user/scrip/reply",
+      post: "/api/user/pay/list",
       body:"*"
     };
   };
-  // 更新上次访问的小纸条
-  rpc UpdateLastScripID (common.UpdateLastScripIDRequest) returns (google.protobuf.Empty){
+  // 查询推荐人的列表
+  rpc FindRecommendPersonList (FindRecommendPersonListRequest) returns (common.RecommendPersonListReply){
     option (google.api.http) = {
-      post: "/api/user/scrip/last/update",
+      post: "/api/user/list/recommend",
+      body:"*"
+    };
+  };
+  // 获取匹配的头像数组以及数量
+  rpc FindMatchingAvatarAndNum (google.protobuf.Empty) returns (FindMatchingAvatarAndNumReply){
+    option (google.api.http) = {
+      post: "/api/user/matching/message",
       body:"*"
     };
   };
-  // 对内更新
-  rpc UpdateLastScripIDDB (common.UpdateLastScripIDDBRequest) returns (google.protobuf.Empty){};
   // 获取假弹窗
   rpc GetWindowInfo (google.protobuf.Empty) returns (chat.WindowInfo){
     option (google.api.http) = {
@@ -437,8 +419,33 @@ service User {
       body:"*"
     };
   };
-  // 更新上次登录时间
+
+  // ---rpc---
+  // 1、获取用户详情
+  rpc GetUserDBMsg (common.PersonIDParam) returns (common.PersonMsg);
+  // 2、通过用户IDs查看用户信息列表
+  rpc FindUserDBList (common.PersonIDList) returns (common.PersonDBReply);
+  // 3、对内更新
+  rpc UpdateLastScripIDDB (common.UpdateLastScripIDDBRequest) returns (google.protobuf.Empty){};
+  // 4、查询推荐用户的数据
+  rpc FindRecommendUserDBList (common.FindRecommendRequest) returns (common.PersonDBReply){};
+  // 5、更新上次登录时间
   rpc UpdateUserLastLoginTime (common.PersonIDParam) returns (google.protobuf.Empty){};
+
+  // 发送消息扣费
+  rpc SendMsgReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
+  // 回看纸条扣费
+  rpc LookBackScripReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
+  // 发纸条扣费
+  rpc CreateScripReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
+  // 回纸条扣费
+  rpc ReplyScripReduceCredit (common.PersonParam) returns (google.protobuf.Empty);
+  // 解锁语音扣费
+  rpc UnlockVoiceCredit (common.PersonParam) returns (google.protobuf.Empty);
+  // 解锁图片扣费
+  rpc UnlockPictureCredit (common.PersonParam) returns (google.protobuf.Empty);
+  // 匹配扣费
+  rpc MatchingCredit (common.PersonParam) returns (google.protobuf.Empty);
 }
 
 message UserFreeNum{

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 319 - 363
api/user/user_grpc.pb.go


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 184 - 184
api/user/user_http.pb.go


+ 70 - 76
js/api/partner/partner_http_pb.ts

@@ -1,174 +1,178 @@
 // @ts-ignore
 import request from '@/libs/request';
-import {PartnerInfo,PartnerBalance,PartnerDBBalance,PartnerMessage,GetRandomPartnerRequest,RandomPartnerInfo,AddPartnerBalanceRequest,LevelTable,PartnerGetAwardRequest,PartnerUpdateWorkingStatusRequest,PartnerApplyWithdrawRequest,PartnerWithdrawTemplateListReply,PartnerWithdrawRecordListReply} from "./partner_pb";
-import {PartnerIDParam,PersonIDParam,PersonMsg,SendPhoneCodeRequest,CheckPhoneCodeRequest,AddFriendMessageInfo,UpdateInformationRequest,PersonParam,HomeInfo,LookedAndLikedNum,ListPageRequest,PersonIDList,PersonDBReply,WxConfReq,WxConfResponse,CreateChatRoomParam,SexReq,TagListReply,ListPage2Request,RecommendPersonListReply,FindChatRecordListRequest,ChatRecordListReply,FindChatRoomMsgRequest,ChatRoomMsg,IsLike,MemeRequest,MemeList,FindChatTopicRequest,ChatTopicList,RandomNum,CommonTextList,RandomNumAndSex,MemeTitleList,PartnerChatCardInfo,ReportChatRequest,FindRecommendRequest,FindOverSevenDayAvatarReply,UpdateLastScripIDRequest,UpdateLastScripIDDBRequest} from "../common/common_pb";
-import {LookMessageReply,LookAndLikeListReply} from "../statistics/statistics_pb";
+import {PartnerInfo,PartnerBalance,PartnerMessage,LevelTable,PartnerGetAwardRequest,PartnerUpdateWorkingStatusRequest,PartnerApplyWithdrawRequest,PartnerWithdrawTemplateListReply,PartnerWithdrawRecordListReply,PartnerDBBalance,AddPartnerBalanceRequest,GetRandomPartnerRequest,RandomPartnerInfo} from "./partner_pb";
+import {SendPhoneCodeRequest,CheckPhoneCodeRequest,UpdateInformationRequest,CreateChatRoomParam,PersonParam,HomeInfo,LookedAndLikedNum,ListPageRequest,WxConfReq,WxConfResponse,SexReq,TagListReply,ListPage2Request,RecommendPersonListReply,FindChatRecordListRequest,ChatRecordListReply,FindChatRoomMsgRequest,ChatRoomMsg,IsLike,MemeRequest,MemeList,FindChatTopicRequest,ChatTopicList,RandomNum,CommonTextList,RandomNumAndSex,MemeTitleList,PartnerChatCardInfo,ReportChatRequest,FindOverSevenDayAvatarReply,UpdateLastScripIDRequest,PersonIDParam,PersonMsg,PersonIDList,PersonDBReply,UpdateLastScripIDDBRequest,FindRecommendRequest,PartnerIDParam,AddFriendMessageInfo} from "../common/common_pb";
 import {RoomReply,PartnerFindRoomListReply,FindNotReplyNumReply} from "../chat/chat_pb";
+import {LookAndLikeListReply,LookMessageReply} from "../statistics/statistics_pb";
 
 const PartnerService = {
-  /**  获取接待员的个人信息 */
+  /**  1、获取接待员的个人信息 */
   GetPartnerInfo: async (req?: undefined) => {
 	const res = await request.post<{ data: PartnerInfo, code: string, message: string }>('/api/partner/info', req);
     return res.data.data;
   },
-  /**  获取接待员的金额信息 */
-  GetPartnerBalance: async (req?: undefined) => {
-	const res = await request.post<{ data: PartnerBalance, code: string, message: string }>('/api/partner/balance', req);
-    return res.data.data;
-  },
-  /**  获取接待员的部分信息 */
-  GetPartnerMessage: async (req?: undefined) => {
-	const res = await request.post<{ data: PartnerMessage, code: string, message: string }>('/api/partner/message', req);
-    return res.data.data;
-  },
-  /**  获取接待员访问数详情 */
-  GetPartnerLookNum: async (req?: undefined) => {
-	const res = await request.post<{ data: LookMessageReply, code: string, message: string }>('/api/partner/num/look', req);
-    return res.data.data;
-  },
-  /**  接待员发送验证码 */
+  /**  2、接待员发送验证码 */
   SendPhoneCode: async (req?: SendPhoneCodeRequest) => {
 	const res = await request.post('/api/partner/code/send', req);
     return res.data.data;
   },
-  /**  接待员验证验证码 */
+  /**  3、接待员验证验证码 */
   CheckPhoneCode: async (req?: CheckPhoneCodeRequest) => {
 	const res = await request.post('/api/partner/code/check', req);
     return res.data.data;
   },
-  /**  更新接待员的信息 */
+  /**  4、更新接待员的信息 */
   UpdatePartnerInformation: async (req?: UpdateInformationRequest) => {
 	const res = await request.post('/api/partner/update/information', req);
     return res.data.data;
   },
-  /**  接待员获取ta的主页信息 */
+  /**  5、创建用户与接待员的关联 */
+  CreateUserPartnerRoom: async (req?: CreateChatRoomParam) => {
+	const res = await request.post<{ data: RoomReply, code: string, message: string }>('/api/partner/create/room', req);
+    return res.data.data;
+  },
+  /**  6、获取接待员的金额信息 */
+  GetPartnerBalance: async (req?: undefined) => {
+	const res = await request.post<{ data: PartnerBalance, code: string, message: string }>('/api/partner/balance', req);
+    return res.data.data;
+  },
+  /**  7、接待员获取ta的主页信息 */
   PartnerGetHomeInfo: async (req?: PersonParam) => {
 	const res = await request.post<{ data: HomeInfo, code: string, message: string }>('/api/partner/home', req);
     return res.data.data;
   },
-  /**  接待员获取ta的主页访客、关注数 */
+  /**  8、接待员获取ta的主页访客、关注数 */
   PartnerGetPersonLikedAndLooked: async (req?: PersonParam) => {
 	const res = await request.post<{ data: LookedAndLikedNum, code: string, message: string }>('/api/partner/num', req);
     return res.data.data;
   },
-  /**  查看看过我的列表 */
+  /**  9、查看看过我的列表 */
   FindLookList: async (req?: ListPageRequest) => {
 	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/partner/list/look', req);
     return res.data.data;
   },
-  /**  微信SDK初始化 */
+  /**  10、微信SDK初始化 */
   WxConf: async (req?: WxConfReq) => {
 	const res = await request.post<{ data: WxConfResponse, code: string, message: string }>('/api/wx/jssdk/config', req);
     return res.data.data;
   },
-  /**  创建用户与接待员的关联 */
-  CreateUserPartnerRoom: async (req?: CreateChatRoomParam) => {
-	const res = await request.post<{ data: RoomReply, code: string, message: string }>('/api/partner/create/room', req);
-    return res.data.data;
-  },
-  /**  获取标签列表 */
+  /**  11、获取标签列表 */
   FindTagListBySex: async (req?: SexReq) => {
 	const res = await request.post<{ data: TagListReply, code: string, message: string }>('/api/partner/list/tag', req);
     return res.data.data;
   },
-  /**  获取在线列表 */
+  /**  12、获取在线列表 */
   FindOnlineList: async (req?: ListPage2Request) => {
 	const res = await request.post<{ data: RecommendPersonListReply, code: string, message: string }>('/api/partner/list/online', req);
     return res.data.data;
   },
-  /**  未读列表(排队中) */
-  FindUnReplyRoomList: async (req?: ListPageRequest) => {
-	const res = await request.post<{ data: PartnerFindRoomListReply, code: string, message: string }>('/api/partner/list/chat/unreply', req);
-    return res.data.data;
-  },
-  /**  七天内列表(当前会话) */
+  /**  13、七天内列表(当前会话) */
   FindWithinSevenDayRoomList: async (req?: ListPageRequest) => {
 	const res = await request.post<{ data: PartnerFindRoomListReply, code: string, message: string }>('/api/partner/list/chat/within', req);
     return res.data.data;
   },
-  /**  七天外列表(更早的聊天记录) */
+  /**  14、七天外列表(更早的聊天记录) */
   FindOverSevenDayRoomList: async (req?: ListPageRequest) => {
 	const res = await request.post<{ data: PartnerFindRoomListReply, code: string, message: string }>('/api/partner/list/chat/over', req);
     return res.data.data;
   },
-  /**  接待者查询聊天记录 */
+  /**  15、接待者查询聊天记录 */
   FindChatRecordList: async (req?: FindChatRecordListRequest) => {
 	const res = await request.post<{ data: ChatRecordListReply, code: string, message: string }>('/api/partner/chat/record', req);
     return res.data.data;
   },
-  /**  接待者查询房间信息 */
+  /**  16、接待者查询房间信息 */
   FindChatRoomMsg: async (req?: FindChatRoomMsgRequest) => {
 	const res = await request.post<{ data: ChatRoomMsg, code: string, message: string }>('/api/partner/chat/room/msg', req);
     return res.data.data;
   },
-  /**  获取等级对应收益表 */
-  GetLevelBalanceTable: async (req?: undefined) => {
-	const res = await request.post<{ data: LevelTable, code: string, message: string }>('/api/partner/level/table', req);
-    return res.data.data;
-  },
-  /**  接待员查询是否关注某人 */
+  /**  17、接待员查询是否关注某人 */
   GetPartnerIsLike: async (req?: PersonParam) => {
 	const res = await request.post<{ data: IsLike, code: string, message: string }>('/api/partner/islike', req);
     return res.data.data;
   },
-  /**  通过类型获取表情包列表 */
+  /**  18、通过类型获取表情包列表 */
   FindMemeByType: async (req?: MemeRequest) => {
 	const res = await request.post<{ data: MemeList, code: string, message: string }>('/api/partner/find/meme/type', req);
     return res.data.data;
   },
-  /**  获取对方性别的聊天话题 */
+  /**  19、获取对方性别的聊天话题 */
   FindChatTopic: async (req?: FindChatTopicRequest) => {
 	const res = await request.post<{ data: ChatTopicList, code: string, message: string }>('/api/partner/find/topic', req);
     return res.data.data;
   },
-  /**  随机表情包 */
+  /**  20、随机表情包 */
   RandomMeme: async (req?: RandomNum) => {
 	const res = await request.post<{ data: CommonTextList, code: string, message: string }>('/api/partner/find/meme/random', req);
     return res.data.data;
   },
-  /**  随机打招呼 */
+  /**  21、随机打招呼 */
   RandomSwiftMessage: async (req?: RandomNumAndSex) => {
 	const res = await request.post<{ data: CommonTextList, code: string, message: string }>('/api/partner/find/topic/random', req);
     return res.data.data;
   },
-  /**  表情包分类名 */
+  /**  22、表情包分类名 */
   FindMemeTitle: async (req?: undefined) => {
 	const res = await request.post<{ data: MemeTitleList, code: string, message: string }>('/api/partner/find/meme/title', req);
     return res.data.data;
   },
-  /**  接待员获取聊天对象的资料卡片 */
+  /**  23、接待员获取聊天对象的资料卡片 */
   PartnerGetChatCard: async (req?: PersonParam) => {
 	const res = await request.post<{ data: PartnerChatCardInfo, code: string, message: string }>('/api/partner/chat/card', req);
     return res.data.data;
   },
-  /**  聊天话题分类名 */
+  /**  24、聊天话题分类名 */
   FindChatTopicTitle: async (req?: undefined) => {
 	const res = await request.post<{ data: MemeTitleList, code: string, message: string }>('/api/partner/find/chat/title', req);
     return res.data.data;
   },
-  /**  接待员关注某人 */
+  /**  25、接待员关注某人 */
   PartnerLike: async (req?: PersonParam) => {
 	const res = await request.post('/api/partner/like', req);
     return res.data.data;
   },
-  /**  接待员取关某人 */
+  /**  26、接待员取关某人 */
   PartnerUnLike: async (req?: PersonParam) => {
 	const res = await request.post('/api/partner/unlike', req);
     return res.data.data;
   },
-  /**  举报某人 */
+  /**  27、举报某人 */
   Report: async (req?: ReportChatRequest) => {
 	const res = await request.post('/api/partner/report', req);
     return res.data.data;
   },
-  /**   // 拉黑某人
-//  rpc PartnerSetBlackChat (common.RoomIDRequest) returns (google.protobuf.Empty){
-//    option (google.api.http) = {
-//      post: "/api/partner/set/black",
-//      body:"*"
-//    };
-//  };
-// 接待员领取开通奖励 */
+  /**  28、超过七天的头像列表 */
+  FindOverSevenDayAvatar: async (req?: undefined) => {
+	const res = await request.post<{ data: FindOverSevenDayAvatarReply, code: string, message: string }>('/api/partner/over/avatar/list', req);
+    return res.data.data;
+  },
+  /**  29、更新上次访问的小纸条 */
+  UpdateLastScripID: async (req?: UpdateLastScripIDRequest) => {
+	const res = await request.post('/api/partner/scrip/last/update', req);
+    return res.data.data;
+  },
+  /**  ---接待员专用---
+// 获取接待员的部分信息 */
+  GetPartnerMessage: async (req?: undefined) => {
+	const res = await request.post<{ data: PartnerMessage, code: string, message: string }>('/api/partner/message', req);
+    return res.data.data;
+  },
+  /**  获取接待员访问数详情 */
+  GetPartnerLookNum: async (req?: undefined) => {
+	const res = await request.post<{ data: LookMessageReply, code: string, message: string }>('/api/partner/num/look', req);
+    return res.data.data;
+  },
+  /**  未读列表(排队中) */
+  FindUnReplyRoomList: async (req?: ListPageRequest) => {
+	const res = await request.post<{ data: PartnerFindRoomListReply, code: string, message: string }>('/api/partner/list/chat/unreply', req);
+    return res.data.data;
+  },
+  /**  获取等级对应收益表 */
+  GetLevelBalanceTable: async (req?: undefined) => {
+	const res = await request.post<{ data: LevelTable, code: string, message: string }>('/api/partner/level/table', req);
+    return res.data.data;
+  },
+  /**  接待员领取开通奖励 */
   PartnerGetAward: async (req?: PartnerGetAwardRequest) => {
 	const res = await request.post('/api/partner/chat/award', req);
     return res.data.data;
@@ -178,11 +182,6 @@ const PartnerService = {
 	const res = await request.post('/api/partner/working/status/update', req);
     return res.data.data;
   },
-  /**  超过七天的头像列表 */
-  FindOverSevenDayAvatar: async (req?: undefined) => {
-	const res = await request.post<{ data: FindOverSevenDayAvatarReply, code: string, message: string }>('/api/partner/over/avatar/list', req);
-    return res.data.data;
-  },
   /**  查询未处理的数据 */
   FindNotReplyNum: async (req?: undefined) => {
 	const res = await request.post<{ data: FindNotReplyNumReply, code: string, message: string }>('/api/partner/chat/unreply/num', req);
@@ -203,11 +202,6 @@ const PartnerService = {
 	const res = await request.post<{ data: PartnerWithdrawRecordListReply, code: string, message: string }>('/api/partner/withdraw/record/list', req);
     return res.data.data;
   },
-  /**  更新上次访问的小纸条 */
-  UpdateLastScripID: async (req?: UpdateLastScripIDRequest) => {
-	const res = await request.post('/api/partner/scrip/last/update', req);
-    return res.data.data;
-  },
 
 };
 

+ 133 - 131
js/api/user/user_http_pb.ts

@@ -1,234 +1,165 @@
 // @ts-ignore
 import request from '@/libs/request';
-import {UpdateInformationRequest,PersonIDParam,PersonMsg,SendPhoneCodeRequest,CheckPhoneCodeRequest,PartnerIDParam,CreateChatRoomParam,AddFriendMessageInfo,PersonParam,HomeInfo,PersonIDList,PersonDBReply,ListPageRequest,WxConfReq,WxConfResponse,SexReq,TagListReply,ListPage2Request,RecommendPersonListReply,LookedAndLikedNum,FindChatRecordListRequest,ChatRecordListReply,FindChatRoomMsgRequest,ChatRoomMsg,IsLike,ChatCardInfo,MemeRequest,MemeList,FindChatTopicRequest,ChatTopicList,RandomNum,CommonTextList,RandomNumAndSex,MemeTitleList,RoomIDRequest,ReportChatRequest,FindRecommendRequest,FindOverSevenDayAvatarReply,ScripID,ScripReply,FindScripRequest,ScripInfo,ChatRecordInfo,UpdateLastScripIDRequest,UpdateLastScripIDDBRequest} from "../common/common_pb";
-import {UserInfo,KeyRequest,UserFindChatListReply,UserBalance,InformationStatus,UserRechargeRequest,PayInfo,RechargeList,FindPayOrderListRequest,PayOrderList,FindRecommendPersonListRequest,FindMatchingAvatarAndNumReply,CreateScripRequest,DeleteScripRequest,UserFindScripRequest,PersonLookScripRequest,ReplyScripRequest,UserFreeNum} from "./user_pb";
-import {CheckUserPartnerIsRelationshipReply,RoomReply,WindowInfo,GetRandomMatchingReply} from "../chat/chat_pb";
+import {UserInfo,UserBalance,UserFindChatListReply,CreateScripRequest,DeleteScripRequest,UserFindScripRequest,PersonLookScripRequest,ReplyScripRequest,KeyRequest,InformationStatus,UserRechargeRequest,PayInfo,RechargeList,FindPayOrderListRequest,PayOrderList,FindRecommendPersonListRequest,FindMatchingAvatarAndNumReply,UserFreeNum} from "./user_pb";
+import {SendPhoneCodeRequest,CheckPhoneCodeRequest,UpdateInformationRequest,CreateChatRoomParam,PersonParam,HomeInfo,LookedAndLikedNum,ListPageRequest,WxConfReq,WxConfResponse,SexReq,TagListReply,ListPage2Request,RecommendPersonListReply,FindChatRecordListRequest,ChatRecordListReply,FindChatRoomMsgRequest,ChatRoomMsg,IsLike,MemeRequest,MemeList,FindChatTopicRequest,ChatTopicList,RandomNum,CommonTextList,RandomNumAndSex,MemeTitleList,ChatCardInfo,ReportChatRequest,FindOverSevenDayAvatarReply,UpdateLastScripIDRequest,RoomIDRequest,ScripID,ScripReply,FindScripRequest,ScripInfo,ChatRecordInfo,PartnerIDParam,AddFriendMessageInfo,PersonIDParam,PersonMsg,PersonIDList,PersonDBReply,UpdateLastScripIDDBRequest,FindRecommendRequest} from "../common/common_pb";
+import {RoomReply,CheckUserPartnerIsRelationshipReply,WindowInfo,GetRandomMatchingReply} from "../chat/chat_pb";
 import {LookAndLikeListReply,LookAndLikeMessageReply,LookMessageReply} from "../statistics/statistics_pb";
 
 const UserService = {
-  /**  更新用户信息 */
-  UpdateUserInformation: async (req?: UpdateInformationRequest) => {
-	const res = await request.post('/api/user/update/information', req);
-    return res.data.data;
-  },
-  /**  获取用户详情 */
+  /**  1、获取用户详情 */
   GetUserInfo: async (req?: undefined) => {
 	const res = await request.post<{ data: UserInfo, code: string, message: string }>('/api/user/info', req);
     return res.data.data;
   },
-  /**  用户发送验证码 */
+  /**  2、用户发送验证码 */
   SendPhoneCode: async (req?: SendPhoneCodeRequest) => {
 	const res = await request.post('/api/user/code/send', req);
     return res.data.data;
   },
-  /**  用户验证验证码 */
+  /**  3、用户验证验证码 */
   CheckPhoneCode: async (req?: CheckPhoneCodeRequest) => {
 	const res = await request.post('/api/user/code/check', req);
     return res.data.data;
   },
-  /**  检查用户是否与接待员关联 */
-  CheckUserPartnerIsRelationship: async (req?: PartnerIDParam) => {
-	const res = await request.post<{ data: CheckUserPartnerIsRelationshipReply, code: string, message: string }>('/api/user/check/relationship', req);
+  /**  4、更新用户信息 */
+  UpdateUserInformation: async (req?: UpdateInformationRequest) => {
+	const res = await request.post('/api/user/update/information', req);
     return res.data.data;
   },
-  /**  创建用户与接待员的关联 */
+  /**  5、创建用户与接待员的关联 */
   CreateUserPersonRoom: async (req?: CreateChatRoomParam) => {
 	const res = await request.post<{ data: RoomReply, code: string, message: string }>('/api/user/create/room', req);
     return res.data.data;
   },
-  /**  获取接待员的确认通过页面信息 */
-  GetPartnerCircleInfo: async (req?: KeyRequest) => {
-	const res = await request.post<{ data: AddFriendMessageInfo, code: string, message: string }>('/api/user/circle/info', req);
+  /**  6、获取用户的金额信息 */
+  GetUserBalance: async (req?: undefined) => {
+	const res = await request.post<{ data: UserBalance, code: string, message: string }>('/api/user/balance', req);
     return res.data.data;
   },
-  /**  用户获取主页信息 */
+  /**  7、用户获取ta的主页信息 */
   UserGetHomeInfo: async (req?: PersonParam) => {
 	const res = await request.post<{ data: HomeInfo, code: string, message: string }>('/api/user/home', req);
     return res.data.data;
   },
-  /**  查看看过我的列表 */
-  FindLookList: async (req?: ListPageRequest) => {
-	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/user/list/look', req);
-    return res.data.data;
-  },
-  /**  查看我喜欢的列表 */
-  FindLikeList: async (req?: ListPageRequest) => {
-	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/user/list/like', req);
-    return res.data.data;
-  },
-  /**  查看喜欢我的列表 */
-  FindLikedList: async (req?: ListPageRequest) => {
-	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/user/list/liked', req);
+  /**  8、用户获取ta的主页访客、关注数 */
+  UserGetPersonLikedAndLooked: async (req?: PersonParam) => {
+	const res = await request.post<{ data: LookedAndLikedNum, code: string, message: string }>('/api/user/num', req);
     return res.data.data;
   },
-  /**  获取用户的访客数以及关注数 */
-  GetLookAndLikeStatisticsMessage: async (req?: undefined) => {
-	const res = await request.post<{ data: LookAndLikeMessageReply, code: string, message: string }>('/api/user/num/like_look', req);
+  /**  9、查看看过我的列表 */
+  FindLookList: async (req?: ListPageRequest) => {
+	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/user/list/look', req);
     return res.data.data;
   },
-  /**  微信SDK初始化 */
+  /**  10、微信SDK初始化 */
   WxConf: async (req?: WxConfReq) => {
 	const res = await request.post<{ data: WxConfResponse, code: string, message: string }>('/api/wx/jssdk/config', req);
     return res.data.data;
   },
-  /**  获取标签列表 */
+  /**  11、获取标签列表 */
   FindTagListBySex: async (req?: SexReq) => {
 	const res = await request.post<{ data: TagListReply, code: string, message: string }>('/api/user/list/tag', req);
     return res.data.data;
   },
-  /**  获取在线列表 */
+  /**  12、获取在线列表 */
   FindOnlineList: async (req?: ListPage2Request) => {
 	const res = await request.post<{ data: RecommendPersonListReply, code: string, message: string }>('/api/user/list/online', req);
     return res.data.data;
   },
-  /**  七天内列表(当前会话) */
+  /**  13、七天内列表(当前会话) */
   FindWithinSevenDayRoomList: async (req?: ListPageRequest) => {
 	const res = await request.post<{ data: UserFindChatListReply, code: string, message: string }>('/api/user/list/chat/within', req);
     return res.data.data;
   },
-  /**  七天外列表(更早的聊天记录) */
+  /**  14、七天外列表(更早的聊天记录) */
   FindOverSevenDayRoomList: async (req?: ListPageRequest) => {
 	const res = await request.post<{ data: UserFindChatListReply, code: string, message: string }>('/api/user/list/chat/over', req);
     return res.data.data;
   },
-  /**  用户获取ta的主页访客、关注数 */
-  UserGetPersonLikedAndLooked: async (req?: PersonParam) => {
-	const res = await request.post<{ data: LookedAndLikedNum, code: string, message: string }>('/api/user/num', req);
-    return res.data.data;
-  },
-  /**  获取用户的金额信息 */
-  GetUserBalance: async (req?: undefined) => {
-	const res = await request.post<{ data: UserBalance, code: string, message: string }>('/api/user/balance', req);
-    return res.data.data;
-  },
-  /**  获取用户访问数详情 */
-  GetUserLookNum: async (req?: undefined) => {
-	const res = await request.post<{ data: LookMessageReply, code: string, message: string }>('/api/user/look/num', req);
-    return res.data.data;
-  },
-  /**  用户查询聊天记录 */
+  /**  15、用户查询聊天记录 */
   FindChatRecordList: async (req?: FindChatRecordListRequest) => {
 	const res = await request.post<{ data: ChatRecordListReply, code: string, message: string }>('/api/user/chat/record', req);
     return res.data.data;
   },
-  /**  用户查询房间信息 */
+  /**  16、用户查询房间信息 */
   FindChatRoomMsg: async (req?: FindChatRoomMsgRequest) => {
 	const res = await request.post<{ data: ChatRoomMsg, code: string, message: string }>('/api/user/chat/room/msg', req);
     return res.data.data;
   },
-  /**  用户查询是否关注某人 */
+  /**  17、用户查询是否关注某人 */
   GetUserIsLike: async (req?: PersonParam) => {
 	const res = await request.post<{ data: IsLike, code: string, message: string }>('/api/user/islike', req);
     return res.data.data;
   },
-  /**  用户完善资料 */
-  UserFinishInformation: async (req?: undefined) => {
-	const res = await request.post('/api/user/information/finish', req);
-    return res.data.data;
-  },
-  /**  用户完善情况 */
-  UserInformationStatus: async (req?: undefined) => {
-	const res = await request.post<{ data: InformationStatus, code: string, message: string }>('/api/user/information/status', req);
-    return res.data.data;
-  },
-  /**  用户获取完善资料奖励 */
-  UserGetInformationAward: async (req?: undefined) => {
-	const res = await request.post('/api/user/information/award', req);
-    return res.data.data;
-  },
-  /**  用户获取聊天对象的资料卡片 */
-  UserGetChatCard: async (req?: PersonParam) => {
-	const res = await request.post<{ data: ChatCardInfo, code: string, message: string }>('/api/user/chat/card', req);
-    return res.data.data;
-  },
-  /**  用户关注某人 */
-  UserLike: async (req?: PersonParam) => {
-	const res = await request.post('/api/user/like', req);
-    return res.data.data;
-  },
-  /**  用户取关某人 */
-  UserUnLike: async (req?: PersonParam) => {
-	const res = await request.post('/api/user/unlike', req);
-    return res.data.data;
-  },
-  /**  解锁"看过我的"的记录 */
-  UnlockLookRecord: async (req?: PersonParam) => {
-	const res = await request.post('/api/user/look/unlock', req);
-    return res.data.data;
-  },
-  /**  通过类型获取表情包列表 */
+  /**  18、通过类型获取表情包列表 */
   FindMemeByType: async (req?: MemeRequest) => {
 	const res = await request.post<{ data: MemeList, code: string, message: string }>('/api/user/find/meme/type', req);
     return res.data.data;
   },
-  /**  获取对方性别的聊天话题 */
+  /**  19、获取对方性别的聊天话题 */
   FindChatTopic: async (req?: FindChatTopicRequest) => {
 	const res = await request.post<{ data: ChatTopicList, code: string, message: string }>('/api/user/find/topic', req);
     return res.data.data;
   },
-  /**  随机表情包 */
+  /**  20、随机表情包 */
   RandomMeme: async (req?: RandomNum) => {
 	const res = await request.post<{ data: CommonTextList, code: string, message: string }>('/api/user/find/meme/random', req);
     return res.data.data;
   },
-  /**  随机打招呼 */
+  /**  21、随机打招呼 */
   RandomSwiftMessage: async (req?: RandomNumAndSex) => {
 	const res = await request.post<{ data: CommonTextList, code: string, message: string }>('/api/user/find/topic/random', req);
     return res.data.data;
   },
-  /**  表情包分类名 */
+  /**  22、表情包分类名 */
   FindMemeTitle: async (req?: undefined) => {
 	const res = await request.post<{ data: MemeTitleList, code: string, message: string }>('/api/user/find/meme/title', req);
     return res.data.data;
   },
-  /**  用户拉黑某人 */
-  UserSetBlackChat: async (req?: RoomIDRequest) => {
-	const res = await request.post('/api/user/set/black', req);
-    return res.data.data;
-  },
-  /**  用户删除房间 */
-  UserDeleteChat: async (req?: RoomIDRequest) => {
-	const res = await request.post('/api/user/chat/delete', req);
+  /**  23、用户获取聊天对象的资料卡片 */
+  UserGetChatCard: async (req?: PersonParam) => {
+	const res = await request.post<{ data: ChatCardInfo, code: string, message: string }>('/api/user/chat/card', req);
     return res.data.data;
   },
-  /**  聊天话题分类名 */
+  /**  24、聊天话题分类名 */
   FindChatTopicTitle: async (req?: undefined) => {
 	const res = await request.post<{ data: MemeTitleList, code: string, message: string }>('/api/user/find/chat/title', req);
     return res.data.data;
   },
-  /**  用户充值 */
-  UserRecharge: async (req?: UserRechargeRequest) => {
-	const res = await request.post<{ data: PayInfo, code: string, message: string }>('/api/user/recharge', req);
-    return res.data.data;
-  },
-  /**  充值套餐列表 */
-  FindRechargeList: async (req?: undefined) => {
-	const res = await request.post<{ data: RechargeList, code: string, message: string }>('/api/user/recharge/list', req);
+  /**  25、用户关注某人 */
+  UserLike: async (req?: PersonParam) => {
+	const res = await request.post('/api/user/like', req);
     return res.data.data;
   },
-  /**  用户充值记录列表 */
-  FindPayList: async (req?: FindPayOrderListRequest) => {
-	const res = await request.post<{ data: PayOrderList, code: string, message: string }>('/api/user/pay/list', req);
+  /**  26、用户取关某人 */
+  UserUnLike: async (req?: PersonParam) => {
+	const res = await request.post('/api/user/unlike', req);
     return res.data.data;
   },
-  /**  举报某人 */
+  /**  27、举报某人 */
   Report: async (req?: ReportChatRequest) => {
 	const res = await request.post('/api/user/report', req);
     return res.data.data;
   },
-  /**  查询推荐人的列表 */
-  FindRecommendPersonList: async (req?: FindRecommendPersonListRequest) => {
-	const res = await request.post<{ data: RecommendPersonListReply, code: string, message: string }>('/api/user/list/recommend', req);
-    return res.data.data;
-  },
-  /**  超过七天的头像列表 */
+  /**  28、超过七天的头像列表 */
   FindOverSevenDayAvatar: async (req?: undefined) => {
 	const res = await request.post<{ data: FindOverSevenDayAvatarReply, code: string, message: string }>('/api/user/over/avatar/list', req);
     return res.data.data;
   },
-  /**  获取匹配的头像数组以及数量 */
-  FindMatchingAvatarAndNum: async (req?: undefined) => {
-	const res = await request.post<{ data: FindMatchingAvatarAndNumReply, code: string, message: string }>('/api/user/matching/message', req);
+  /**  29、更新上次访问的小纸条 */
+  UpdateLastScripID: async (req?: UpdateLastScripIDRequest) => {
+	const res = await request.post('/api/user/scrip/last/update', req);
+    return res.data.data;
+  },
+  /**  ---还未共用---
+// 用户拉黑某人 */
+  UserSetBlackChat: async (req?: RoomIDRequest) => {
+	const res = await request.post('/api/user/set/black', req);
+    return res.data.data;
+  },
+  /**  用户删除房间 */
+  UserDeleteChat: async (req?: RoomIDRequest) => {
+	const res = await request.post('/api/user/chat/delete', req);
     return res.data.data;
   },
   /**  创建纸条 */
@@ -271,9 +202,80 @@ const UserService = {
 	const res = await request.post<{ data: ChatRecordInfo, code: string, message: string }>('/api/user/scrip/reply', req);
     return res.data.data;
   },
-  /**  更新上次访问的小纸条 */
-  UpdateLastScripID: async (req?: UpdateLastScripIDRequest) => {
-	const res = await request.post('/api/user/scrip/last/update', req);
+  /**  ---用户专用---
+// 检查用户是否与接待员关联 */
+  CheckUserPartnerIsRelationship: async (req?: PartnerIDParam) => {
+	const res = await request.post<{ data: CheckUserPartnerIsRelationshipReply, code: string, message: string }>('/api/user/check/relationship', req);
+    return res.data.data;
+  },
+  /**  获取接待员的确认通过页面信息 */
+  GetPartnerCircleInfo: async (req?: KeyRequest) => {
+	const res = await request.post<{ data: AddFriendMessageInfo, code: string, message: string }>('/api/user/circle/info', req);
+    return res.data.data;
+  },
+  /**  查看我喜欢的列表 */
+  FindLikeList: async (req?: ListPageRequest) => {
+	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/user/list/like', req);
+    return res.data.data;
+  },
+  /**  查看喜欢我的列表 */
+  FindLikedList: async (req?: ListPageRequest) => {
+	const res = await request.post<{ data: LookAndLikeListReply, code: string, message: string }>('/api/user/list/liked', req);
+    return res.data.data;
+  },
+  /**  获取用户的访客数以及关注数 */
+  GetLookAndLikeStatisticsMessage: async (req?: undefined) => {
+	const res = await request.post<{ data: LookAndLikeMessageReply, code: string, message: string }>('/api/user/num/like_look', req);
+    return res.data.data;
+  },
+  /**  获取用户访问数详情 */
+  GetUserLookNum: async (req?: undefined) => {
+	const res = await request.post<{ data: LookMessageReply, code: string, message: string }>('/api/user/look/num', req);
+    return res.data.data;
+  },
+  /**  用户完善资料 */
+  UserFinishInformation: async (req?: undefined) => {
+	const res = await request.post('/api/user/information/finish', req);
+    return res.data.data;
+  },
+  /**  用户完善情况 */
+  UserInformationStatus: async (req?: undefined) => {
+	const res = await request.post<{ data: InformationStatus, code: string, message: string }>('/api/user/information/status', req);
+    return res.data.data;
+  },
+  /**  用户获取完善资料奖励 */
+  UserGetInformationAward: async (req?: undefined) => {
+	const res = await request.post('/api/user/information/award', req);
+    return res.data.data;
+  },
+  /**  解锁"看过我的"的记录 */
+  UnlockLookRecord: async (req?: PersonParam) => {
+	const res = await request.post('/api/user/look/unlock', req);
+    return res.data.data;
+  },
+  /**  用户充值 */
+  UserRecharge: async (req?: UserRechargeRequest) => {
+	const res = await request.post<{ data: PayInfo, code: string, message: string }>('/api/user/recharge', req);
+    return res.data.data;
+  },
+  /**  充值套餐列表 */
+  FindRechargeList: async (req?: undefined) => {
+	const res = await request.post<{ data: RechargeList, code: string, message: string }>('/api/user/recharge/list', req);
+    return res.data.data;
+  },
+  /**  用户充值记录列表 */
+  FindPayList: async (req?: FindPayOrderListRequest) => {
+	const res = await request.post<{ data: PayOrderList, code: string, message: string }>('/api/user/pay/list', req);
+    return res.data.data;
+  },
+  /**  查询推荐人的列表 */
+  FindRecommendPersonList: async (req?: FindRecommendPersonListRequest) => {
+	const res = await request.post<{ data: RecommendPersonListReply, code: string, message: string }>('/api/user/list/recommend', req);
+    return res.data.data;
+  },
+  /**  获取匹配的头像数组以及数量 */
+  FindMatchingAvatarAndNum: async (req?: undefined) => {
+	const res = await request.post<{ data: FindMatchingAvatarAndNumReply, code: string, message: string }>('/api/user/matching/message', req);
     return res.data.data;
   },
   /**  获取假弹窗 */

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно