From 5979459a4e0479add0dc98f591259d9d07e6b88c Mon Sep 17 00:00:00 2001 From: Yuxuan Luo Date: Tue, 5 Jul 2022 15:01:49 -0400 Subject: [PATCH] SCTP: Support PAD chunk Add support for printing PAD chunk based on RFC4820 section3. Example: [PAD] --- print-sctp.c | 2 + tests/sctp-pad-v.out | 60 ++++++++++++++++++++++++++ tests/sctp-pad-vv.out | 98 ++++++++++++++++++++++++++++++++++++++++++ tests/sctp-pad.out | 30 +++++++++++++ tests/sctp-pad.pcap | Bin 0 -> 13576 bytes 5 files changed, 190 insertions(+) create mode 100644 tests/sctp-pad-v.out create mode 100644 tests/sctp-pad-vv.out create mode 100644 tests/sctp-pad.out create mode 100644 tests/sctp-pad.pcap diff --git a/print-sctp.c b/print-sctp.c index 23b58073de..cc4d2d683f 100644 --- a/print-sctp.c +++ b/print-sctp.c @@ -114,6 +114,7 @@ #define SCTP_I_DATA 0x40 #define SCTP_ASCONF_ACK 0x80 #define SCTP_RE_CONFIG 0x82 +#define SCTP_PAD_CHUNK 0x84 #define SCTP_FORWARD_CUM_TSN 0xc0 #define SCTP_ASCONF 0xc1 #define SCTP_I_FORWARD_TSN 0xc2 @@ -136,6 +137,7 @@ static const struct tok sctp_chunkid_str[] = { { SCTP_SHUTDOWN_COMPLETE, "SHUTDOWN COMPLETE" }, { SCTP_I_DATA, "I-DATA" }, { SCTP_RE_CONFIG, "RE-CONFIG" }, + { SCTP_PAD_CHUNK, "PAD" }, { SCTP_FORWARD_CUM_TSN, "FOR CUM TSN" }, { SCTP_ASCONF, "ASCONF" }, { SCTP_ASCONF_ACK, "ASCONF-ACK" }, diff --git a/tests/sctp-pad-v.out b/tests/sctp-pad-v.out new file mode 100644 index 0000000000..ae14bfff97 --- /dev/null +++ b/tests/sctp-pad-v.out @@ -0,0 +1,60 @@ + 1 11:21:08.215897 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 100) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [INIT] [init tag: 413521971] [rwnd: 106496] [OS: 10] [MIS: 65535] [init TSN: 2253051237] + 2 11:21:08.215923 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 388) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [INIT ACK] [init tag: 145384071] [rwnd: 106496] [OS: 10] [MIS: 10] [init TSN: 4266748061] + 3 11:21:08.215940 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 328) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [COOKIE ECHO] + 4 11:21:08.215959 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 36) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [COOKIE ACK] + 5 11:21:09.986643 IP (tos 0x2,ECT(0), ttl 64, id 1, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.57694 > 10.0.0.169.31337: sctp (1) [HB REQ] + 6 11:21:09.986673 IP (tos 0x2,ECT(0), ttl 64, id 31167, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.31337 > 10.0.0.169.57694: sctp (1) [HB ACK] + 7 11:21:10.338722 IP (tos 0x2,ECT(0), ttl 64, id 31168, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.31337 > 10.0.0.169.57694: sctp (1) [HB REQ] + 8 11:21:10.338734 IP (tos 0x2,ECT(0), ttl 64, id 2, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.57694 > 10.0.0.169.31337: sctp (1) [HB ACK] + 9 11:21:11.106508 IP (tos 0x2,ECT(0), ttl 64, id 3, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.57694 > 192.168.122.1.31337: sctp (1) [HB REQ] + 10 11:21:11.106570 IP (tos 0x2,ECT(0), ttl 64, id 31169, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.31337 > 192.168.122.1.57694: sctp (1) [HB ACK] + 11 11:21:11.618660 IP (tos 0x2,ECT(0), ttl 64, id 4, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.57694 > 10.0.0.192.31337: sctp (1) [HB REQ] + 12 11:21:11.618665 IP (tos 0x2,ECT(0), ttl 64, id 31170, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.31337 > 192.168.122.1.57694: sctp (1) [HB REQ] + 13 11:21:11.618678 IP (tos 0x2,ECT(0), ttl 64, id 31171, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.31337 > 10.0.0.192.57694: sctp (1) [HB ACK] + 14 11:21:11.618695 IP (tos 0x2,ECT(0), ttl 64, id 5, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.57694 > 192.168.122.1.31337: sctp (1) [HB ACK] + 15 11:21:12.642329 IP (tos 0x2,ECT(0), ttl 64, id 31172, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.31337 > 10.0.0.192.57694: sctp (1) [HB REQ] + 16 11:21:12.642340 IP (tos 0x2,ECT(0), ttl 64, id 6, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.57694 > 10.0.0.192.31337: sctp (1) [HB ACK] + 17 11:21:13.410696 IP (tos 0x2,ECT(0), ttl 64, id 31173, offset 0, flags [DF], proto SCTP (132), length 1220) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 18 11:21:13.410716 IP (tos 0x2,ECT(0), ttl 64, id 7, offset 0, flags [DF], proto SCTP (132), length 1220) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] + 19 11:21:13.410727 IP (tos 0x2,ECT(0), ttl 64, id 8, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB ACK] + 20 11:21:13.410732 IP (tos 0x2,ECT(0), ttl 64, id 31174, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB ACK] + 21 11:21:13.410736 IP (tos 0x2,ECT(0), ttl 64, id 31175, offset 0, flags [DF], proto SCTP (132), length 1252) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 22 11:21:13.410739 IP (tos 0x2,ECT(0), ttl 64, id 9, offset 0, flags [DF], proto SCTP (132), length 1252) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] + 23 11:21:13.410743 IP (tos 0x2,ECT(0), ttl 64, id 10, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB ACK] + 24 11:21:13.410746 IP (tos 0x2,ECT(0), ttl 64, id 31176, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB ACK] + 25 11:21:13.410750 IP (tos 0x2,ECT(0), ttl 64, id 31177, offset 0, flags [DF], proto SCTP (132), length 1284) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 26 11:21:13.410754 IP (tos 0x2,ECT(0), ttl 64, id 11, offset 0, flags [DF], proto SCTP (132), length 1284) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] + 27 11:21:13.410757 IP (tos 0x2,ECT(0), ttl 64, id 12, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB ACK] + 28 11:21:13.410760 IP (tos 0x2,ECT(0), ttl 64, id 31178, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB ACK] + 29 11:21:13.410763 IP (tos 0x2,ECT(0), ttl 64, id 31179, offset 0, flags [DF], proto SCTP (132), length 1316) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 30 11:21:13.410767 IP (tos 0x2,ECT(0), ttl 64, id 13, offset 0, flags [DF], proto SCTP (132), length 1316) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] diff --git a/tests/sctp-pad-vv.out b/tests/sctp-pad-vv.out new file mode 100644 index 0000000000..e6a8332fe0 --- /dev/null +++ b/tests/sctp-pad-vv.out @@ -0,0 +1,98 @@ + 1 11:21:08.215897 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 100) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [INIT] [init tag: 413521971] [rwnd: 106496] [OS: 10] [MIS: 65535] [init TSN: 2253051237] + 2 11:21:08.215923 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 388) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [INIT ACK] [init tag: 145384071] [rwnd: 106496] [OS: 10] [MIS: 10] [init TSN: 4266748061] + 3 11:21:08.215940 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 328) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [COOKIE ECHO] + 4 11:21:08.215959 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto SCTP (132), length 36) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [COOKIE ACK] + 5 11:21:09.986643 IP (tos 0x2,ECT(0), ttl 64, id 1, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.57694 > 10.0.0.169.31337: sctp + 1) [HB REQ] + 6 11:21:09.986673 IP (tos 0x2,ECT(0), ttl 64, id 31167, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.31337 > 10.0.0.169.57694: sctp + 1) [HB ACK] + 7 11:21:10.338722 IP (tos 0x2,ECT(0), ttl 64, id 31168, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.31337 > 10.0.0.169.57694: sctp + 1) [HB REQ] + 8 11:21:10.338734 IP (tos 0x2,ECT(0), ttl 64, id 2, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.169.57694 > 10.0.0.169.31337: sctp + 1) [HB ACK] + 9 11:21:11.106508 IP (tos 0x2,ECT(0), ttl 64, id 3, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.57694 > 192.168.122.1.31337: sctp + 1) [HB REQ] + 10 11:21:11.106570 IP (tos 0x2,ECT(0), ttl 64, id 31169, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.31337 > 192.168.122.1.57694: sctp + 1) [HB ACK] + 11 11:21:11.618660 IP (tos 0x2,ECT(0), ttl 64, id 4, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.57694 > 10.0.0.192.31337: sctp + 1) [HB REQ] + 12 11:21:11.618665 IP (tos 0x2,ECT(0), ttl 64, id 31170, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.31337 > 192.168.122.1.57694: sctp + 1) [HB REQ] + 13 11:21:11.618678 IP (tos 0x2,ECT(0), ttl 64, id 31171, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.31337 > 10.0.0.192.57694: sctp + 1) [HB ACK] + 14 11:21:11.618695 IP (tos 0x2,ECT(0), ttl 64, id 5, offset 0, flags [DF], proto SCTP (132), length 92) + 192.168.122.1.57694 > 192.168.122.1.31337: sctp + 1) [HB ACK] + 15 11:21:12.642329 IP (tos 0x2,ECT(0), ttl 64, id 31172, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.31337 > 10.0.0.192.57694: sctp + 1) [HB REQ] + 16 11:21:12.642340 IP (tos 0x2,ECT(0), ttl 64, id 6, offset 0, flags [DF], proto SCTP (132), length 92) + 10.0.0.192.57694 > 10.0.0.192.31337: sctp + 1) [HB ACK] + 17 11:21:13.410696 IP (tos 0x2,ECT(0), ttl 64, id 31173, offset 0, flags [DF], proto SCTP (132), length 1220) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB REQ] + 2) [PAD] + 18 11:21:13.410716 IP (tos 0x2,ECT(0), ttl 64, id 7, offset 0, flags [DF], proto SCTP (132), length 1220) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB REQ] + 2) [PAD] + 19 11:21:13.410727 IP (tos 0x2,ECT(0), ttl 64, id 8, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB ACK] + 20 11:21:13.410732 IP (tos 0x2,ECT(0), ttl 64, id 31174, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB ACK] + 21 11:21:13.410736 IP (tos 0x2,ECT(0), ttl 64, id 31175, offset 0, flags [DF], proto SCTP (132), length 1252) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB REQ] + 2) [PAD] + 22 11:21:13.410739 IP (tos 0x2,ECT(0), ttl 64, id 9, offset 0, flags [DF], proto SCTP (132), length 1252) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB REQ] + 2) [PAD] + 23 11:21:13.410743 IP (tos 0x2,ECT(0), ttl 64, id 10, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB ACK] + 24 11:21:13.410746 IP (tos 0x2,ECT(0), ttl 64, id 31176, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB ACK] + 25 11:21:13.410750 IP (tos 0x2,ECT(0), ttl 64, id 31177, offset 0, flags [DF], proto SCTP (132), length 1284) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB REQ] + 2) [PAD] + 26 11:21:13.410754 IP (tos 0x2,ECT(0), ttl 64, id 11, offset 0, flags [DF], proto SCTP (132), length 1284) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB REQ] + 2) [PAD] + 27 11:21:13.410757 IP (tos 0x2,ECT(0), ttl 64, id 12, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB ACK] + 28 11:21:13.410760 IP (tos 0x2,ECT(0), ttl 64, id 31178, offset 0, flags [DF], proto SCTP (132), length 92) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB ACK] + 29 11:21:13.410763 IP (tos 0x2,ECT(0), ttl 64, id 31179, offset 0, flags [DF], proto SCTP (132), length 1316) + 127.0.0.1.31337 > 127.0.0.1.57694: sctp + 1) [HB REQ] + 2) [PAD] + 30 11:21:13.410767 IP (tos 0x2,ECT(0), ttl 64, id 13, offset 0, flags [DF], proto SCTP (132), length 1316) + 127.0.0.1.57694 > 127.0.0.1.31337: sctp + 1) [HB REQ] + 2) [PAD] diff --git a/tests/sctp-pad.out b/tests/sctp-pad.out new file mode 100644 index 0000000000..9203c7b26c --- /dev/null +++ b/tests/sctp-pad.out @@ -0,0 +1,30 @@ + 1 11:21:08.215897 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [INIT] [init tag: 413521971] [rwnd: 106496] [OS: 10] [MIS: 65535] [init TSN: 2253051237] + 2 11:21:08.215923 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [INIT ACK] [init tag: 145384071] [rwnd: 106496] [OS: 10] [MIS: 10] [init TSN: 4266748061] + 3 11:21:08.215940 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [COOKIE ECHO] + 4 11:21:08.215959 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [COOKIE ACK] + 5 11:21:09.986643 IP 10.0.0.169.57694 > 10.0.0.169.31337: sctp (1) [HB REQ] + 6 11:21:09.986673 IP 10.0.0.169.31337 > 10.0.0.169.57694: sctp (1) [HB ACK] + 7 11:21:10.338722 IP 10.0.0.169.31337 > 10.0.0.169.57694: sctp (1) [HB REQ] + 8 11:21:10.338734 IP 10.0.0.169.57694 > 10.0.0.169.31337: sctp (1) [HB ACK] + 9 11:21:11.106508 IP 192.168.122.1.57694 > 192.168.122.1.31337: sctp (1) [HB REQ] + 10 11:21:11.106570 IP 192.168.122.1.31337 > 192.168.122.1.57694: sctp (1) [HB ACK] + 11 11:21:11.618660 IP 10.0.0.192.57694 > 10.0.0.192.31337: sctp (1) [HB REQ] + 12 11:21:11.618665 IP 192.168.122.1.31337 > 192.168.122.1.57694: sctp (1) [HB REQ] + 13 11:21:11.618678 IP 10.0.0.192.31337 > 10.0.0.192.57694: sctp (1) [HB ACK] + 14 11:21:11.618695 IP 192.168.122.1.57694 > 192.168.122.1.31337: sctp (1) [HB ACK] + 15 11:21:12.642329 IP 10.0.0.192.31337 > 10.0.0.192.57694: sctp (1) [HB REQ] + 16 11:21:12.642340 IP 10.0.0.192.57694 > 10.0.0.192.31337: sctp (1) [HB ACK] + 17 11:21:13.410696 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 18 11:21:13.410716 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] + 19 11:21:13.410727 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB ACK] + 20 11:21:13.410732 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB ACK] + 21 11:21:13.410736 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 22 11:21:13.410739 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] + 23 11:21:13.410743 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB ACK] + 24 11:21:13.410746 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB ACK] + 25 11:21:13.410750 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 26 11:21:13.410754 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] + 27 11:21:13.410757 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB ACK] + 28 11:21:13.410760 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB ACK] + 29 11:21:13.410763 IP 127.0.0.1.31337 > 127.0.0.1.57694: sctp (1) [HB REQ] , (2) [PAD] + 30 11:21:13.410767 IP 127.0.0.1.57694 > 127.0.0.1.31337: sctp (1) [HB REQ] , (2) [PAD] diff --git a/tests/sctp-pad.pcap b/tests/sctp-pad.pcap new file mode 100644 index 0000000000000000000000000000000000000000..8515f8f977f43132c98da37c04d5fac9ad9cd863 GIT binary patch literal 13576 zcmeI0U1$_n6vxl3o9t$irjkB1B^0zQ)glT>?1xPr@~}dPh+RJlf-F@M%myi`7G(CJ zStJ_MlD1fi6$!OcOH4qjV)|6N%|}gAY;7@^(u!=2wS@}BKGc>HJ?G9|_cYAhklh*- z&V|F=ov+_H|2y;N>|7c?^HBhTkQ+g;@W=FXZOvQPErQ)Rr{E(DYXi^>&;Sjc^%Wfe z7DXnWOz5-l4$;aJQ?+0n1F-MhInXrO0!0v}^Jr@WoXl?1v`zOVEhvLxoI?sAn8u(C z_Fx8w@MaWzPzF|~o572>bOy;pCa$P>Y5=U}aQ}`jHv_O|Vy(SIGG-96mVdWw;G1Y& zWB2uvx}|o-#ihHSe&!k{)4Xd(f4Fw)M5W$;=t^(PWcBvPZLp!YH8vA~Ok8pF32d9d zLTRJ|5V^em<|iG~J#P=b`_k#qPsaydji!dqZrO0^T$g>S>gw&k*kzv6CAjzhPX zX3LT^BhKkPIE*US;GBXF^(IDK zmFqWZmHB&6ifeTp@9YfBYT&cFk*hkDt-|iCk?YJ6{lapj4B2?q~*ilYc?-Q!9!LH9KiVw!O%?nlo{~ znxV$6xjFX1>z8AV|LB^Dyvj(1fKq#0leyZtn&(fxf#kAdmZ4@?MC6fC@>>c{&efbu zC_mN(v28kA^Nmc)zwiGz)uj&+xyeX&z9jOxkS6=Bb3Wvc+e=I}2bJ1KQ0+8@U(Iw( z*Tc6BweC7kF1vkm+<660a|hLY(nxlORL#X+HRsgM#Qkd4a-d9}OFD=z%} zXH7Ekp;nv75hEFji5xks$$mA@m;4)&8>7YWJ*H2=2l;kz#2F>>=f8V7Kd+gN^Q-U8 zpLJ^l_Y;ygUPqUOx2)5okM<$|xC?E>l2L;ICwiz7`LgaAI4`_$u-kNi`WMVFd zYpQ!QHM6p+T^#N{ETh~~6c7bG6(EP(i4NC>M=AKo{`U@(!~OR=n*K(@JLb6@Zgvkx z?Kn}Rq*nNVn`rgG} z4wz5hs~wQYNh8@AQ+;ntlMC&8Ir$AFS77=Sd{Ez86m-T_-`nR!&ZqDFBiHx#ahl9U z0Z~8{c+eCeZ{BBgNGMf(@lNfKh4#hbkPq53Ao+*_qJWaqR+ literal 0 HcmV?d00001