Skip to content

Commit 0f4d9f5

Browse files
authored
Remove Google Hangouts/Duo stuff (#2233)
* Remove Google Hangouts/Duo support * Update protocols.rst
1 parent 3dbd89e commit 0f4d9f5

File tree

10 files changed

+64
-22
lines changed

10 files changed

+64
-22
lines changed

doc/protocols.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,16 @@ A Remote Procedure Call protocol over HTTP from Microsoft.
3131

3232
References: `Protocol Specs: <https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rpch/c0f4c9c5-1a61-4d10-b8e2-005378d1d212`_.
3333

34+
35+
.. _Proto 201:
36+
37+
`NDPI_PROTOCOL_GOOGLE_MEET`
38+
====================
39+
Google Meet is a video conferencing service from Google.
40+
41+
References: `Main site: <https://meet.google.com/>`_.
42+
43+
3444
.. _Proto 338:
3545

3646
`NDPI_PROTOCOL_SRTP`

src/include/ndpi_protocol_ids.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ typedef enum {
229229
NDPI_PROTOCOL_MPEGTS = 198,
230230
NDPI_PROTOCOL_SNAPCHAT = 199,
231231
NDPI_PROTOCOL_SINA = 200,
232-
NDPI_PROTOCOL_HANGOUT_DUO = 201, /* Google Hangout ad Duo (merged as they are very similar) */
232+
NDPI_PROTOCOL_GOOGLE_MEET = 201,
233233
NDPI_PROTOCOL_IFLIX = 202,
234234
NDPI_PROTOCOL_GITHUB = 203,
235235
NDPI_PROTOCOL_BJNP = 204,

src/lib/ndpi_content_match.c.inc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -608,8 +608,8 @@ static ndpi_protocol_match host_match[] =
608608
{ "app-measurement.com", "Google", NDPI_PROTOCOL_GOOGLE, NDPI_PROTOCOL_CATEGORY_WEB, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL },
609609
{ ".app-measurement.com", "Google", NDPI_PROTOCOL_GOOGLE, NDPI_PROTOCOL_CATEGORY_WEB, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL },
610610

611-
/* Google Hangout */
612-
{ "images2-hangout-opensocial.googleusercontent.com", "GoogleHangout", NDPI_PROTOCOL_HANGOUT_DUO, NDPI_PROTOCOL_CATEGORY_CHAT, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL },
611+
/* Google Meet */
612+
{ "meet.google.com", "GoogleMeet", NDPI_PROTOCOL_GOOGLE_MEET, NDPI_PROTOCOL_CATEGORY_CHAT, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL },
613613

614614
/* Google Services */
615615
{ "googleapis.com", "GoogleServices", NDPI_PROTOCOL_GOOGLE_SERVICES, NDPI_PROTOCOL_CATEGORY_WEB, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL },
@@ -1573,7 +1573,6 @@ static ndpi_tls_cert_name_match tls_certificate_match [] = {
15731573
{ "O=Riot Games Inc", NDPI_PROTOCOL_RIOTGAMES },
15741574
{ "O=NoMachine", NDPI_PROTOCOL_NOMACHINE },
15751575

1576-
{ "CN=hangouts", NDPI_PROTOCOL_HANGOUT_DUO },
15771576
{ "CN=Snapchat Inc.", NDPI_PROTOCOL_SNAPCHAT_CALL },
15781577
{ "CN=NVIDIA GameStream", NDPI_PROTOCOL_GEFORCENOW },
15791578

src/lib/ndpi_main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1770,8 +1770,8 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp
17701770
"DRDA", NDPI_PROTOCOL_CATEGORY_DATABASE,
17711771
ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0), /* TCP */
17721772
ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1773-
ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, 1 /* app proto */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HANGOUT_DUO,
1774-
"GoogleHangoutDuo", NDPI_PROTOCOL_CATEGORY_VOIP,
1773+
ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, 1 /* app proto */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_GOOGLE_MEET,
1774+
"GoogleMeet", NDPI_PROTOCOL_CATEGORY_VOIP,
17751775
ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
17761776
ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
17771777
ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, 0 /* nw proto */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BJNP,

src/lib/protocols/stun.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ int is_stun(struct ndpi_detection_module_struct *ndpi_struct,
274274
NDPI_LOG_DBG(ndpi_struct, "Realm [%s]\n", flow->host_server_name);
275275

276276
if(strstr(flow->host_server_name, "google.com") != NULL) {
277-
*app_proto = NDPI_PROTOCOL_HANGOUT_DUO;
277+
*app_proto = NDPI_PROTOCOL_GOOGLE_MEET;
278278
return 1;
279279
} else if(strstr(flow->host_server_name, "whispersystems.org") != NULL ||
280280
strstr(flow->host_server_name, "signal.org") != NULL) {
@@ -307,7 +307,7 @@ int is_stun(struct ndpi_detection_module_struct *ndpi_struct,
307307
return 1;
308308

309309
case 0xFF03:
310-
*app_proto = NDPI_PROTOCOL_HANGOUT_DUO;
310+
*app_proto = NDPI_PROTOCOL_GOOGLE_MEET;
311311
return 1;
312312

313313
case 0x0013:
@@ -582,7 +582,7 @@ static void ndpi_int_stun_add_connection(struct ndpi_detection_module_struct *nd
582582
memcmp(&flow->c_address.v6, &pref2, sizeof(pref2)) == 0 ||
583583
memcmp(&flow->s_address.v6, &pref1, sizeof(pref1)) == 0 ||
584584
memcmp(&flow->s_address.v6, &pref2, sizeof(pref2)) == 0) {
585-
app_proto = NDPI_PROTOCOL_HANGOUT_DUO;
585+
app_proto = NDPI_PROTOCOL_GOOGLE_MEET;
586586
}
587587
} else {
588588
u_int32_t c_address, s_address;
@@ -593,7 +593,7 @@ static void ndpi_int_stun_add_connection(struct ndpi_detection_module_struct *nd
593593
(c_address & 0xFFFFFF00) == 0x8efa5200 || /* 142.250.82.0/24 */
594594
(s_address & 0xFFFFFF00) == 0x4a7dfa00 ||
595595
(s_address & 0xFFFFFF00) == 0x8efa5200) {
596-
app_proto = NDPI_PROTOCOL_HANGOUT_DUO;
596+
app_proto = NDPI_PROTOCOL_GOOGLE_MEET;
597597
}
598598
}
599599
}
9.22 KB
Binary file not shown.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
DPI Packets (TCP): 6 (6.00 pkts/flow)
2+
DPI Packets (UDP): 1 (1.00 pkts/flow)
3+
Confidence DPI : 2 (flows)
4+
Num dissector calls: 2 (1.00 diss/flow)
5+
LRU cache ookla: 0/0/0 (insert/search/found)
6+
LRU cache bittorrent: 0/0/0 (insert/search/found)
7+
LRU cache zoom: 0/0/0 (insert/search/found)
8+
LRU cache stun: 0/0/0 (insert/search/found)
9+
LRU cache tls_cert: 0/0/0 (insert/search/found)
10+
LRU cache mining: 0/0/0 (insert/search/found)
11+
LRU cache msteams: 0/0/0 (insert/search/found)
12+
LRU cache stun_zoom: 0/0/0 (insert/search/found)
13+
Automa host: 2/2 (search/found)
14+
Automa domain: 2/0 (search/found)
15+
Automa tls cert: 0/0 (search/found)
16+
Automa risk mask: 0/0 (search/found)
17+
Automa common alpns: 3/3 (search/found)
18+
Patricia risk mask: 2/0 (search/found)
19+
Patricia risk mask IPv6: 0/0 (search/found)
20+
Patricia risk: 0/0 (search/found)
21+
Patricia risk IPv6: 0/0 (search/found)
22+
Patricia protocols: 2/2 (search/found)
23+
Patricia protocols IPv6: 0/0 (search/found)
24+
25+
GoogleMeet 12 8888 2
26+
27+
JA3 Host Stats:
28+
IP Address # JA3C
29+
1 192.168.88.231 2
30+
31+
32+
1 UDP 192.168.88.231:59369 <-> 173.194.73.101:443 [proto: 188.201/QUIC.GoogleMeet][IP: 126/Google][Encrypted][Confidence: DPI][DPI packets: 1][cat: Chat/9][2 pkts/1373 bytes <-> 4 pkts/5168 bytes][Goodput ratio: 94/97][0.04 sec][Hostname/SNI: meet.google.com][(Advertised) ALPNs: h3][TLS Supported Versions: TLSv1.3][bytes ratio: -0.580 (Download)][IAT c2s/s2c min/avg/max/stddev: 18/17 18/6 18/17 0/8][Pkt Len c2s/s2c min/avg/max/stddev: 81/1292 686/1292 1292/1292 606/0][TLSv1.3][QUIC ver: V-1][JA3C: 86ba0adabbe377daf6b620f07b59b45c][JA4: q13d0311h][ECH: version 0xfe0d][PLAIN TEXT (w.ZLst)][Plen Bins: 0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,0]
33+
2 TCP 192.168.88.231:43268 <-> 173.194.73.101:443 [proto: 91.201/TLS.GoogleMeet][IP: 126/Google][Encrypted][Confidence: DPI][DPI packets: 6][cat: Chat/9][3 pkts/741 bytes <-> 3 pkts/1606 bytes][Goodput ratio: 72/87][0.03 sec][Hostname/SNI: meet.google.com][(Advertised) ALPNs: h2;http/1.1][TLS Supported Versions: GREASE;TLSv1.3;TLSv1.2][bytes ratio: -0.369 (Download)][IAT c2s/s2c min/avg/max/stddev: 0/0 8/8 16/16 8/8][Pkt Len c2s/s2c min/avg/max/stddev: 66/66 247/535 601/1466 250/658][TLSv1.3][JA3C: f97d8fcbd3d1517f7bf0d2c536a503a1][JA4: t00d1516h2_8daaf6152771_02713d6af862][JA3S: eb1d94daa7e0344597e756a1fb6e7054][ECH: version 0xfe0d][Chrome][Cipher: TLS_AES_128_GCM_SHA256][Plen Bins: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0]

tests/cfgs/default/result/stun.pcap.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ DTLS 4 766 1
2727
Skype_TeamsCall 15 2124 1
2828
STUN 62 7620 2
2929
ICMP 1 122 1
30-
GoogleHangoutDuo 41 7228 2
30+
GoogleMeet 41 7228 2
3131
FacebookVoip 75 10554 1
3232

3333
JA3 Host Stats:
@@ -36,10 +36,10 @@ JA3 Host Stats:
3636

3737

3838
1 UDP 192.168.12.169:38123 <-> 31.13.86.54:40003 [proto: 78.268/STUN.FacebookVoip][IP: 119/Facebook][ClearText][Confidence: DPI][DPI packets: 2][cat: VoIP/10][40 pkts/6134 bytes <-> 35 pkts/4420 bytes][Goodput ratio: 73/67][10.09 sec][Hostname/SNI: turner.facebook][bytes ratio: 0.162 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 0/0 260/331 6004/5997 1040/1126][Pkt Len c2s/s2c min/avg/max/stddev: 70/68 153/126 190/174 31/39][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][PLAIN TEXT (unauthorized)][Plen Bins: 8,14,9,28,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
39-
2 UDP 192.168.12.169:49153 <-> 142.250.82.99:3478 [proto: 78.201/STUN.GoogleHangoutDuo][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 1][cat: VoIP/10][18 pkts/2856 bytes <-> 15 pkts/3436 bytes][Goodput ratio: 74/82][2.12 sec][bytes ratio: -0.092 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 8/0 88/153 699/625 177/222][Pkt Len c2s/s2c min/avg/max/stddev: 107/76 159/229 588/1240 107/297][PLAIN TEXT (BwlkYDtFJ)][Plen Bins: 0,6,57,21,6,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0]
39+
2 UDP 192.168.12.169:49153 <-> 142.250.82.99:3478 [proto: 78.201/STUN.GoogleMeet][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 1][cat: VoIP/10][18 pkts/2856 bytes <-> 15 pkts/3436 bytes][Goodput ratio: 74/82][2.12 sec][bytes ratio: -0.092 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 8/0 88/153 699/625 177/222][Pkt Len c2s/s2c min/avg/max/stddev: 107/76 159/229 588/1240 107/297][PLAIN TEXT (BwlkYDtFJ)][Plen Bins: 0,6,57,21,6,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0]
4040
3 UDP [3516:bf0b:fc53:75e7:70af:f67f:8e49:f603]:56880 <-> [2a38:e156:8167:a333:face:b00c::24d9]:3478 [proto: 78/STUN][IP: 0/Unknown][ClearText][Confidence: DPI][DPI packets: 5][cat: Network/14][21 pkts/1722 bytes <-> 21 pkts/2226 bytes][Goodput ratio: 24/41][191.49 sec][bytes ratio: -0.128 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 2/2 9451/9451 10358/10358 2441/2441][Pkt Len c2s/s2c min/avg/max/stddev: 82/106 82/106 82/106 0/0][PLAIN TEXT (WOBTrOXR)][Plen Bins: 50,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
4141
4 TCP 87.47.100.17:3478 <-> 54.1.57.155:37257 [proto: 78/STUN][IP: 0/Unknown][ClearText][Confidence: DPI][DPI packets: 6][cat: Network/14][9 pkts/1494 bytes <-> 11 pkts/2178 bytes][Goodput ratio: 60/67][0.95 sec][Hostname/SNI: apps-host.com][bytes ratio: -0.186 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 0/0 104/96 267/252 102/93][Pkt Len c2s/s2c min/avg/max/stddev: 74/94 166/198 234/354 41/65][PLAIN TEXT (Unauthorized)][Plen Bins: 10,0,15,21,42,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
4242
5 TCP 10.77.110.51:41588 <-> 10.206.50.239:42000 [VLAN: 1611][proto: 78.38/STUN.Skype_TeamsCall][IP: 0/Unknown][ClearText][Confidence: DPI][DPI packets: 3][cat: VoIP/10][7 pkts/1006 bytes <-> 8 pkts/1118 bytes][Goodput ratio: 58/57][1.05 sec][bytes ratio: -0.053 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 0/0 189/134 369/399 144/153][Pkt Len c2s/s2c min/avg/max/stddev: 70/64 144/140 164/172 31/43][Plen Bins: 0,0,25,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
43-
6 UDP 192.168.12.169:43016 <-> 74.125.247.128:3478 [proto: 78.201/STUN.GoogleHangoutDuo][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 4][cat: VoIP/10][4 pkts/528 bytes <-> 4 pkts/408 bytes][Goodput ratio: 68/59][1.25 sec][Hostname/SNI: turn.l.google.com][bytes ratio: 0.128 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 9/23 342/409 974/1177 447/543][Pkt Len c2s/s2c min/avg/max/stddev: 62/74 132/102 198/122 61/19][PLAIN TEXT (BSnLfRxS6)][Plen Bins: 12,37,25,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
43+
6 UDP 192.168.12.169:43016 <-> 74.125.247.128:3478 [proto: 78.201/STUN.GoogleMeet][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 4][cat: VoIP/10][4 pkts/528 bytes <-> 4 pkts/408 bytes][Goodput ratio: 68/59][1.25 sec][Hostname/SNI: turn.l.google.com][bytes ratio: 0.128 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 9/23 342/409 974/1177 447/543][Pkt Len c2s/s2c min/avg/max/stddev: 62/74 132/102 198/122 61/19][PLAIN TEXT (BSnLfRxS6)][Plen Bins: 12,37,25,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
4444
7 UDP 192.168.43.169:48854 <-> 134.224.90.111:8801 [proto: 30/DTLS][IP: 189/Zoom][Encrypted][Confidence: DPI][DPI packets: 4][3 pkts/660 bytes <-> 1 pkts/106 bytes][Goodput ratio: 81/60][0.12 sec][(Advertised) ALPNs: webrtc;c-webrtc][Risk: ** Known Proto on Non Std Port **** Missing SNI TLS Extn **][Risk Score: 100][DTLSv1.2][JA3C: 3e12a43c7535bb32beac3928f8fe905d][JA4: t00d0808we_c6c2b6ec87e0_06b1ae923e2a][Firefox][PLAIN TEXT (DCBD09778680)][Plen Bins: 0,0,25,0,25,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
4545
8 ICMP 192.168.12.169:0 -> 74.125.247.128:0 [proto: 81/ICMP][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 1][cat: Network/14][1 pkts/122 bytes -> 0 pkts/0 bytes][Goodput ratio: 65/0][< 1 sec][Risk: ** Unidirectional Traffic **][Risk Score: 10][Risk Info: No server to client traffic][PLAIN TEXT (62NfUD5)][Plen Bins: 0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

tests/cfgs/default/result/stun_dtls_rtp.pcapng.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ Patricia risk IPv6: 0/0 (search/found)
2121
Patricia protocols: 1/1 (search/found)
2222
Patricia protocols IPv6: 0/0 (search/found)
2323

24-
GoogleHangoutDuo 39 8413 1
24+
GoogleMeet 39 8413 1
2525

26-
1 UDP 192.168.12.156:37967 <-> 142.250.82.76:19305 [proto: 78.201/STUN.GoogleHangoutDuo][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 1][cat: VoIP/10][25 pkts/4202 bytes <-> 14 pkts/4211 bytes][Goodput ratio: 75/86][0.88 sec][bytes ratio: -0.001 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 0/0 37/35 203/107 47/36][Pkt Len c2s/s2c min/avg/max/stddev: 103/82 168/301 587/1245 125/320][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][Risk Info: No server to client traffic][PLAIN TEXT (ShSURJhNF)][Plen Bins: 0,5,47,30,2,0,0,0,0,0,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0]
26+
1 UDP 192.168.12.156:37967 <-> 142.250.82.76:19305 [proto: 78.201/STUN.GoogleMeet][IP: 126/Google][ClearText][Confidence: DPI][DPI packets: 1][cat: VoIP/10][25 pkts/4202 bytes <-> 14 pkts/4211 bytes][Goodput ratio: 75/86][0.88 sec][bytes ratio: -0.001 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 0/0 37/35 203/107 47/36][Pkt Len c2s/s2c min/avg/max/stddev: 103/82 168/301 587/1245 125/320][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][Risk Info: No server to client traffic][PLAIN TEXT (ShSURJhNF)][Plen Bins: 0,5,47,30,2,0,0,0,0,0,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0]

0 commit comments

Comments
 (0)