From f9193f03db0029fc9c31fbdb5c66a2737446bd8f Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 25 Mar 2024 09:28:02 +1100 Subject: [PATCH 001/172] Improve detection of -fzero-call-used-regs=used. Should better detect problems with gcc 13 on m68k. bz#3673 from Colin Watson via bz#3673 and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110934 Signed-off-by: Darren Tucker --- m4/openssh.m4 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/m4/openssh.m4 b/m4/openssh.m4 index 033df501c3d8..176a8d1c9282 100644 --- a/m4/openssh.m4 +++ b/m4/openssh.m4 @@ -20,7 +20,10 @@ char *f2(char *s, ...) { va_end(args); return strdup(ret); } +int i; +double d; const char *f3(int s) { + i = (int)d; return s ? "good" : "gooder"; } int main(int argc, char **argv) { From 75d1d49ed10d978171cdafad28bdbffdbd48f41e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 25 Mar 2024 10:38:03 +1100 Subject: [PATCH 002/172] Update branches shown on ci-status to 9.7 and 9.6. --- .github/ci-status.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ci-status.md b/.github/ci-status.md index 8d4cea10dba4..7659506c1104 100644 --- a/.github/ci-status.md +++ b/.github/ci-status.md @@ -6,10 +6,10 @@ master : [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) [![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) -9.4 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_4)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_4) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_4)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_4) +9.7 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_7)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_7) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_7)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_7) -9.3 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_3)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_3) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_3)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_3) +9.6 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_6)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_6) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_6)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_6) From 2d7964a03e1f50a48040ec6912c0a956df909d21 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 25 Mar 2024 14:05:40 +1100 Subject: [PATCH 003/172] Move xpg4 'id' handling into test-exec.sh. Handle replacement of 'id' the same way as we do other Portable specific replacements in test-exec.sh. This brings percent.sh back into sync with upstream. --- regress/percent.sh | 5 ----- regress/test-exec.sh | 8 ++++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/regress/percent.sh b/regress/percent.sh index 44561d413bb3..354854f97d55 100644 --- a/regress/percent.sh +++ b/regress/percent.sh @@ -3,11 +3,6 @@ tid="percent expansions" -if [ -x "/usr/xpg4/bin/id" ]; then - PATH=/usr/xpg4/bin:$PATH - export PATH -fi - USER=`id -u -n` USERID=`id -u` HOST=`hostname | cut -f1 -d.` diff --git a/regress/test-exec.sh b/regress/test-exec.sh index ad627941f4d2..f4c363d847f6 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -392,6 +392,7 @@ have_prog() jot() { awk "BEGIN { for (i = $2; i < $2 + $1; i++) { printf \"%d\n\", i } exit }" } + if [ ! -x "`which rev`" ]; then rev() { @@ -399,6 +400,13 @@ rev() } fi +if [ -x "/usr/xpg4/bin/id" ]; then +id() +{ + /usr/xpg4/bin/id +} +fi + # Check whether preprocessor symbols are defined in config.h. config_defined () { From 0d5bdc87a675271862b67eb6a9fb13a202fb4894 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 25 Mar 2024 16:14:21 +1100 Subject: [PATCH 004/172] Add Mac OS X 14 test targets. --- .github/workflows/c-cpp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index edb88f23c0fb..21ea2d969faf 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,6 +19,7 @@ jobs: - macos-11 - macos-12 - macos-13 + - macos-14 - windows-2019 - windows-2022 config: [default] @@ -100,6 +101,7 @@ jobs: - { target: macos-11, config: pam } - { target: macos-12, config: pam } - { target: macos-13, config: pam } + - { target: macos-14, config: pam } runs-on: ${{ matrix.target }} steps: - name: set cygwin git params From 151146f03b490d19145cd421763aa7d42f5c50e2 Mon Sep 17 00:00:00 2001 From: "job@openbsd.org" Date: Thu, 14 Mar 2024 06:23:14 +0000 Subject: [PATCH 005/172] upstream: Clarify how literal IPv6 addresses can be used in -J mode OK djm@ OpenBSD-Commit-ID: 524ddae97746b3563ad4a887dfd0a6e6ba114c50 --- ssh.1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ssh.1 b/ssh.1 index 936c995ba448..4f5fd07a6f32 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.438 2023/10/11 23:14:33 djm Exp $ -.Dd $Mdocdate: October 11 2023 $ +.\" $OpenBSD: ssh.1,v 1.439 2024/03/14 06:23:14 job Exp $ +.Dd $Mdocdate: March 14 2024 $ .Dt SSH 1 .Os .Sh NAME @@ -331,6 +331,7 @@ connection to the jump host described by and then establishing a TCP forwarding to the ultimate destination from there. Multiple jump hops may be specified separated by comma characters. +IPv6 addresses can be specified by enclosing the address in square brackets. This is a shortcut to specify a .Cm ProxyJump configuration directive. From fe169487937780392b23d3ff3c00e5898c10f784 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 26 Mar 2024 01:23:11 +0000 Subject: [PATCH 006/172] upstream: Import regenerated moduli. OpenBSD-Commit-ID: ad3d1486d105b008c93e952d158e5af4d9d4c531 --- moduli | 922 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 468 insertions(+), 454 deletions(-) diff --git a/moduli b/moduli index 00d293e72cf6..fb682e45aad2 100644 --- a/moduli +++ b/moduli @@ -1,455 +1,469 @@ -# $OpenBSD: moduli,v 1.35 2023/10/25 05:38:08 dtucker Exp $ +# $OpenBSD: moduli,v 1.37 2024/03/26 01:23:11 dtucker Exp $ # Time Type Tests Tries Size Generator Modulus -20231002030805 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EB8660D47 -20231002030808 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EB87B625B -20231002030813 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EB899E127 -20231002030815 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EB8A5B277 -20231002030836 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EB93E67BF -20231002030904 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBA18CD33 -20231002030905 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBA1F43E3 -20231002030909 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBA35A643 -20231002030914 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBA5AD7D7 -20231002030917 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBA688543 -20231002030922 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBA8BC207 -20231002030930 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBAC6C757 -20231002030932 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBACF1123 -20231002030937 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBAEED413 -20231002030945 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBB278463 -20231002030948 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBB360C03 -20231002030953 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBB5351EB -20231002030957 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBB718EB7 -20231002031014 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBBF2439F -20231002031016 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBBFCAB93 -20231002031017 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBBFF4D43 -20231002031018 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBC02091B -20231002031024 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBC293BBB -20231002031030 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBC539E1F -20231002031041 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBC9F21FB -20231002031046 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBCC001EB -20231002031055 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBD054ECB -20231002031101 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBD2BEB8F -20231002031105 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBD4264E7 -20231002031111 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBD725953 -20231002031137 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBE30F30F -20231002031141 2 6 100 2047 2 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBE4B5583 -20231002031201 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBEE6277F -20231002031226 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBFA54AFF -20231002031228 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EBFAF829F -20231002031240 2 6 100 2047 5 C9221A14AD5A6D21D700B002E8DAD042C817FAAAB8D0456A14E7A99010D8C877B4838CDCFA265C3E3675B0DA35547737F9A6913F6CF3F43EC7EEC9336B620D3B4203847DDCB679BD72B32F6D2E8949E23B86EB2BA4A05C622A33C8050F0CC6868B2A0D6C813FDAE12CF6D1288B689F454C605DC5443B75B887460A05B4D0674982D714E02D579BAA26A1B044193755164E1DDB9E06281D7D59BE4289D4F0E5255896903A5164903B1B27BD10B7F2E8DAFE1257DBE4F0B7AF918229C71803CB48226B4A4B7269D1482E67F8AF49AA7B866264F5659F4069AC49ADDB799707C3BB50A3CB15109EBEAAA522FDDBE7A04CC957D507952B1AB7C8433CCE9EC0092F8F -20231002031252 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BCF330043 -20231002031302 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BCF7CB2A7 -20231002031315 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BCFD54D3B -20231002031324 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD019867B -20231002031330 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD048E5CB -20231002031333 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD058783B -20231002031336 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD06951E7 -20231002031345 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD0B15DDB -20231002031352 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD0DF392F -20231002031353 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD0E1DA4F -20231002031358 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD1024ECF -20231002031422 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD1AD9CCF -20231002031443 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD246DEB7 -20231002031446 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD25B82D7 -20231002031501 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD2BDB3B3 -20231002031503 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD2CA2913 -20231002031507 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD2DDA103 -20231002031510 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD2EE864F -20231002031512 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD2FD7593 -20231002031524 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD34B987F -20231002031529 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD36CFB43 -20231002031554 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD42296D3 -20231002031557 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD4325F13 -20231002031558 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD435523B -20231002031559 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD4378F23 -20231002031606 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD46B0D8F -20231002031609 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD47838DB -20231002031614 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD49B4D97 -20231002031616 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD4A79F1B -20231002031627 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD4F13DE7 -20231002031640 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD54C80A3 -20231002031647 2 6 100 2047 2 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD57CEE9B -20231002031657 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD5C336DF -20231002031722 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD67708D7 -20231002031726 2 6 100 2047 5 C6D9FD71BDE795C2EE4F7D579076A77F9B3890B702B6DFB925953742C053CCFB301FCA857CD81F06B3CF899EBE78D6D73BBAB02268E886B2A87D92B4F633852675AC105C0E82CE802614E36A7F390E18D4F0F78682E9695A949E8C127B82164EF1FC6F5859D66EDACDD23B9FE330B26B6D468A0A50E4C14F70F66F970895A3EE007AA67635FADEA461D164CE6D79F4DFC13EAFBE05D68275D8383AB0A4D6A658D7A1AE0202787F53F0F8D330A1D1E8BAA0B6FD51C5D694BA3790B2A80E2C7B070CA5BCD04637244CA32D64B3F07268E57F506826A8DFA31A9554168C0A9DB5FEBFBF8F9F69F654037386E0E5E256F29F68A2591707D9039231137F3BD691BEF7 -20231002032547 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12D8CBB46B -20231002032805 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DA7EE34B -20231002032822 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DAAEC6FB -20231002032842 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DAEA6C23 -20231002032914 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DB4D999B -20231002033000 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DBDC876F -20231002033013 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DBFF1573 -20231002033053 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DC7C299F -20231002033112 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DCB88C93 -20231002033119 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DCC509A3 -20231002033850 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DCD76FEB -20231002034205 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DF47D2AF -20231002034230 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DF8EE537 -20231002034248 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12DFC506C7 -20231002034330 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E0404E13 -20231002034333 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E0446EA3 -20231002034515 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E1834B9B -20231002034639 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E290DF83 -20231002034740 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E34F7147 -20231002034840 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E40DCBEB -20231002035011 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E532191B -20231002035040 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E58DBAF3 -20231002035054 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E5B2B7B3 -20231002035152 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E664D9B7 -20231002035246 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E7118207 -20231002035321 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E77B3B6B -20231002035417 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E82BC0B3 -20231002035425 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E840D433 -20231002035503 2 6 100 3071 5 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E8B63EEF -20231002035546 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12E9486AEB -20231002035730 2 6 100 3071 2 D435B9DA29C6441FE8C9693F4276E0DF5FC91028EBCB2FE2DC0EC03A9F7BF53BB1B447DC71B517B5CB363A71FE199CF790CC42C21692526421D200C39C2B41EA8E9DBF0FE4366B1B372C69B33D6381A38E1213F317D0D792C826510E72F70F2B198DDB768D19FB28E5FC20D678044D67BC6DAF6B7496AE902BB7C07BE6D2671A284A226179B73C43DA4902313D03A601BE81267B9A7D0064E386FC1B1DD31D7146BB837B5D0CED5CC5D834BC0E25F4C2EF181A881B4F5B96C34324758D5FEAF5659098F445871B6593AD4F6E2BC5CC01BF7DA5827BFEED605C26B0C50B6B308EE376528A933E01DA445D5902DCF4C937B2D575EDD33ECE07EA6738167858430515AF1B160E301ED1C4096871F2248CD83019FA381449723D2F220D94F4CE3C2E6A789D6748B0BDADE26ED2B445AE04B421342393804D7F0EBF6A53AE289FA16A0366F419EF5BA2690690836055833140A8EA541F6329E12C6C094667CE2E744DE08B6ADB36E944EE9E8721E0D7E6D6953B9C0AFB033EC9A1E229CB12EA982A83 -20231002040037 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938951705C3 -20231002040109 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938957A0E7B -20231002040120 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389599ED67 -20231002040253 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B03093896C6D78B -20231002040333 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B03093897424DDB -20231002040358 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B03093897902357 -20231002040616 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389948105F -20231002040624 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938995C6133 -20231002040627 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938995FC8B3 -20231002040642 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B03093899896D03 -20231002040758 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389A758183 -20231002040835 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389AE5E05F -20231002040911 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389B52D353 -20231002041010 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389C013C77 -20231002041047 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389C71BDC7 -20231002041152 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389D3D79CF -20231002041202 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389D565883 -20231002041216 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389D7D082B -20231002041326 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389E56387B -20231002041453 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389F70C107 -20231002041513 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B0309389FAACA93 -20231002041815 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A1ECB753 -20231002041833 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A222270B -20231002041942 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A2FDDF13 -20231002041950 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A3105EB7 -20231002041955 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A31AC273 -20231002042039 2 6 100 3071 5 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A3A1B25F -20231002042113 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A405A9EB -20231002042201 2 6 100 3071 2 CFA8C0FEA9FA30086B87B145CE1B10C850BED7B0E48D74F4104D54A0587078F777489F278BDD390E108E3535FA8DBE332D3C22F5EEEF08BF54017590B7182E3A2C0F955D437957004A29177CBD8549716E8159BD84160EF1369DC35DD34B286F9364DD5CEFB4D32DEAB497D2F80AE9C943DD623B7D064EF87EF53EC9E60512C8511B0F26C46E0A1BC9AA62B80675C3C17D28C13BDD8B40CC9C3647F4C72333CF2710F4C0319F26C2D030B77838012F58815DCC36E887ED5121B80819BFD12F127C43A839190115036D3F1075AF79D189A9F4E64DD0E811FBF4FF29D57665DE4D6FA07BF0724D829FF003079279299C2126105F084677DCB09911041CBE2B551FDAED06905986B219FC807A529BF392C8F73DFE1C57EC6E4AC3C14643813849A1F9EE1BC522C7C073817C980404116116E4A04945396190A640D2F7B1D255473470EA22A4D53D438656BDE67F95C83D00E1F184C956D7546F7D8954E6ABA6187B315BA05FF68D55CBA76E166D05D5932A3A6830CA2A2633B55B030938A4A09C1B -20231002043546 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F97BB7733 -20231002043733 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9861D57F -20231002043843 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F98C8A233 -20231002044121 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F99BD3D4B -20231002044301 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9A5765BB -20231002044414 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9ABFFEB3 -20231002044437 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9ADDE5FF -20231002044444 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9AE21BFB -20231002044502 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9AF4897B -20231002044715 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9BC8783F -20231002045021 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9CF269E3 -20231002045030 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9CF82FF3 -20231002045222 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9DA5D437 -20231002045350 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150F9E2AF5C3 -20231002045917 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA034D613 -20231002050316 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA1A8EC27 -20231002050449 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA231F75F -20231002050518 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA2566FD7 -20231002050704 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA2F8012B -20231002051424 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA5AB0EEF -20231002051430 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA5AC9567 -20231002051505 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA5DBE54B -20231002051743 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA6CA6C3B -20231002051905 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FA7475D7B -20231002052700 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FAA2FD977 -20231002052843 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FAACE8103 -20231002053332 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FAC9088BF -20231002053348 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FACA13883 -20231002053427 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FACD80957 -20231002053619 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FAD8747C3 -20231002053638 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FADA116CB -20231002054016 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FAEF247E7 -20231002054332 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FB01C491B -20231002055042 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FB2C6574B -20231002055303 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FB3A696EB -20231002055356 2 6 100 4095 2 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FB3F0234B -20231002055921 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FB5E7DD1F -20231002060022 2 6 100 4095 5 C333C378E10FC8C3708C149CF7D706B80DAAA93FE362B5EB5E8AF660111D8D65BF44AC08C0393E17B84456EA4D7397E1AA57E6273381A401F425E96DD3B920B49FF097DAA659A2AC0C33F40EA13C8390BEE8BD1C3C9351076C4E114B117148246665CB5F314AF2054C69C6C9E13BB5CF6471FCE69C62DCC98D69ECDC9E9A92AAC2DF217F08CC4ED2FD87B513AA2315B1B9D23ACFEBFA8F333DABCA10A1F0A4ABC0C4A67B238D8E6D0AB68FE704A026F6EF933EE8D65B9BC314E3C3DD7B7FA6D2F964AB1B515A8A59CB5494DE98BDA70F6EC165BB541B00A1DF8A1B36BA4DA1503CD030C446D0443CB27AFC732C8136E53B69CFA21213C23B98DE5F5B513339427885AEE13B4578F8D53E03DD61AAF34FE8EB0979E29289A3661EED1954AC61CD61118AE5E4F9957198521F730D252A2B5FA51B3ECD0CBD48B1C4A2ACD8BB8131449E896C11E23F41C96BF044AADCC0DB1EEB57E3CFBE9042B06C772AB665A8FA630A2D0217E536E4538F2AE51E44161CF1FD2FA42D26C049C406AEE8D9F1B5BD01A5161E47906F3733F2EAE03F38697DDA9241C1722E5A73B229B0A270B0161208F7A1E4BE65E00B7713E38BFE7D806206D87B55D8E81F2F35F8871611DE73A47BFCA3EE2FE77EC71E20A262A3C02220A026D1E8819608D4EAE37ECFA36D9E9126033C64C4DFE951E6807E14F5B3F870EA3FA19EA754C87435A8150FB6418067 -20231002060252 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9744E5413 -20231002060407 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C974C3A0E7 -20231002060612 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9758246AF -20231002060651 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C975B74527 -20231002061114 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9774C8B23 -20231002061217 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C977A83D87 -20231002061542 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C978E6F5CB -20231002061844 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97A0144F7 -20231002061946 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97A6011B3 -20231002062202 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97B334B7B -20231002062312 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97B9ED387 -20231002062659 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97D0167CB -20231002062852 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97DB1C8BF -20231002063237 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C97F124ADB -20231002063513 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98005B663 -20231002063540 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9802AD0C3 -20231002063556 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9803CF883 -20231002063708 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C980A85467 -20231002063741 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C980D5E6E3 -20231002064635 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C984192C6F -20231002064848 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C984DE3F33 -20231002065019 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98566002F -20231002065353 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C986B1C91F -20231002065445 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C986FBEF63 -20231002065538 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9874B543F -20231002065545 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9874E6C33 -20231002065701 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C987BBE79B -20231002065747 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C987FA3B4B -20231002065946 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C988B42243 -20231002070008 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C988CE62DF -20231002070120 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98938A307 -20231002070247 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C989BCF6BF -20231002070501 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98A8905A7 -20231002070514 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98A959DB7 -20231002070804 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98B9DB8B7 -20231002070841 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98BD43657 -20231002071314 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98D7FB3C3 -20231002071325 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98D88E8EB -20231002071745 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98F149D2B -20231002072004 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C98FEA9D3F -20231002072030 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9901007BB -20231002072226 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C990C0B8B3 -20231002072853 2 6 100 4095 2 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C993192063 -20231002072941 2 6 100 4095 5 E10CECA5887CEBC483A29080A2665F35F0CA7AD441F1451C2549272D35936D1324CA62500733CA6F11AEC477CAEAA7FBB60520F6A84C052238F72F22488739C6D6A14A96A7CEBBB293123CBA3845C0EE6B4D6B5305B2FD642B339BF418BC410A3FC054C07017656805C573C065EF62661B2B638AB5B65EF9C6F90A60FA2DCC60DF4004BF0E9F8B01FD7CD71D73AFE50CCC276652E2198FF628842A84BF4BBF8B8DBCA7E609FEB204610F9D179D28FBE60F84D3E31DBCA604F14388E698B9613EFA6CD699B7AFBEEC7876691838FE7DC40803BAF56B6B96D9A975B1512B64ABECE3B1DA48E4EE3414B935B458482AD23938D4878EC3205C6570145C02753F81D2EFF8D466B09CAD48CFFD3296B963958584DE48060708B00436CDF38A23A2C6B87740CFEC4F83A706F04C0C5F21670AAC91DBB5A5AE739767BB27C60B981E7E14EF74B191FA1532BD002BBEC37FA81F9497AB3620C259A8BF7E9271BC275B2BDBE3E64485551EC9D8D2E0A35B6CF7337840A1591B7693ED5F1F2EEB16ADFE9946DB2FCDCF1A1DF8ACB4AA6E84E821269ED19AF829985AC9185ED3A320C62D0562DAC68F6C4E6A6D0924030D6721226A7985CC7086AA6B02ABF22BF80878A69415D1ED7E0FEEF5D97DC3598CF2528185137B2A3401F07BDE1B8E3883D6BDC6E9A9329D764E8861F40FA27BEDCB2B1B04908503C8A30BF19AA4564DB7C9935E137F -20231002081041 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B0333397 -20231002082147 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B18E4283 -20231002083104 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B2B4F773 -20231002083134 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B2BD2843 -20231002084350 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B44B71D3 -20231002141344 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B0333397 -20231002142442 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B18E4283 -20231002143348 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B2B4F773 -20231002143419 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B2BD2843 -20231002144651 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B44B71D3 -20231002150103 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B612B503 -20231002150136 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B61C3BEB -20231002151801 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B82F193B -20231002152637 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76B9420B8F -20231002153456 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76BA45EDCF -20231002153746 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76BA97B48F -20231002160531 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76BE29EAC3 -20231002162342 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76C078F093 -20231002163511 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76C1E48843 -20231002170308 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76C57F3C33 -20231002170614 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76C5DBDF1B -20231002172548 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76C855E547 -20231002172639 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76C86B2807 -20231002175342 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76CBE853A3 -20231002180217 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76CCFBD417 -20231002184225 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76D20A9DF7 -20231002185958 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76D43A135F -20231002192316 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76D72F8AEF -20231002192445 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76D7559777 -20231002195410 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76DB15D467 -20231002200603 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76DC94115F -20231002201042 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76DD1AA643 -20231002201544 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76DDB77B67 -20231002204234 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76E11C2123 -20231002211226 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76E4DC58EB -20231002211356 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76E50579B3 -20231002213652 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76E7E66133 -20231002214032 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76E854A163 -20231002215638 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76EA552477 -20231002221259 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76EC52B343 -20231002222832 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76EE45CBAB -20231002222905 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76EE4E0293 -20231002224654 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76F081244B -20231002225640 2 6 100 6143 2 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76F1A84B23 -20231002230658 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76F2F06967 -20231002232045 2 6 100 6143 5 CFDC18EEBE159970EEDBE80A11E47B1A8BE485032522B106574399D90EC4F423A1328A4BDCFC7622AA2CC6E350C364FFBFE243DE26176C0CF4937AA4358BF4B1D83FC4A6ADD821604FBD9523C52C108BD658BC9DAAF471040A6ACA8BA818F84F784AC48F5EA6619C156F1B24246C2C35CF91C7560CB09CF96C53B2431B5292461048F66E36902B86D9352DF48E8B2D37FECB3B76A84A2BE0A419DC7D163926F15101D626A44F13C5AE5EFFD2992E49C6BC91A4AEFF174A980270F4CA8399D5B1AC018914F086C459BEDE80C02B798F580CCB22968C9C5EF85FD28D92D18AC6F39B8B0DA06B7116095C6EABC0B836B67DD741FF5D8E4561FB952DD1069018C9EC658DFF6CA7A0135B0822806A4BBFCA0F05A16756723066675D452014BFF4C40D80BD511C8CB04442A5FB4E50EAED4E9416D7332F7673E74D7A51E0AFE293881F6B8189B8A6A6092425FB7734B5D793523C3F2F2F6C6F40C8E00BA743261D8E0A4F5D2A3823C4362689C8F1249A8EDAB713A56DFCC95401F34844D51E5A43C5A2D973A01D9147323A551813F203F13C3FD16E21106332CF76CFF77AFE496A4230E1DC309F37A7FB7533301AD98B6B85D5F3D0FAF67E07538C58FDF91A610E12499B4D02FE5E94960AA8523232CDC302DD3BDBAE3633A887A4FBBCDCBEA355C54DF03F525FA519209FDF545E278592E787DB253EFCD80EE378A1575674DD389EBC3C80D1BEA7E42A0CA77EB84D278CE20F762B9838823B134311CBA91E1A3C0A71C4F59DDDB9F1465C406E1064DD1034F26EB3387F45A6C02787F73CB3D5244930EAF20096797ABCC2B02D32030C35FEA1DD34C7FD5ABC9282A6C7B8DEA0654728ABE170DA23A7CA27629B115C0D35120E29C278CA8F7B367F7D2D76745630D8ACC3FA1F8ACAE2E033B0D5944C33193AFDF44CC221099E5AE2C25C8796F7E1A71FE1D60936A2A4096D95B173E141CC0222ECEF1B41C96F3A30FFEDABAA1BC36642504E8B8AF30BDD54D12F70F3CD6A307727A55213C33AE4DF3BE726174FDFA1CC2BA74460E0C1F119374290191476F7116353A4E1AF9A48E33D1E8B76F4A69E2F -20231002234558 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A810F69E7 -20231002234915 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A817337BB -20231002235010 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A81889047 -20231002235237 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A81CC51AB -20231003001041 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A83FF7FCF -20231003001507 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A8487F873 -20231003003839 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A877676D3 -20231003004439 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A882FB0BB -20231003013638 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A8EC44FDB -20231003020602 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A92680F23 -20231003022233 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A94729617 -20231003022838 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A9533C427 -20231003030014 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A99255993 -20231003030947 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A9A55F43F -20231003033759 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49A9DDBBF27 -20231003042143 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AA34E398F -20231003042540 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AA3C73223 -20231003051219 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AA9B54CC3 -20231003051253 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AA9BFC61B -20231003051513 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AAA026323 -20231003052052 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AAAAEAB1F -20231003053941 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AAD067F87 -20231003054545 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AADC1B5EF -20231003055211 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AAE8576D3 -20231003060848 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB094C2F7 -20231003061146 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB0EDC1DB -20231003061445 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB14AF5EF -20231003062126 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB2207DD3 -20231003062948 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB32671FF -20231003065951 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB6F4703B -20231003071814 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB9393AC3 -20231003071838 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AB93E6CBF -20231003073040 2 6 100 6143 5 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49ABABC23A7 -20231003081738 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AC09DE603 -20231003082407 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AC1617963 -20231003085747 2 6 100 6143 2 E66EC740BCD486B24BA43649320948C64050E6C92B464AFE6928BCA87FA1C070DD66DC0701751137EC1E54BF664BE2E2413FC0F8E50E750818F15D3653B10F52D3F70E8BC30AA5F98A9958A73CAAB3D6EA71004E3A45FF48D7941330A6E0737EA76EBC51FD1285D843F7690CBA7C2685E747DA987A4BAAF6D13D1581C900C05AAABE5AA9E2AB2FE4D5ED2E1C1EDEA3AB0BC6158D77EA2C77D3565AB3BB83639E1E2712AEBC580CE892108F1C5D392CE075E4BFC9F98A94B341333B65CCB6010EDCE294956ED236360320912525D079609779796E11F549A893B29FC6118699EDA544D0570B91985C952A9DBE05E7EFBD8859BD1B217D24C429287F78464619B843DFC537BB96829A6C98B7C48CB2A233C48F98C853DABF495FE81A796E24FB5AE643504CEB40BB45468578433E6F5545B7939CF834857B33FE32B39ECA28C8D1E4C1EC020BFFB68CC3CB8547B9F6BB867826288D13F37F613F273373CD8742E3F2822133CEEAD8ECF136EDB0EEB06C84AA5225A389B489B4693C0BC0F4FC5B0023A06809CC4A83E0B6C8B0E72915B742396FF3F422137F73A6D399AF4E32B577E79B0F624ECD040F04C10C25AB94379FAE65036069AAF84549533C6589BE6935FBFB0FC9AFFA325C0F9972D5D5B4F8B271281ABB54597CE4D6E52F9D19824E2813D86FF6FE2ADE81B401569BD36F0D3D33FD44661AC6A0371469D731D6B0D2541E8A03638420FA4AAD41DF127FAA90E2C7C8560593E6B3C6D5895F95B7336FCD91E34CE18EF912103FBA1CDE7BC5B1C4AA81CE0FFCE0386F1AAF3555A6E5832A22CE96C0CA9D5E47BED9984F1D4E1C53B60020FE25B5083AAE62ADADBCA1F37CE843B63B8F7190CF6DACBF6690E398C26C3FA2D90439DD73E7340775AE6A83A73447B624C299720DCA85FEB67C85061BEA7A296C4CCF7342AFCC1B284D6AFE6D25273F38B44F1938205927FA1E5163A8EE8411D68A5DA3DD0ADE75A60B14C842B954117CC4A55CAC0BE44A396DC24B4BBE558C208210A3621D4914ED87674301AAFA923D7E9897A6AFFCB32BA80AB214AE2B2DD13D50FBB73E1AA49AC5927A1B -20231016131900 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA00EACECF -20231016132859 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA019290D7 -20231016142904 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA059B4417 -20231016152750 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA0999EB13 -20231016155325 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA0B553BF3 -20231016172849 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA11CB2E4B -20231016180042 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA13ECF3CB -20231016180126 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA13F1687F -20231016180748 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA14552213 -20231016195614 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA1BAD2973 -20231016201150 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA1CBAEDBB -20231016224251 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA271BE9F3 -20231016230521 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA28A3337B -20231016235753 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA2C38DA3B -20231017004035 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA2F2C3553 -20231017011243 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA314D420B -20231017011549 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA317A2D5F -20231017032411 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA3A4E69EB -20231017035035 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA3C0F1B77 -20231017040535 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA3D0B2F7B -20231017053244 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA42FECF0F -20231017061754 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA46082F6F -20231017062414 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA46692FEF -20231017064457 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA47CD78D7 -20231017080259 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA4D1F422F -20231017081616 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA4E000C6B -20231017090950 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA51A428FB -20231017100646 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA55892F1B -20231017101201 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA55DC859B -20231017114805 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA5C5D2C7F -20231017130334 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA6177B58B -20231017144733 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA686F3603 -20231017150532 2 6 100 7679 5 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA699ED29F -20231017155907 2 6 100 7679 2 EE7B7F77179CAE64DB89ACE5368617513DF050B0CBB10C2E59A189C487BA454C7576B7BEAA078CA60539C649C10086BC0B045CA609A4EC64C5DF5E4F2453B5D0691E16F17DEA71E80E00926E84D57A812BC2E23187228963F0E55C49F2676806A99BF0B482EEABAA0865954ADF181C0093376004938999A95404A56E869C3B4AD36B6F3B60846F236272DE29D8BFE6298857B7DFA5309E2724E60A87076195A480F402A0029A3D67839705EDA6F3963A995863A07A0E775236CFB6EA8658658CBD65F014FDAC4B4D504AFAB91E3E1C9CD4EA842404641153D33BA95F7D7F8285511878F6ADF344921256C07CF06112F1548542EB6BF0FF78AB8FFFA35D238216D52CA7D4FF5B43C62FEF5FF3BA7CEFBD7BC9EAB09292EE409868450E5B6A37BD52999774065131C7FAA305E81A93D086549946BB5EE3EAD0D319E724DC2646DD7F31E928BCF8FF816B9D0FB27DEB691834DC8B56FFCEEC8BC33095734363A01E493F17E6B7D692C10F951A5EE98DA6B428144C4031D089458807A8B3425E80E8D42E9D8F504B9BF9198FE13C371F2ED23C39BD6AF99C1C4D4FDC3E726B0227D8F195AFBB7B70FCB8789473CD7B46FDAE7B3FD63FF89116DB318CD3EE340371AB6F8C4CB88909DCC42B6B9D1AC5C917247E6C27DAD51D7AC998EFAE905C8D8B1381A3C2D8B7F37166AA24762E5C9C347F73AC8EC2DAFC40608221C664E85EE218D3A950B4DA358CCFB4E1B56471095E49A0BEB276A7F6CA7527EC2A80D106943E00B3977F393278C4A6AD01435C1AD72E019B4B2B43D2C9222D3C2A63D5EEA69B1442F4FBA285504F4218323C8C226246398C8059117CB36F96A312F6F8B4C442F2C8213BF4FDEED2C5D0342D9F82B492D74679F5DAFDB79BD57EEE2969471F320D3887EEF552D0548F467D24FA26CBC7FFE4684890DEC965A48689FBD713BDE3146E612B91CB10CD6AA0A3C222ADB01FFB74B4603116421BCA02BCD35992700FA954D4BEBBAF64C19E373715283ABC185C57653974A159F080939AC7BC3F385F406D9086B2B03A9B69CDBF725CC9CF8CF74A9F65753EEB48036D13413CBA8FDFC43FCF640EDB5654A44D7EE0585081B740A1481E877EA4E43C318645A61532E6E8668219AA37E2A467761D50A622599AF55D99C3FE763319F0307496F1E99664A4FEF3FC6860D68F80A07E8C259A1D2C85895D7B8E07368C052CB7C17FF2DBD6B0AD3824B2DF89C23805B42C21DA29B39FB25C6D94D8AF318AF790A59FB4B08E7430856CE11694B34156E7E4634D241D5EA5632E87F53EA0ED552C6F89C3D03C0A725BAFF8133DA9755C7499AF96A7709BB82A61F6FB42203B50B3AA6D3AFB8B -20231017181544 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E175059BF743 -20231017190547 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17508FC9613 -20231017192033 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17509F702C3 -20231017200530 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1750CFB1AD7 -20231017201043 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1750D4F4543 -20231017203134 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1750EBB8757 -20231017205507 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17510485E5B -20231017224217 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E175179CEF9B -20231017232528 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1751A835A53 -20231017232941 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1751AC3F17B -20231018003956 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1751F836183 -20231018005815 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17520BD845B -20231018011203 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17521AE2577 -20231018012138 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1752253381F -20231018031440 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1752A0C708F -20231018031950 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1752A5914A7 -20231018033845 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1752B977FCF -20231018040441 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1752D5365D7 -20231018041121 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1752DC38AAB -20231018054013 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17533C80607 -20231018054825 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1753451216B -20231018071952 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1753A752783 -20231018083252 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1753F72808B -20231018090047 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17541479E9F -20231018093100 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E175434FCD7B -20231018100316 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E175457635C3 -20231018101033 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17545EBDD63 -20231018110847 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17549CE2733 -20231018113805 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1754BBD7BE7 -20231018122625 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1754EE7384F -20231018123413 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1754F632783 -20231018125726 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17550E83927 -20231018135301 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17554AA25B7 -20231018140418 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17555636167 -20231018141949 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E175565EE997 -20231018142439 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17556A866DF -20231018144725 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17558217B9B -20231018160133 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1755D0F69FF -20231018172124 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E175626A63C3 -20231018173327 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1756332AFAB -20231018174338 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17563DEEBA7 -20231018182026 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1756663AE4B -20231018184456 2 6 100 7679 2 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E17568173BF3 -20231018202029 2 6 100 7679 5 FEC5FA301DA99770B0001C6661792A17D47495458B6FC55BF33FB1CD1E8CD5675550AEDED89217D8945CA01F1F68EF0F543E6E3BEADF0053FC7D706FE59F390E7758CC227C1CC6AEB6AEE82BD92CAA8DB32CD80B57E3DED4C5D5F029FA776D439EF2E069271AE4A2ED1F05C94ED9216E07DB8E0488B3E422D9F3E91618BFDFEB004ACB899A99AB89107FC3888337778FBE3D597FBD40FA4F791C96E175A163D22CDA2D84D049198083CD68D731740D4437B79383B36A33DF6650A42D497B7D7796BB3FFE02FCB5B5CB890EBE4BE4DFFB2AAA0D4134ECE4BF31AB678B16EA621A1598827179BF77A0290D34902352BEB99F92B244A402E431C47414E96A9D6EECC402B6A1CDA088E34D22D25804F3FE4C3B382AEB0DC530C6BF9C70B042256B5BE7B30896B05C5B4CBD88512B0A8B3D13A3D6BDC14670031381EC66DA8AB6C5645A79B1081EC58A0882D8FB17E0C083720C9B119CF52A88833D5600E43CD5C48C524F1643F515B30474A64118EACC834A272351048A1727438913B8F369BBF3E7A1628B3D40E77DD980BA8A1CF545CE7EAEB5B17301AB9A80A19C64227B645291AAD618D2805FAF39AF48ED5035EF23ED7FB734D929C8D0028A46162FC17302C5DB50F5E696EE451CD4C0899DB3E907185FCA1C53EB60E0131D6A199B0517A300BF136FE3BC236C884171ED76F79ADEB64DF1A50A76F8B26C7AD72AC0E2C1104566DB81C50BA607BFB379BB8FB142355D6A3D0D034E5697665FA31403241B806ED8A427DC437EBAC54DDC408DA022C4C2F8BF4AD59DD43C7BC7A4C4E5BF24D812719FFDFB03B797B366B2DA35AA280893EA813A5BD9E1E91B280299BB7A02A3FFBCE1F52219D43B308C723D0B0F25B8CE12C110491B33713E5F2C5C7E946322B28500480DB234515B5DB5370788D9DCB6D460281E91EE343B5BEE12CD367B83EFAEB4964B3051CEB8CD2E54E7ABCF0E4AF3D18D9A6B5D58B09B58DC97287BFB058DDBA94BC376BAEE117C2AB9E6CF0B13553AE4F8B91A247FD24C0D70C090E16B152CDE92456A95E5BBE98F939BBD5083EAABA538A675C3DFBB25D001D2E5A3B3811E7C6E982A7C58C3399E05C0FDBD31F80A623E6C83356D3E65BE34C6DF5445D10C27551F4D5697B9FEDCFB3A0BE6F209754A7364DE364FCC11BBF70366A2C61864F65FF203DDAB2C693C82BD35AD6C0EB9D001DD4FA520F439BFBC9E15EB6E186A59CDA292D1D9512CC67B25471F5557659228C0E663586D7E09D0FF8E6B97102A020DA9673B5BCB92800F72E36505766FAE603C886BF950A3A1C08798B9E9555A3A4E39B6DD20B1B4336C09F99D7182DBE4D1DAE287653C63E1756E9EF4F7 -20231018213032 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834379427FF -20231018232202 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638343DD5A117 -20231019004844 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834429F64F7 -20231019010247 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383443605C17 -20231019022342 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383447F1B393 -20231019031710 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638344AF828FF -20231019043555 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638344F5C458F -20231019044032 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638344F983EAB -20231019053824 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383452D8631F -20231019063745 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834562930F7 -20231019081055 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638345B642C07 -20231019100522 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383461BD232F -20231019100852 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383461E6DF8B -20231019105326 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834645F1673 -20231019111044 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383465527463 -20231019111309 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834656D78B3 -20231019115348 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383467A7C8F3 -20231019131104 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638346C0D8BDB -20231019142914 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638347067646B -20231019173223 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638347A9DF68F -20231019175446 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638347BD81D27 -20231019191611 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834806DF947 -20231019193510 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638348179CB5F -20231019211306 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383486F90F9F -20231019231750 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638348DF30017 -20231020001735 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834914CAE7B -20231020012141 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383494D94DBB -20231020014803 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834964F5923 -20231020021214 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE6383497A3C3B7 -20231020034933 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE638349D0D7D8B -20231020044258 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834A0069007 -20231020045617 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834A0BEE89B -20231020064548 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834A6D2ACC3 -20231020071102 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834A83942A7 -20231020083119 2 6 100 8191 2 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834ACC3A13B -20231020092435 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834AFB5EA3F -20231020102437 2 6 100 8191 5 FD04CC30F7BF7D987760BE4FEA189E499B09DC2781A9AA9BB317A3C7D8BF99E3CDFAC9B6CCC12703EDC9EBF48F4917314723298E5F8A43920F2098EF0CCD7A09B7841411EF6F075575B375025F228A4DF56355DDFADE746FA4A9303924B871C442B3F341C809C37A498823B276982BD02A58268F5D7DA88859801A464C41CD725B23C0E52515657B9CC4B377DCE9CBBCDAD24D411745450CC9EA6DA349E5CDAE9D5870817286B4E4AD7D152EE3200CB9A4DF18321E1A8D36560DCE6BB1C2D398594A7A907723C1BB72E40473EEF91998649FCEE5DEA29353BBEDE80A22C0904355536471CAAEDC3A9F1D1B9AAA485AD6F562865483A90A699B96ABBEC4223AD2A4B398458D63278AEB887EB433DE5EEA6D6654DB597F6C557558191A05130FB3E113E50515DD07007754FF905E55AC92E3147EC319017759A7B84D81BDB5A0EF2B9BAB184BB5B52ECE2C0C15C33B9305A41811F6E661F7C0AE6ED1F101ABEDE4EDD3EFFB81AF98C666D1EE3532C3917349ED6FE12F2D9BB0BA0C81BC0F100B5E44D2C79FA8AFD161F37C913798DD6B85CBFED8ED1109AB19E505ED9BCF2F30F3DEFD9EEE2FF67B07F2D189F7C84B941A9F2C9E81E77E1F4A92B70EB630A7BE64C3FD2C0881E42DFF118E3FE627771A1FD7F65C6480156E88D3F80E7A58939A44023B25184E53F9702096E22FDBCE23C8995A8D058117EB8F1B92DB232D74308204C394FD2DEF237BE4FA0870267BFE7F3B0A279D51C80D434669DCE6153038D653F1A55BFAFA79D68F740DD35E827475DECC6F9B55A635DFDCEE9E48252D2B0312711A32995B2F9325A4B9D7406A1A50387FDD2CF9BC9763108C2E9660935B159371387BC23599C94D68FD4BC1AE88ADCB30FABD1E8C369B13E857EC001F7D2E1746DD4F208766BB321BD5CA996E27051B83A482140D58496A54C49D584397E618E8611012F0B8070B58393B658FD365A11E76A7991AAB691B8FCE882F67FD2C7456C96EC91AFD9C7821ECC0470097F135ACBCE8AE4880C78C3DFE968D0066731EAFA5C411A6E17E4BB1A2C54F26F3AA9E900676182E218766CED65B212F7893C32990BC3C034E53216D349A3BBA4A9E94E2AB6F6D023FD9E8DB61F3D6AF9C4010BEBB06B12332DBADBEFEE8C0209B8AEC80E87AD0B4FF48E499F0722674862FA974470700F0E51D9C78CEDEB51BF06A8642BAAC990B0A0B8C44B7BAA4634E4B90788C3C6633AA14B859B743C1986435933EA19D01DEFC36ECCBCC04325B1662D9873FA24BEC87560C3E059AA491E960A5977BA569FC780744D54020C3CF3C539A629A7C8475574EF4EEA4B7BA6EE1764D95369654953938E51CBB5FA442B8517FFFA77E42269EC4270D1B2148CBA1546E4E04CE3C0CC956D10D799F9D1CF5F111D06323E08BDD8FE1C1420ADD181D4D6165C0329E3EEC0F4BE63834B2F88B67 -20231020120924 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E53BA038B -20231020135128 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E5963D87F -20231020141837 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E5ADDB3BF -20231020144225 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E5C23DA93 -20231020150405 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E5D53167B -20231020155408 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E6012AFBF -20231020161645 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E6155F8BF -20231020201740 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E6EE62BF7 -20231020212403 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E729EE083 -20231020213051 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E72F5F79F -20231020222529 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E7604BE3F -20231021020659 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E826C9DAF -20231021024826 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E84B7FDA7 -20231021060900 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E90033123 -20231021070156 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E92F5819B -20231021074615 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E95655CC3 -20231021075426 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E95D1FF3B -20231021080049 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E9624A203 -20231021094905 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E9C2D4FFB -20231021101528 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E9DA4B553 -20231021105156 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15E9FAA5047 -20231021112242 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EA159B54F -20231021121606 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EA462327B -20231021123502 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EA566E22F -20231021140626 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EAA7D27A7 -20231021144911 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EACD5272F -20231021161127 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EB1713BE3 -20231021162002 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EB1DFAA87 -20231021162540 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EB22A3C83 -20231021174652 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EB6ADB0DB -20231021190654 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBB224183 -20231021192557 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBC2D1F93 -20231021193213 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBC7ECAAB -20231021194107 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBCF4C693 -20231021195056 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBD7953DB -20231021201746 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBEF4D117 -20231021203518 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EBFE78F6B -20231021222354 2 6 100 8191 5 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EC60AEBDF -20231021223151 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EC674EB1B -20231021225247 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EC79E5D1B -20231021231628 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15EC8ECAA63 -20231022001025 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15ECBF5D973 -20231022005100 2 6 100 8191 2 E01A60D3325645E3E0DD9D0BD00BEB9715262052AA5A04F3232BE563EFD025CFE05B0A86B07BCC4CB70A1D115E3DD0E1D5B5C394B491144DF417E29A1FBE336AECCA9E68BEACD5979103B7FD2923A58AB05E3195A5AFA717AE1F5F4B19C6616CCDA2FC597B3C92CB2EA57C10580C488638BF1261AA552DB9B4BDAFA45BBA4D7BF0A3A2B066F797F1B444AB990D9797A445D752647EE9ED870002A04DCA5DB1D65F3AA9620DCC4547A640BA30B27B09B48DC3BB06C9F714A9ECA54F09AD37BD57557E5EAD0B64C5CCCD2E2592A04E009BE169B079E3DED7161AB33474304BC70861BBCB2C05776EF82E2B32F0939E1C271187713632C6F624BD13C9C714FAFB99C4D5A36C1A7EF2DE6A18D5BC2FD2DAE7450B78494FC94ED842476B5DF567D47F066A1D168483B1A693A87E831B8DA20B48A05D13A688E30E7FDCB8AAE34A46FCC6A5642BCCF1D2FBC1804789E2D1D7098BA9AF2C94C889D58F949F6B97338879A45D26A3875D8C2098E41AD429F3B7AC9DA8B6C3D714CD477049487B778E553EBB1BAF2403FFDECCB38D691F3E31A7DB9729F1651E42972284802C5C14C76CACE52F1BAD053769C9ED3052A5370B9363F0A87273CE4ED2521F41320E0BD053CB2C79F79B708F72745E2B63D0894ACF06EDF0E612CAA81B38CFBBA421A61924C6794F0B321823C411330703F0291CDEB0FE71A3D3459413933E4C6D681A765848809F787EBA5E14EFF0A52FA57003589A7039776DA11F21B12F14424F694AB810D5C8271C8A108659B190A029666F77357AFD28DCE2BC93EC38104FA250E29610F477265622BDBEE96A933D503A7F820B3B4DB8929A43B3BD2167BC1DCE61708C1D599D7A584DA5A2DD6EAE2D5D6428E8A0912CF18D9FBA71ABDD0F975B43B50056315F76148739D3FAFEA4094EC3E25A3EDC9F0133E0C435C1070B2F7C073EC33D5B7DE096DCC490D82CE8B053F24009F73450C49369B91AD381581BEDB402909A2C95CE0AFFCC64A51C5B824666A26E1C40F2A2EC104DA1F481ACB967068E6A0E4A5CEC1A37730D7A93761C6BE3F745FC245FE16B841444DF177B2F779A8D22FE67EC92166BAA7ACC6ADB84565369D0B174686783775F79C5ABF65E726911833385457DC896E150D3440504D9F7FDC087698F69B82052FE4F2B577CDA4262A7B26FA7F38CD3471AC7E433CABD3470B309A96585FF7C3889B6537ACADE1E79F7B605387BDCCC5ED8445DB923B98D11F29EFCB413FF2E09E9E543263309C87E8C7FC22F13E9BDFF2F04CD36DD2FFF425EEE50C1460C676A804CED5319C0D68B60251494EBD97C73EE0E7803B4B8414D4503954F40147885299B8EE19ECA8F2CC2FA48230781F788D9FF1AA7A9D1F23E54357EDE3DEE548C80DBD0F0DA070ED149A34EE08FB3FB01895C5D2ED1E68A5508A5BFBB7D2DBFA4C46830D15ECE33665B +20240104095616 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E18168688F265F +20240104095622 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E1816868B9D16B +20240104095623 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E1816868BE5B5B +20240104095635 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E18168691008CB +20240104095636 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E1816869118D93 +20240104095705 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E1816869F03EDB +20240104095716 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686A45B59F +20240104095724 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686A76925B +20240104095725 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686A7CBA63 +20240104095735 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686AC16E5B +20240104095748 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686B23EC2F +20240104095803 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686B8C2C0B +20240104095812 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686BC90DD7 +20240104095816 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686BE3B4F7 +20240104095818 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686BEB2A0B +20240104095834 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686C601253 +20240104095837 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686C747FFB +20240104095900 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686D2720BF +20240104095904 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686D3E5603 +20240104095908 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686D5635F3 +20240104095917 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686D92F173 +20240104095918 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686D93EFD7 +20240104095920 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686D9E4673 +20240104095934 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686E020E77 +20240104095941 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686E319F3B +20240104095947 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686E5EC05F +20240104100001 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686EC17C4F +20240104100012 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686F12137F +20240104100026 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686F73FAC3 +20240104100029 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686F88A3FF +20240104100038 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686FC81D1F +20240104100039 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686FCD023B +20240104100042 2 6 100 2047 5 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181686FDA5E8F +20240104100056 2 6 100 2047 2 C383B937F2718D0CF93B36B8C4AA5B68E7B0E45E07100F8E40336B40B211BD1B4199CC92D5D03890022C8855239908B7348F8C76667368F8F73988568196B6308F9CCBB2571B9B88258C0DD717FB2ECB063B05BC2E36AE5EC2941E2D52133405B5DB9219C76B11764CAF1D73001036AB26ECE915DD4FE21251F01C19C415B0DA80231EE10410BEF198E0FE320E105844F537E2D6A45E77B0B16454931C30ED888D505641E5A4D07DD7937276ED988EB5DB7CC54C8CF5FF28FD39F4FBBC49AF7E023AE39396796A4736279495BC00EC89FE830A7C0BCDEFFDF910FD80F702078543CC2D1E53EB0F510EB9CBE78819B3E33BEA921612FCD755E4E181687044E3F3 +20240104100101 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8C5E15E3 +20240104100123 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8D074C03 +20240104100130 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8D33D613 +20240104100141 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8D811FD3 +20240104100145 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8D99912B +20240104100202 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8E169543 +20240104100223 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8EB0BA6B +20240104100226 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8EBF5F7B +20240104100227 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8EC40C1B +20240104100242 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8F2E1DF3 +20240104100245 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8F3C8C67 +20240104100254 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB8F795C9F +20240104100317 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB902632A3 +20240104100332 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB9096384B +20240104100334 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB90A286C3 +20240104100336 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB90AA1ABB +20240104100338 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB90B5380B +20240104100344 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB90DAA413 +20240104100351 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB910CE893 +20240104100351 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB910EBF0F +20240104100416 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB91C2935F +20240104100422 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB91EE5C43 +20240104100433 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB92428037 +20240104100436 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB924F7E5F +20240104100448 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB92A78E33 +20240104100452 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB92C39FFF +20240104100502 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB930AB887 +20240104100511 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB93484697 +20240104100513 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB934EE903 +20240104100521 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB93859FA3 +20240104100525 2 6 100 2047 5 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB93A15877 +20240104100532 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB93CEA42B +20240104100536 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB93F09E33 +20240104100547 2 6 100 2047 2 EDE2897770950A39DDAC39B88173C52469FCA04AAD0665C1C1FA7059B7859FD1F84ED9C9510F7ECAAD251C174DB09975EAE851EE71A9BD0F83F6E2022723E66ECDE73BFB6D940A1A1D6112197BC1DE040CDD9D3A80BDA683679CB0705FA548878C8720CB14BDAFFF61AE546A8450B000EAC1DB6756C04E7FF65D2131A1015F741396395858BA490C0A65920817F114BD74FCBF1019BFD5E3C31E49CE523818113DB2097DB3CBFF4F5D6F323F72A084C54CD042FC053D378F458CC55088D170BF36539FAD7A019AF20491C29A95FBF036C1D18B8035BB10ABB5321DDD1201DAF890AE31F3B77451C1A8A927AEBA77613E4EBBB490414B19451446A3BB943E537B +20240104101115 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A0D5ED5B +20240104101119 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A0DC38D3 +20240104101145 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A12CF7DB +20240104101213 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A17CE1A7 +20240104101309 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A21EA1DB +20240104101404 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A2CFD013 +20240104101448 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A356C09B +20240104101513 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A3A06C1B +20240104101532 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A3DC6ACB +20240104101754 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A59D6073 +20240104101824 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A5F889D3 +20240104101914 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A69226F3 +20240104102026 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A7778413 +20240104102104 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A7ED53AF +20240104102111 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A7FC79FB +20240104102143 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A85B8803 +20240104102252 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A938656F +20240104102259 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A9493BAF +20240104102310 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53A967D647 +20240104102422 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AA47EBC3 +20240104102451 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AAA0B5EB +20240104102523 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AB06D25F +20240104102545 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AB48A373 +20240104102701 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AC38C9B3 +20240104102738 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53ACA7A56B +20240104102808 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AD033D5F +20240104102825 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AD32BE27 +20240104102848 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AD75754B +20240104102913 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53ADBBC7BB +20240104102931 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53ADF2C9AF +20240104102936 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53ADFA97A3 +20240104103004 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AE4E97A3 +20240104103054 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AEE6F5A3 +20240104103136 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AF6C7D17 +20240104103155 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AFA24993 +20240104103204 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AFBD89BF +20240104103225 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53AFFADD37 +20240104103441 2 6 100 3071 2 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53B1BE6E0B +20240104103449 2 6 100 3071 5 E5200F78D0067C75B413BFE21DBBB301C8D14F8A46C0D16A957F5FD8708569CEFA51C549F9493C21ACE299A60AB6C8191EC47A356BBD2E41B9BDBC12486F1783F1FC3E559D29B4863898B5976E7108C391F1DD63B58F705109961D1577EDC807AFB96777476D1DD837AF21F81B6556EAB1BF0576552FF3304AABF72FFFC460E83982B3290C139E75D1628B2562B1A541D28551569C6336041CFCA45BAF9955EC7CE3364BBB9344C59BDFB346F1316F9D2538EDA32A6C4A018799ECB20FD383CC8191903B26FAE0F84FFF6FCB5E0D6CC50F25E7C2F4D05AC02BE22DF03781BDE9A5FC4951C4A20495E18B12111FCEB42F4B41CB9C6BE9E7FEBD2A224CFFB0028E2D22DA3A00CB48B2AFAB5287445B04ACFD65164EC97370FD89F2F04C2190D2AE9590CA2B88A4E946D1B62684D76AC39E291A201BF50BD9D521458AA9BA0F11416018F59D98DA058F5F4A67078AF968E51B193A74BE8486ABB1ACBD89A16D6F053B2FDB6D769195D2452E932719714E3474844AA606BD9D3186D4BB53B1D4228F +20240104103608 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F45F532253 +20240104103721 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46039F7FF +20240104103727 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46046CF03 +20240104103902 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4616F9AE3 +20240104103918 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4619C6F1B +20240104103932 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F461C2094F +20240104103959 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46210E24B +20240104104005 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4621D6F93 +20240104104014 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4623557F3 +20240104104041 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46283FC03 +20240104104104 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F462C76DF3 +20240104104124 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F463010D2F +20240104104145 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4633D54E7 +20240104104221 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F463A5D183 +20240104104232 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F463C2FF47 +20240104104250 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F463F7D33B +20240104104437 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4653512CF +20240104104548 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4661420E7 +20240104104605 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F466462DDB +20240104104608 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F466482167 +20240104104613 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46651DF9F +20240104104619 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4665D3CD3 +20240104104654 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F466C8206F +20240104104716 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46706CDFB +20240104104816 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F467C6AC6B +20240104104849 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F4682E9853 +20240104104939 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F468CD47B3 +20240104105103 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F469DC1C53 +20240104105116 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F469FD7CA7 +20240104105238 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46B04E72B +20240104105406 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46C1C8F1F +20240104105432 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46C69A60F +20240104105538 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46D3431C7 +20240104105600 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46D7551CF +20240104105623 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46DBA58FB +20240104105913 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46FDA4817 +20240104105921 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F46FEE672F +20240104105938 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F47022732B +20240104110025 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F470BAC72F +20240104110044 2 6 100 3071 5 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F470F2A087 +20240104110057 2 6 100 3071 2 EDCE3D686B1FF9B87585480575F96A54B973EBC8E9330E7CA890624CE60311FFB65EBFB08E9B6D6184895C6C78238241D12F50B9178DD3F77DEAABB0BDF084F9B7713B72CE5ABD25BAEECBFEC06957BC92D74EBC234D87B255ACD94372785BAAE5362EDD5E75D025FB7E4B36A9636A8F65141BDA5E5789F4C09E6FEEF47B2F56CBB05002856A2A85F3E25A83808E1AE44578ACA4A3139792B971D452CD2DFEE48A28C1CA7616E4E06218D0062EEDD5622D6F1B84DE03DBEA72F97A907F8CEFBB102C54657127F646A4B2422CE2503341B18E2E1424755628F11EB7B9D8938C939586E3CE84CD5620BD2AE105E7D821D97FC85B92F00A72DC47450C258143E1A5C99E4E89AC94E0BB028C650D10BB9EAB68C9EA5D7C3BB2D139590572A8421C3AE1B440DB320A99A439E542FB79754BAEE30361B8E8519FD118E60D33FDB1FC20FCE9A275CAEC3F4605DC8E1CBDBA207951BEFDE24227F34A9788EDBF91E9088A5255165F27AC8DF63FB4FDCEDB43FAD4D3E0606A0F27DD50C41BD5F47113FA93 +20240104111235 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92ED6D5283 +20240104111516 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92EE6BFE0B +20240104111802 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92EF69F083 +20240104111812 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92EF7314EF +20240104112330 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F168359B +20240104112346 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F17A8473 +20240104112646 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F293A44B +20240104113126 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F454A78B +20240104113140 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F463745B +20240104113405 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F5472E0B +20240104113513 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F5AB6593 +20240104113631 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F61DC737 +20240104113915 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F71C183B +20240104114114 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F7D25F1F +20240104114127 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F7E2A817 +20240104114209 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F81D6DE3 +20240104114242 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F847E7F3 +20240104114540 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92F95BB83B +20240104114912 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92FAA7AC87 +20240104115220 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92FBDD46BF +20240104115358 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92FC763BD3 +20240104115645 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92FD89AC93 +20240104115825 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92FE24086F +20240104120004 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D92FEB1B48F +20240104121351 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D9303DEC3DB +20240104121632 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D9304D97987 +20240104121655 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D9304F7758B +20240104121904 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D9305BB0867 +20240104122020 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D93062D0873 +20240104122033 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D93063AE3CF +20240104122233 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D9306EE09FB +20240104122350 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D930763399B +20240104122643 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D93086CF9BB +20240104122651 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D9308730BA3 +20240104122926 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D930966BF1F +20240104123326 2 6 100 4095 5 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D930ADB4A27 +20240104123447 2 6 100 4095 2 EEB25F20046DA7CBAC47745F4C0F4B81D854E699C4761A4175478874F20DBA865A392640F8B584C4B9B4B1731A946DF7A57CD37B61BE3964194F06CA3A67C34B26DD2BBF3028F0239D0D947FD9A2AA9B38374FDE72528B7FA745F09DB9C1BCE23028F9EC17D19F25F088E0242B5F3554541185A9A16858D1553CCB603778B07887190A898727269B4228247FB3CE1AEA89ADFB3D11710243C05FA76BC3556B980B039126B0DA69D1FE928F77A4F7920A1AD89BCBF2B78B7D602BB7AF9C16F0E208C0C7500F6DCA222680C786E43DBFC1003AA1977EE65498C5245F14D66BB690B6786EF3AC4E3422C10C8D016EBFA509F8E68E378E1C4910400FF13C318C1072C0AEA5864E211D088A7F13B6FCBABFCB2D006C7E5F22D149078964A87C31FA80A570DB73D00B178CC34D4A5BEFAA270EA30F80184F4FF98E1E0A6CB45474DEA9381A8871519EF3C1BF1F68378D8DE6D11966D14EEC08EC96A656E677A35B415D56711D16FF912CD2A30DCCE1CBB648437D82A73BFCBD4CA25DA1CCAF9F49646FA5F420C3F6CEE4A5A19DF750E9842B460025EEDFDF208622435D0205916B75EDB72050CDE2B51F9C37DD99987C8957FE46DBDD97CE5BACF1A0CD04FD82309BE29809714DE6F0BCCD73B9EF1BCEBE57A7DED76A1BD19F2237704CE93EF30725CEA5E4EFE122A782E53E6474D5A7AFFC75F1D4E4CF2035E3DA53BF7D930B505B73 +20240104123558 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE029B533 +20240104123620 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE047224B +20240104123807 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE0EBCB87 +20240104124250 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE2B0F0D7 +20240104124501 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE36ED43B +20240104124512 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE378775B +20240104125156 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE5F9437B +20240104125510 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE723ADDF +20240104125525 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE7329FCF +20240104125540 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE7439817 +20240104125851 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE86AB4DB +20240104125907 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE87B66BB +20240104125924 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE88F2753 +20240104130222 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CE9A5226B +20240104130442 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEA7DB5B3 +20240104130643 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEB398DAF +20240104130657 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEB479503 +20240104131100 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CECD07E8F +20240104131128 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CECF457BF +20240104131223 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CED437003 +20240104131543 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEE787A6B +20240104131552 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEE7EE587 +20240104131707 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEEF11B57 +20240104131858 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CEFA09947 +20240104132135 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF0963173 +20240104132305 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF11E122B +20240104132442 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF1B47BA3 +20240104132621 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF244368B +20240104132834 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF3139187 +20240104133205 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF455DA5B +20240104133257 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF49FB7F7 +20240104133331 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF4CF5FFB +20240104133444 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF5392DAB +20240104133611 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF5BB213B +20240104133702 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF609579B +20240104133750 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF64F4693 +20240104133858 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF6B0B2B3 +20240104134528 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF9174353 +20240104134709 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF9A9D48F +20240104134725 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CF9B8ECEF +20240104135017 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFAC6EE33 +20240104135028 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFACF7567 +20240104135526 2 6 100 4095 5 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFC9FDEEF +20240104135617 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFCE8DB8B +20240104135643 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFD0D1E7B +20240104135715 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFD3993D3 +20240104135931 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFE0D249B +20240104135940 2 6 100 4095 2 E8BBED0B2C20CE2D6D7C175858DF5007987AB4AC62559BFE502866F4BA984F41EC586A62B79DE81B818784CE66B4EF6EE06BE7C4242BE2A6DFA5D218E9D073A4162F0B05A1381AFCA6A27565DDD36D1EEF0812AA0CC37C3FEBA6CD728F8DD8FBBF5FF2C25C2D5F456EBF9EA83D6593AC7121E157F17101AE85DAC1B747A915C52159948A190454DBED5F7016F43D3F3BC2C496D6DE2A5DF17872B59789A4E5F503C4F1F096A3A9DCD1CA53D5CE88F6C00959DF042577D064467F375AAB350DCF6427078FAC4DB76E56A80A8AC4E3F276A2DC2E51DDB75F921B2F7A3C51D957B8A89F806FBD5879741438194AF82FC33DE8B5AF6D6D63A750DC1BC18A063CF6A824276A8F2447707DD110425B3644C19E3BAC8FC4686629D90101340691D026B8184EC4872FAC2A658FB8A4BBE5DF9B2A8A17D675FC9EEA09D12A8C8D7914712D21032FA35B056A95C60DB9F464EB15EC04C5CE8958A8CCE7600A207432BD6DBBDAC099DB42A6FAB7297FF7CDD77A80A245A16A9B01FF00442F0259EDB26BFD04BBF58E8CCD98C762BD1BFCF840398A5DF817F7632AEF5C1C9E9FFF766474308918E5D309DD318D0BACD2A75612BFE40FFCD6C14B55A96072C3FFC5F10DE4A3FF9D0DFCEE2EF21517D3095552873C9C875FF91E4518545D595B02B69D3E0CCC370270A0356F4CB3F7E0177557AD5AD730955DA0203EDDC3C19DE9D73CFE126753 +20240104142106 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1710332DCB +20240104143451 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1711E1C253 +20240104150313 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A17156243B7 +20240104150556 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1715B0C103 +20240104150825 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1715F7F803 +20240104152907 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171886D57F +20240104154312 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171A440F23 +20240104154730 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171AC37183 +20240104155021 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171B12B0DF +20240104155636 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171BCE9CAF +20240104160727 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171D1EA6C3 +20240104162058 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A171ECBF4F3 +20240104163450 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1720828973 +20240104170537 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A17246219FF +20240104173739 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A17286C63FB +20240104180227 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A172B8A314F +20240104181102 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A172C9D0567 +20240104181529 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A172D236A93 +20240104184018 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1730435B07 +20240104184554 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1730F0EAAB +20240104185310 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1731CD5F77 +20240104185350 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1731DAA9B3 +20240104190334 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A173307F9A7 +20240104191938 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A17350588AF +20240104192635 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1735DAA9A3 +20240104193532 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1736F11283 +20240104193805 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A17373C750B +20240104195916 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1739EBDD33 +20240104200312 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A173A6430BB +20240104200754 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A173AF2A68F +20240104202320 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A173CDDF643 +20240104203508 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A173E54E6E3 +20240104204338 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A173F5E5ABF +20240104205043 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A174019A1B3 +20240104210231 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A174197571B +20240104215505 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1748451A43 +20240104222200 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A174BA0BE73 +20240104223343 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A174D1343FB +20240104223558 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A174D50F24B +20240104223657 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A174D65D7C3 +20240104230313 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1750A0115B +20240104232200 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1752FC1F4F +20240104232649 2 6 100 6143 5 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A17538FC137 +20240104233816 2 6 100 6143 2 E26B3DF44B6BDB283DD87C8FCFB841E7116C771B87651254D58C3ED54FCF6E041E04B189F53C0AAA9838EADA85D258A70516CAFE7752EB065542E89F25CFD74BEAC3A0B1EDC79D677137E229915D5E7F9AEC2386582B4E069651943CAFE738A6A435BF75D91B4ED92D571B74DB636A155162D8E43D2B3889E09241842FCEF7FF9841E69942817C72C20A23B015F781AC740D1FC7CC9CCBF98D8C92CAB153F8CE24E540A2325E9769AD8F4B6DE329919F797259B691DFF2FA06BAB66E11E5BB5556D8BADFE3F6B41EA905FBB17A7D602ACDFB98BD2F7F80204329121D3607C64547FE04E34A9F6C14F6BA70ECC6929880A305B6C647F4D1E3B4257FD60666C9FDA9E44F5A3C76818054A2BE034C80F7756854B8AC3694412A8632F10F794AD16EFC696C2B792A906F7E8B9B99086DB52C3BC1436B1D8B91489C1D7B910204DE03F8D837989BB65C1C69E35E5F3EFB61F79EE8877880ECA82F1A1CC886E4FC72EB5AB28A77584C11B8D26BA67F1E07AFCB19F478AE21E71A1A48E9ECC05388B7AE6D053EAB219F659D6353412261BE121E30F35CFB527FCFFB9EDA780CE6B3AABC281018EF7ED7612AF8E877496C8008229786D2656FC13028BA3AE818BEBCF5089ECC8C7E91CC8866838BCB4F605EC8C3CB236523C1F3FE67C63AD9E3C03AA7A8ECC2C78749FE2CBB046812E823750EB78124A61932972AEB7573BB7D3DC47597883C0B4DADD75E1D4752C08DECF2345B9A2DB5655CBF056843DC655FE0EE540E0A80BD113BCA208DC60C30A98ED742B262126D304A51D763A83F6FC09113F6DDF3583AAB10A6D16856900D1F0E0B61214DBAB00C353ED0A7D9B3E02A5D4E0EBAA6974408F4277F7C191CE9A7941FEBB456A38C6841CA5124D6B23373F97C6428D7BA96F4722B8110DE4078C3570E663039BE9B7B20C90474FE759C9391CFA635EC3D89CE491318DA89877CE31782F10F053F46DED6864FE28970C605E0B1C5D4BFAFD961DFBAC5EC123626D9B55592713918CC21A1A522FDD0C407E42532022DBE030A844C8008E184DDE76EA3F8B6333BCC27F23BA58170CE691A1754FE4CC3 +20240104235816 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E526A4027 +20240105000102 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E52B9D47F +20240105000341 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5307C49B +20240105002604 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E55C8951F +20240105005413 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E594FDC6B +20240105011251 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5BA98A8B +20240105013007 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5DCD786B +20240105013213 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5E08D3E3 +20240105013953 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5EF3AD33 +20240105014506 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5F8EAA8B +20240105014846 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E5FFDD18B +20240105014953 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E601A78EB +20240105015628 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E60E96A33 +20240105020424 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E61E408CF +20240105020757 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E6251DED3 +20240105022925 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E64FD3CDF +20240105024930 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E677F3A93 +20240105040144 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7077E4E7 +20240105040715 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7125CD47 +20240105041838 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7292290B +20240105043220 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7445EA7F +20240105045717 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E775FC3E3 +20240105050855 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E78C836D3 +20240105051736 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E79DB2663 +20240105053034 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7B7AF41B +20240105053602 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7C2244FB +20240105055132 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7E0B5887 +20240105060142 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E7F4B55DF +20240105062354 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E820CC287 +20240105062720 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E827312A3 +20240105070333 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E87007257 +20240105070659 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8765266B +20240105070824 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8788941F +20240105071340 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E882B5647 +20240105073012 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8A3A1757 +20240105073438 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8ABFBF6B +20240105074101 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8B83EBE3 +20240105075449 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8D2D8B0B +20240105075939 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E8DC91A67 +20240105083505 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E9233F247 +20240105091527 2 6 100 6143 2 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E97244C43 +20240105092237 2 6 100 6143 5 FF5C5D46851A712217A7872DC20FF08EDD8DAF1F5041D8E35C2889494C9D8EE9313A8425B2DF8ACE596A9B3044564D2DF404370C9F2B819E5E3F75FCD6A119BC357B24671D1F6221E94DADF4BBA056785FA323E6BCD416DD8A11799D997E73C6A32602F35592F31456FDF05CE5BECC9D233D607E6A6E1341CDE092E04376B35A81668315141B9F3EB5DB7D28A92A85F8175087FF4582636A29EBC0C14C1F8664BDFC4B1C3A5B405D240E0A67B81D3E8D366DCCF8649FFFACC530FEB87866AF3E765E9C8B7B19EAE109BD9BDB184137C7218AF8FF1E36BDE8FD9AFF4E4E29E9497A5104502CBE8A3A01A0D4C65C605A81EE3C3AF59DAD4AE4062201FD1F0AE0CC8FDE86625B1209EDE36FD81D573BA35A1153F6273C3F5DDEEC3E14BB20F6392E937FB2C11005B762FB8E5A61348AAF6374EC3F3A27498B5CCECD5447F7837C21D9EA418E689AD518778A3B4D70CB8CCE215CF5407CA93A882B8463F3311DC1757EF00554FD187F7A286D03AC715FC2CBABC7A00037D91EDF450DC6A515D2866D71555AD4073A87A5488F804A391890A48B2C8E8BD5AF53C97AA9505166788A216634B62DE3376E88621A47E5DA1A783B56C3D738473E9D751CC570F7EC94B8D76A9350CAA57D25F8621A6CB03B68A2E01D9FBD508E8C91CB8859544490936D5FCF198F3E5ADDD2C0DB756B3A94D9C357779C1867265F7CBE9EC00F726E683537DE973E59C7ACD928FA91AB996906D8FB6DBE6F1708913008D08180A3DE71AF098A481400BB5284B02B360080118163B2E19BEF45E51AD3A02D34E92B369C227355EE5BD6316E07991B211A87ED8F36FE5337C6969F4B0BC9FF626C5468F88D49B5A0BE005DC89E0AF7285710E14FC683FD9A99AC86749D8E1FF0BAC1CCB6D734BEFCBBA90F7F0D195860915578661F213012FB2C7F68C0E49D154B9D153D62C8C95084172A395F8E228688CE70226CA41435EB903E3EAAC6695BCE4E6AF36C63D387070D12009BE2B9ECAC9540896DCE83A4AAA6FF6F4ED14A169BC17A20B8AD165997536F55B7590483878B806458FAADC4AC60AE4326251A153B3E97FEE79F +20240105095913 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E29046217ABB +20240105101403 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290471B744B +20240105104919 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2904974A54F +20240105113526 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2904C8FD633 +20240105121046 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2904ED8847F +20240105122212 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2904F9A37C7 +20240105154705 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2905D2EA893 +20240105162329 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2905F97BD13 +20240105164947 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290615186EB +20240105183728 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290687AC4D7 +20240105184151 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E29068C000E3 +20240105202016 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2906F571D5F +20240105214209 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E29074DB94EB +20240105224349 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E29078F088AB +20240105224824 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2907938DD5F +20240106020909 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290869AA027 +20240106021855 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290874189E7 +20240106035257 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2908D8EE727 +20240106044018 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E29090CAEA63 +20240106044946 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2909163261F +20240106045528 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E29091B93073 +20240106050848 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E2909297B81B +20240106092208 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290A3BCF3C7 +20240106101059 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290A7091163 +20240106101802 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290A77D0A0B +20240106104846 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290A989844F +20240106110203 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290AA67622F +20240106113157 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290AC6FC52B +20240106115438 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290ADE815A3 +20240106133228 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290B48CC803 +20240106133609 2 6 100 7679 5 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290B4C4DBCF +20240106134717 2 6 100 7679 2 D1501303160348FD3A7B93C0412E414592732D1C3780B7CEEAD4867A47FC4E561D607B47D1B05E93FAD668BBBB5F21CD009E5D3C9D7870A3FC811AA616A4F50A5F8A73DA799E4E2959006D1FD23D3DA241E8F5F7674904B56058A95AE30B7EB8ED4977C93E6C3460E0A4421B1BC044A93F71B8FB60C7EFE4B4C41454FF7BD38D5447AF6AE20D826D8244F9396EF549DFF6138BAE6BDFD3B1F2E1125365761CE905827D63F39605B703FF39EDA7A239D553012FAF6C33A327A4447868A9321D30ACE8F0DA43427BF73595D41C089F2F817245FCC4B38AE3DCDBD73C2F82386E53EE9BD4850754E21060B0688EC27CDC2045216E1FA70770F420230D8923361C30F10340A1715B1F642DCD397A5A3BA28C59B3F29818B896D45DD6B12F34BF69303048DB6A8DAF68F3DE4E9CB902C56D511578873A30869642961B242625FA41B5059ED0C9098DA1FC8EE928B6E5429EAFBEE721D5BAD923B35046CC09E85E1894FD0DEA671DBD5DC2FD42CD8FD2E52379544212ADE9F755712515AF31F47372F6DF80C9DAFF562542B7E26F32E373C5C83222FA83356071175C44F639B2711C7B3F74063CD8FDE5ED9E25BA806F4BE2504C339F03A1B9ABE0979D181A7F71624E2AB1DF6945C5FB419727BABFD9755A8019DAF7607273B57C7B9A802928D6C3B377E621988F6DBAA6FE322F14210244C1C3EDDF104F73D57A661F8CBF117D405A18E1B176A705049BD696244109AB272F4C5352C456D4C04D2A6001E1626E6E038F48093B3EF619B7BA9002A7E64BEFCCA297D71D08EF1C0E99962B55EF85CCD2F111F51AEEAD99C3085BC9AA936D1A55F5204281860E33EA6ACCC22CBFD6A1AD086E44B43E0E445B22F0A7222EC3417619461BB69E27B1A931EEECECA667DDF6A7AB24B3F369337F261A99DA78B55FB24FFFF315FA48882D70446E617F7804E8A743AAC7CA0A1F4FB3C31E37E0D51A6EC1E923C110763047E9AD04B1A321A3E3993D7A4C688DED76FB6B907D80DB3DB89589B98ECE42059630FE74FE945B0A92888B9D3566CC0384DDCD92C4B0455D7B5DD39E0A0DFED6C96A7C4B5095A231E67E8AF3D70742F37A4DEC85B0E060D7F304778062F0F4C3CE4019DEF66484000A0A79243EFFA5927813B30B915F454CD87A13B0B0403E65970194C98F042F26C25462D0F749B5255A5AC0D294DE30DDAFC1AEA00C7D280555003FD4C32C5C9987405CA4728104E469487794B3616BABA85B09A7369B8530FA565D2B04736386AD8938B8CEDAC0B1B9FE073B21B4D402BDFCE7AF4F8F69FD6695A013424FC8484AABAA19BDDFB74E1935EB972C6D6C0CA9E9A3C07333788552B446E290B5751C53 +20240106141837 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DEE2E4EE3 +20240106142436 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DEE8A7CD7 +20240106144829 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DF015742F +20240106152038 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DF234DAA7 +20240106160105 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DF4EFC613 +20240106163121 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DF6F6E203 +20240106163448 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DF72A0C27 +20240106170007 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DF8E1C203 +20240106175041 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DFC3E7E5F +20240106184134 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7DFFA55BB7 +20240106194104 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E03A6612B +20240106201237 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E05C48B9B +20240106203135 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E070747CB +20240106215140 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E0C7B892B +20240106225612 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E10CEF363 +20240107002641 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E16E9D69B +20240107012956 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E1B324EEB +20240107014336 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E1C0FDB2F +20240107015412 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E1CC29D5F +20240107023117 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E1F39A223 +20240107024430 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E20145813 +20240107030408 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E2165D633 +20240107032720 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E22F0D6AF +20240107045444 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E28D2CA07 +20240107052034 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E2A83AF4B +20240107055000 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E2C7678F3 +20240107064332 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E3017D303 +20240107070345 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E316A269B +20240107071248 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E31F72497 +20240107073413 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E3368806B +20240107075627 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E34E626DF +20240107092923 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E3B1B9373 +20240107105443 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E40D41C83 +20240107120213 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E4560E6C7 +20240107121141 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E45F89EEF +20240107121703 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E464C599B +20240107132926 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E4B161313 +20240107142507 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E4ECFD6B3 +20240107151843 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E5258293B +20240107153743 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E539E84FB +20240107160830 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E55AB3C8F +20240107163047 2 6 100 7679 2 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E571F6DD3 +20240107170058 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E591D8A17 +20240107174158 2 6 100 7679 5 ECDBC2E7C98E3D4FEABA99C3FA3EEAAC6305023D95B895C4019BFC22601AB5F9D51E3CFC909E5B963B2C52654C150DECAEDA6D0397EB54F1DA714D70920CF4054E02B5CD515C51FCA359DC1733120FAA30541BC2707C9FA7B973464558F6A7119E9ACC9F0A62729B41A2CF697EBA9E646627E8DB08E967447517B31844C347B02576F9E8E9B80FBE14E5C1D42D5CA233644FA7652130878CCF740A59F20835B21FFBDB2B1EDE638AF89D50A3EE7E31E37DD712FD021DB31EDAE2981299034B6C0E4F99E40D4D8E179F384931DAC81A266507E586A01C60BBE107F6896ED9DF8F8CC7E4E50EEC3EAE34B00817FF531413A27B3F8DFFCBC297043E769DDF8CE267AE314F9CBEBEFBC43D46DCAA1948E1626094CF1D7109AABBF971D76CC4C8F8FEEB211BC7DA3748B0341C39126FF72497F6D0B4800CD8D47A1C64565C752ABD83B4B013CEE0547BE9EFC0C806F9B9318F5B2E34573E912A9A18A3778F82978BF2AB2ABCE38BF82F77A1FB15D6675BB0F881E2963686E2AF1842085AEFAF65DF160260D788DE8F1D955D89B70693E70F58EFE6E3B1C8C3852031BB44A17905DD9F083BFD8A8A4F08E1CDE8434B0CC84E9F119C0D56012FFB5854E3C427EC034E085733B77E072FE074714AEF51D8378774BCB2E7A38BD8FDED53AF1D086A508D90A2FE7AE66247BC4A476C9462FECD4EDF39147267EBAEFD44FA45E2E55B320E912CA67ECA0A768BC573B2639F3DC4D36CA747008A0B4EF891422F66123072F66753B5594981EBEC23CE739971AF90DB0822B1C312DD916395CAE325ABB2AD544C84C79C645095DF9BDD20FE6499B6999E471E85AA2012F38927A5B3AB17AA10956C240D9BB1151E6E83700C3759D74C463B56D5D215B812A5A5BA859B4237EF0E23D6C086A9A25A6ACCD2B830F64F677F83531CA0FDCEAAF65B96EF4C9772C73D4627BEAE8645ED34404F8A2F4FAB1FF4F56E28C5CA1D9AA227FD95DF5113FD07200E3D10065FA337160E544D0027C0A82B049204BA0A544B5E32B3F08B76404A85E2927630EC0324A50632657543A72E481F5418B1CB45B1DB93AA66539FF4A0120599F87705284BC1AB03EDD8FCFC9C0C2C4BD58276C1D4AC3680B05CED61B91AE9791140655A229D776900DB47379B99EF8ABF851E2F61099BF43F6870E1EF5D03CAC45D00F6927601241AC087C235098CEC4AFDC9DA8586108517F7D4D761D1FEA18110825E5EE903ED3562BF5E12A2C2A3B295553D3948A1B1F28B6B0F7D9C94D9AD634105D2A8BCE8E7C93FBF9CE2DD73047F6E1B616188375F94B3CDDC878B69C4FD9D918ED35FE45659093974E46247F09B8D3C23DAB5DA7E5BDEE42F +20240107195132 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C0BF412DB +20240107211121 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C106F1A93 +20240107220224 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C1347F0E7 +20240107223011 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C14CC844F +20240107233406 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C185DAE33 +20240108000524 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C1A253E97 +20240108013639 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C1D6DA233 +20240108015050 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C1E2A0393 +20240108022016 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C1FCAB623 +20240108033300 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C23A9F963 +20240108082339 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C33AB6633 +20240108085755 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C3584E623 +20240108101256 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C399FD6BF +20240108142359 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C47985243 +20240108150338 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C49B5DE8B +20240108163222 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C4E9B7AD7 +20240108194900 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C599C1087 +20240108204036 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C5C81D16B +20240108211124 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C5E307A1B +20240109020016 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C6E22534F +20240109031529 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C7259083B +20240109032856 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C73148B47 +20240109034303 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C73DA772B +20240109040437 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C7507EF03 +20240109045950 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C7828D92B +20240109064936 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C7E67E273 +20240109084815 2 6 100 8191 5 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C850D9B77 +20240109091115 2 6 100 8191 2 F601EC0972F67ADD6AA2031ABBAE6FAF062C5AD1619D32B18D43DB10D9B5E0A5E2F69321C963175289C7B809575F1CA9B1C51D14BDDFB5B9F825EB4F2890D9C5C0D6D03B42ED03B16816DA4213187289FC4F2C51710DF07506C50B2D0BD47A1D5EEF8832D8D62CE93BE30646F7EAAB30AD4C172C1F0162FDF61299C3EB1EB91AC76D9219DD0608C0640E080887E6BC4F076CFA6CAD2C64B5E2BA2803B13A34F28923897E861DF14CA58848A773F0B348788F6034F3AFAE3798DCDB196172229F7D9ED45857917411A1F4A79119F544B45CDC2F0D7CC8381BC31DF229A72CF03D150E016B3CA95D803B42463FAB8382B389A1B3FF4E76F2B4025E0872D28F9F4E356B9C967EE4230BB3AA8629626C12DD66282B0E2979F428F89131BECD4FEF45E028BEBBD3CA638F71F8832B7552212BBE1C1A2F213DC579E227285D6B1511303F6905A492CC08BE2361EA5E46A66E0633D35819FAF6B7DA7C9BBA485E2813D0122ADCFAEB5C2991AFFF76A7A746CCC4F9A40DAA3870FD943E92F3BD8F65CFA997A3635EE9F3BBB3D4E229AAA64F6F53C56F02E65DB06ACD2182FB013FB2E33EF6D8D2A40C9EE3885D7322B4F87F2EBEA0A799EF949BD7CE9657CBD7FD75485F7B68839167FE40F20C796B4CFA42FAC5593BFDA46FA6E416BC688D33426B0644BABC0E52CBA377CD0A3CC0D159A7B003F3BEEB9405B160D55264F7A31A52A9A4C7A1576494BC994925D574DF813CFB2C0DFA6B92B8EA6036B2D4CD5E54109F722C3F75690F3295EEE4CE512612711B1E59A0600701A8AA90D4FB6604B765E0AECB664F2318B556A2C1645865E1CD30CF50FFD2F6A8BA3D1642DEDD67F3E1B0516205F5EDC25FB21217666A1690DED31BD0020B6F7706C9E499EE23B2BF9265E43C23CEE5CA5F9B70ABBC437E8FBBD0295E639FB4858A99A85DDA4B3058145F7D2081A869C3D8A775DBB3FA66DE5FD1DD8278E7627891B845CC8B2918DD8FC21112F3D1AE4EA375AEC71F95A0C02251489CFDFC40272F8BF3C04469E5FB196C18081E94EB56731AC5EB40E5476B3D8743E69BDD7316C9ECEF9FE30FBABA7B4483CABFE9BF91F3BC536F022DAC1FE2A3E5090924CC23EC793A45DC9BF88384CA6152A82903C107517D3252E3067A2AF52E24A3B0A9B7A1CB9F8FAC05C8CAD0729A270432A437A5417CED21A7BC11086437A104C05D542E5BC3E106DCF2772FAE6A90E3FDC1F3397C3E0A16630EAC1F02302407B453C4B2956FB8BDACBD8DB142ACFBFC8345F339E89B8103D2C5AB252BAB6B78BDD869F2A0FC7A9ABD2F4E5DF78E4A13EEC2DCF0B90FCA6CE7E255E95CD5B2CC59855FD7509B6C8080ABBB205F01186E25EA88DEB918EBCD5D62D3008DC8E93A4C31C379A388FD58E92E0E1308D30D66DEFF4C02C46FAB280FC61FA205B7A7D074582D40BF4B5EE4B87C86562483 +20240109102754 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3113DE49B +20240109103838 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB311CE7D53 +20240109122733 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB31802BDDB +20240109144019 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB31F830A13 +20240109151803 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3218C2C43 +20240109172004 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB32877BA83 +20240109173200 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3291AFE77 +20240109175727 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB32A87A0F7 +20240109190851 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB32E84D477 +20240109232421 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB33CD99FDF +20240110000155 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB33EF7933B +20240110004723 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3417961D3 +20240110033004 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB34A9B46AB +20240110044250 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB34EAF64AB +20240110053016 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3514D538B +20240110060245 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3532513EB +20240110065303 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB355F0E0D7 +20240110065533 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3560D1433 +20240110075227 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB359366F87 +20240110100015 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3604C809B +20240110104106 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB36298E677 +20240110104740 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB362EE1733 +20240110111504 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3646C34FF +20240110112023 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB364B02F03 +20240110115553 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB366AD1CA7 +20240110120601 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB367384E6B +20240110130930 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB36ACD8457 +20240110133324 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB36C204A5B +20240110144137 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB36FE62043 +20240110150954 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB37171A81F +20240110152353 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3722EE947 +20240110152557 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB37242E447 +20240110152925 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3726B351F +20240110161518 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3750124BB +20240110163930 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB37655D503 +20240110171223 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3782C4503 +20240110173427 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3795E162F +20240110184239 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB37D2F5503 +20240110194145 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB3807A121F +20240110194314 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB38088267B +20240110200018 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB381776C63 +20240110211339 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB385922C6F +20240110230519 2 6 100 8191 2 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB38BF1EC13 +20240110230904 2 6 100 8191 5 F7D2DED9D5BF8F08F6729427B4FA345B673D55A16502D2B438B068D893B7FD078638BFC485EE380DA4F972F1E2D28F9DE0C9D32CFECE54C8FFACDFB01EF0CFEAF7E644667DAE998AC4E387CBB3D7A5E4CC822EAC7D515E6FFC76DF221FCF9C75B443A10C349D01D7B0EDE446DB84A638E4BB390362E25201D2B3766FAB1C154B24827C9DD3F26018960AD84D599FB5F0090E321AD891DBB94B9E755CE54B3A99BE00CE2CBA594205B28F277FB3205A531709AC7753EC2C38CEF555715CC56FD88780779CDFED96E1300F705E6426C9420275C5CFF3A5CEA59FCC57EF776B98DB7B23C1CE34F6097E778B6DA4AE5593C3827DF62AE582738497F51A089E30DCC44FADD4200A72DD9C11E645C56085678687ED0BD12E6C862EC0BA0FBEC9B5677534D83335C5550B6A04C6D52189E396CDFAD25D56344300D17DEEF76FA106741EA0A164EF404EBD6EE03ED514D3E0443B8C30535114CE68B8507B9C3F7F942E1E4A86AABDB9DF0D688842E9AB8508146E08F974FDB3D7E07DC7610FC4BB3259FB2F1FB9142B77640715690A53E6B9E1CB43F270CE35A585BD6BD5F8E7415C27273F0B6C040D4F293C71FFAED61319DAF9FAAD3BE65671657B7A3C1F115CE315A3C329DF25DA1C3CC8EEA18AC8BCDCF1E965B573FC5B194AF79F04FE7B3E28347EB73F12F19B87548D9A34DE6820D78D5490F93B126A0ECB6696E32E917EC922BB27BC3DED89EF206AE1917F74B4C642043C54F77AC8B9273CC68BE4A1131E634263057E10C97C866934AE984D8D4D2FDDF833AB58AAB209A193D0E6AEDDB70A8E6AD7DB2090412118687DF9817B1D81D00C64925A4995F19368813CCFC1D13BAD28B8C449A71FA42CEFFB1251D7CBC01875C80ED21FF370638E4EBE5CC4EA7674B24599826390C84DA1F292E7B989E838F047ABE7A075E357D90068037E886ADB9A869E0C62513A7E0B90231AA40AA8F96A5A795482410EB3FEA4D1CC5549CD50FF2B2AA5A42DB4366B3CABF54EE92B830D8EE77293A03E436A637CFCA3FE7CF60B662FFDD8C72516C2F2370978BC2DEF32D88FB55801D1E22878C8C86B7DD63077A700639A95A30C7DD522943D99C9CA17059715B6884FB786FE50994915D41B0D9DDC8AA2517094CFF9C1769E05F548C5222486B798EFE13788351E986CAAFFE3D95A0082C822CECB7D55FBAF4DD026849765690E283433B0B6B0060533863CA03736FB7973BF83EE5C12C1A3FA3F4E64A23746A9DB919257C06ED0918FB1BC8D28EB4A72DDC37954680C91FF58811883342B3FE2D8FA68623C139BFB6843E858156317C8C803D5971871F2A55C0A36CC5FED30733FB09F6F5D87825300E543B02DDCCD6C4CE68E977C7EA824B5E9EC28B671DC4B28224C6CE43F2BC3B729E3C833403C2FF9F082B2445368A132F97C088E90367832BB69F5C54CB38C21AB87 From dc37d2d2470b4a9cedcee9ac926b7362214e3305 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 16:26:14 +1100 Subject: [PATCH 007/172] If we're using xpg4's id, remember to pass args. --- regress/test-exec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index f4c363d847f6..a109904cc40b 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -403,7 +403,7 @@ fi if [ -x "/usr/xpg4/bin/id" ]; then id() { - /usr/xpg4/bin/id + /usr/xpg4/bin/id $@ } fi From 5516923e8ae3da0823fea0d7d28aa813627142c0 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 16:35:27 +1100 Subject: [PATCH 008/172] Add short names for test jobs on github CI. --- .github/workflows/c-cpp.yml | 1 + .github/workflows/selfhosted.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 21ea2d969faf..9f74bcd2b98d 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -8,6 +8,7 @@ on: jobs: ci: + name: "${{ matrix.target }} ${{ matrix.config }}" if: github.repository != 'openssh/openssh-portable-selfhosted' strategy: fail-fast: false diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index 4f1c587a5779..4e8819a428bc 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -6,6 +6,7 @@ on: jobs: selfhosted: + name: "${{ matrix.target }} ${{ matrix.config }}" if: github.repository == 'openssh/openssh-portable-selfhosted' runs-on: ${{ matrix.host }} timeout-minutes: 600 From 5fc1085128e3348bb1b5ee4d955cc767b019b3ad Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 16:50:46 +1100 Subject: [PATCH 009/172] Be more specific about when to rerun workflows. --- .github/workflows/c-cpp.yml | 4 ++-- .github/workflows/cifuzz.yml | 4 ++-- .github/workflows/selfhosted.yml | 2 +- .github/workflows/upstream.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 9f74bcd2b98d..3a1fd0358134 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -2,9 +2,9 @@ name: C/C++ CI on: push: - paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ] + paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yaml' ] pull_request: - paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ] + paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yaml' ] jobs: ci: diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 7ca8c4719b61..ab8b1c6e0971 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -1,9 +1,9 @@ name: CIFuzz on: push: - paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ] + paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/cifuzz.yml' ] pull_request: - paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ] + paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/cifuzz.yml' ] jobs: Fuzzing: diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index 4e8819a428bc..ec0fd6bb674e 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -2,7 +2,7 @@ name: C/C++ CI self-hosted on: push: - paths: [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '**/Makefile.in', 'configure.ac' ] + paths: [ '**.c', '**.h', '**.m4', '**.sh', '**/Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/selfhosted.yml' ] jobs: selfhosted: diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index b280793d31f3..942714a37e34 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -3,7 +3,7 @@ name: Upstream self-hosted on: push: branches: [ master ] - paths: [ '**.c', '**.h', '.github/**' ] + paths: [ '**.c', '**.h', '.github/configs', '.github/workflows/upstream.yml' ] jobs: selfhosted: From 18dbe8eff647aacb82d7e86b4ce63d5beee11f25 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 17:13:52 +1100 Subject: [PATCH 010/172] Ensure /usr/local/etc exists before using in tests. --- .github/run_test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/run_test.sh b/.github/run_test.sh index d5fd487d9009..c997f7f7ecd1 100755 --- a/.github/run_test.sh +++ b/.github/run_test.sh @@ -9,6 +9,7 @@ set -ex # If we want to test hostbased auth, set up the host for it. if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then sshconf=/usr/local/etc + mkdir -p "${sshconf}" hostname | $SUDO tee $sshconf/shosts.equiv >/dev/null echo "EnableSSHKeysign yes" | $SUDO tee $sshconf/ssh_config >/dev/null $SUDO mkdir -p $sshconf From 2946ed522c47ce045314533d426b4e379f745e59 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 17:19:09 +1100 Subject: [PATCH 011/172] Better short name for OpenBSD upstream CI jobs too. --- .github/workflows/upstream.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 942714a37e34..e16d813bb26d 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -7,6 +7,7 @@ on: jobs: selfhosted: + name: "upstream {{ matrix.target }} ${{ matrix.config }}" if: github.repository == 'openssh/openssh-portable-selfhosted' runs-on: 'libvirt' env: From 8a421b927700f3834b4d985778e252b8e3299f83 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 18:38:14 +1100 Subject: [PATCH 012/172] Really mkdir /usr/local/etc in CI tests. --- .github/run_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/run_test.sh b/.github/run_test.sh index c997f7f7ecd1..17c1731ff860 100755 --- a/.github/run_test.sh +++ b/.github/run_test.sh @@ -9,7 +9,7 @@ set -ex # If we want to test hostbased auth, set up the host for it. if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then sshconf=/usr/local/etc - mkdir -p "${sshconf}" + $SUDO mkdir -p "${sshconf}" hostname | $SUDO tee $sshconf/shosts.equiv >/dev/null echo "EnableSSHKeysign yes" | $SUDO tee $sshconf/ssh_config >/dev/null $SUDO mkdir -p $sshconf From 83621b63514a84791623db3efb59d38bc4bf9563 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 25 Mar 2024 01:28:29 +0000 Subject: [PATCH 013/172] upstream: In PuTTY interop test, don't assume the PuTTY major version is 0. Patch from cjwatson at debian.org via bz#3671. OpenBSD-Regress-ID: 835ed03c1b04ad46be82e674495521f11b840191 --- regress/test-exec.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index a109904cc40b..d7b9f6ca8efd 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.108 2024/03/08 11:34:10 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.109 2024/03/25 01:28:29 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -810,17 +810,18 @@ puttysetup() { echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy PUTTYVER="`${PLINK} --version | awk '/plink: Release/{print $3}'`" + PUTTYMAJORVER="`echo ${PUTTYVER} | cut -f1 -d.`" PUTTYMINORVER="`echo ${PUTTYVER} | cut -f2 -d.`" - verbose "plink version ${PUTTYVER} minor ${PUTTYMINORVER}" + verbose "plink version ${PUTTYVER} major ${PUTTYMAJORVER} minor ${PUTTYMINORVER}" # Re-enable ssh-rsa on older PuTTY versions since they don't do newer # key types. - if [ "$PUTTYMINORVER" -lt "76" ]; then + if [ "$PUTTYMAJORVER" -eq "0" ] && [ "$PUTTYMINORVER" -lt "76" ]; then echo "HostKeyAlgorithms +ssh-rsa" >> ${OBJ}/sshd_proxy echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> ${OBJ}/sshd_proxy fi - if [ "$PUTTYMINORVER" -le "64" ]; then + if [ "$PUTTYMAJORVER" -eq "0" ] && [ "$PUTTYMINORVER" -le "64" ]; then echo "KexAlgorithms +diffie-hellman-group14-sha1" \ >>${OBJ}/sshd_proxy fi From d2c8c4fa7def4fb057ed05b3db57b62c810a26f6 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 25 Mar 2024 01:40:47 +0000 Subject: [PATCH 014/172] upstream: Increase timeout. Resyncs with portable where some of the test VMs are slow enough for this to matter. OpenBSD-Regress-ID: 6a83a693602eb0312f06a4ad2cd6f40d99d24b26 --- regress/cfgmatchlisten.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/cfgmatchlisten.sh b/regress/cfgmatchlisten.sh index a4fd66b3224c..2308db14078f 100644 --- a/regress/cfgmatchlisten.sh +++ b/regress/cfgmatchlisten.sh @@ -1,4 +1,4 @@ -# $OpenBSD: cfgmatchlisten.sh,v 1.3 2018/07/02 14:13:30 dtucker Exp $ +# $OpenBSD: cfgmatchlisten.sh,v 1.4 2024/03/25 01:40:47 dtucker Exp $ # Placed in the Public Domain. tid="sshd_config matchlisten" From dbf2e319f0c582613fa45a735ea3c242ce56946b Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 25 Mar 2024 02:07:08 +0000 Subject: [PATCH 015/172] upstream: Save error code from SSH for use inside case statement, from portable. In some shells, "case" will reset the value of $?, so save it first. OpenBSD-Regress-ID: da32e5be19299cb4f0f7de7f29c11257a62d6949 --- regress/key-options.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/key-options.sh b/regress/key-options.sh index 2f3d66e2e9ea..623128ca4e65 100644 --- a/regress/key-options.sh +++ b/regress/key-options.sh @@ -1,4 +1,4 @@ -# $OpenBSD: key-options.sh,v 1.9 2018/07/03 13:53:26 djm Exp $ +# $OpenBSD: key-options.sh,v 1.10 2024/03/25 02:07:08 dtucker Exp $ # Placed in the Public Domain. tid="key options" From b326f7a1f39ff31324cc3fe2735178fb474c04a4 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 25 Mar 2024 03:30:31 +0000 Subject: [PATCH 016/172] upstream: Improve shell portability: grep -q is not portable so redirect stdout, and use printf instead of relying on echo to do \n substitution. Reduces diff vs Portable. Also resync somewhat with upstream. OpenBSD-Regress-ID: 9ae876a8ec4c4725f1e9820a0667360ee2398337 --- regress/sftp-cmds.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/regress/sftp-cmds.sh b/regress/sftp-cmds.sh index 85f0e9767285..f0ba59076aa7 100644 --- a/regress/sftp-cmds.sh +++ b/regress/sftp-cmds.sh @@ -1,4 +1,4 @@ -# $OpenBSD: sftp-cmds.sh,v 1.15 2022/03/31 03:07:33 djm Exp $ +# $OpenBSD: sftp-cmds.sh,v 1.16 2024/03/25 03:30:31 dtucker Exp $ # Placed in the Public Domain. # XXX - TODO: @@ -28,12 +28,12 @@ rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 mkdir ${COPY}.dd verbose "$tid: lls" -(echo "lcd ${OBJ}" ; echo "lls") | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ - grep copy.dd >/dev/null 2>&1 || fail "lls failed" +printf "cd ${OBJ}\nlls\n" | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ + grep copy.dd >/dev/null || fail "lls failed" verbose "$tid: lls w/path" echo "lls ${OBJ}" | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ - grep copy.dd >/dev/null 2>&1 || fail "lls w/path failed" + grep copy.dd >/dev/null || fail "lls w/path failed" verbose "$tid: ls" echo "ls ${OBJ}" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ @@ -116,13 +116,13 @@ done rm -f ${COPY}.dd/* verbose "$tid: get to local dir" -(echo "lcd ${COPY}.dd"; echo "get $DATA" ) | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ +printf "lcd ${COPY}.dd\nget $DATA\n" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "get failed" cmp $DATA ${COPY}.dd/$DATANAME || fail "corrupted copy after get" rm -f ${COPY}.dd/* verbose "$tid: glob get to local dir" -(echo "lcd ${COPY}.dd"; echo "get /bin/l*") | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ +printf "lcd ${COPY}.dd\nget /bin/l*\n" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "get failed" for x in $GLOBFILES; do cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get" @@ -162,13 +162,13 @@ done rm -f ${COPY}.dd/* verbose "$tid: put to local dir" -(echo "cd ${COPY}.dd"; echo "put $DATA") | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ +printf "cd ${COPY}.dd\nput $DATA\n" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "put failed" cmp $DATA ${COPY}.dd/$DATANAME || fail "corrupted copy after put" rm -f ${COPY}.dd/* verbose "$tid: glob put to local dir" -(echo "cd ${COPY}.dd"; echo "put /bin/l?") | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ +printf "cd ${COPY}.dd\nput /bin/l*\n" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "put failed" for x in $GLOBFILES; do cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put" From 16e2ebe06a62f09d4877b769876d92d6008a896f Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 25 Mar 2024 06:05:42 +0000 Subject: [PATCH 017/172] upstream: Verify string returned from local shell command. OpenBSD-Regress-ID: 5039bde24d33d809aebfa8d3ad7fe9053224e6f8 --- regress/sftp-cmds.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/regress/sftp-cmds.sh b/regress/sftp-cmds.sh index f0ba59076aa7..3bbd079d458e 100644 --- a/regress/sftp-cmds.sh +++ b/regress/sftp-cmds.sh @@ -1,4 +1,4 @@ -# $OpenBSD: sftp-cmds.sh,v 1.16 2024/03/25 03:30:31 dtucker Exp $ +# $OpenBSD: sftp-cmds.sh,v 1.17 2024/03/25 06:05:42 dtucker Exp $ # Placed in the Public Domain. # XXX - TODO: @@ -41,9 +41,8 @@ echo "ls ${OBJ}" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ # XXX always successful verbose "$tid: shell" -echo "!echo hi there" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ - || fail "shell failed" -# XXX always successful +echo "!echo hi there" | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ + grep -E '^hi there$' >/dev/null || fail "shell failed" verbose "$tid: pwd" echo "pwd" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ From 63f248c7693e7f0a3b9a13d2980ac9a7e37f2aea Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 25 Mar 2024 19:28:09 +0000 Subject: [PATCH 018/172] upstream: optional debugging OpenBSD-Regress-ID: b4852bf97ac8fb2e3530f2d5f999edd66058d7bc --- regress/unittests/kex/test_kex.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/regress/unittests/kex/test_kex.c b/regress/unittests/kex/test_kex.c index dc1014ea4492..b1161ea824fa 100644 --- a/regress/unittests/kex/test_kex.c +++ b/regress/unittests/kex/test_kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: test_kex.c,v 1.7 2024/01/11 01:45:58 djm Exp $ */ +/* $OpenBSD: test_kex.c,v 1.8 2024/03/25 19:28:09 djm Exp $ */ /* * Regress test KEX * @@ -22,6 +22,7 @@ #include "sshbuf.h" #include "packet.h" #include "myproposal.h" +#include "log.h" void kex_tests(void); static int do_debug = 0; @@ -177,6 +178,9 @@ do_kex_with_key(char *kex, int keytype, int bits) static void do_kex(char *kex) { +#if 0 + log_init("test_kex", SYSLOG_LEVEL_DEBUG3, SYSLOG_FACILITY_AUTH, 1); +#endif #ifdef WITH_OPENSSL do_kex_with_key(kex, KEY_RSA, 2048); #ifdef WITH_DSA From 861b084429940e024f1b6e9c2779eac95d7a45db Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 18:55:33 +1100 Subject: [PATCH 019/172] Resync with upstream: ${} around DATAFILE. --- regress/sftp-cmds.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/regress/sftp-cmds.sh b/regress/sftp-cmds.sh index 3bbd079d458e..6d1b0459d054 100644 --- a/regress/sftp-cmds.sh +++ b/regress/sftp-cmds.sh @@ -103,7 +103,7 @@ rm -f ${COPY}.dd/* verbose "$tid: get to directory" echo "get $DATA ${COPY}.dd" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "get failed" -cmp $DATA ${COPY}.dd/$DATANAME || fail "corrupted copy after get" +cmp $DATA ${COPY}.dd/${DATANAME} || fail "corrupted copy after get" rm -f ${COPY}.dd/* verbose "$tid: glob get to directory" @@ -117,7 +117,7 @@ rm -f ${COPY}.dd/* verbose "$tid: get to local dir" printf "lcd ${COPY}.dd\nget $DATA\n" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "get failed" -cmp $DATA ${COPY}.dd/$DATANAME || fail "corrupted copy after get" +cmp $DATA ${COPY}.dd/${DATANAME} || fail "corrupted copy after get" rm -f ${COPY}.dd/* verbose "$tid: glob get to local dir" @@ -149,7 +149,7 @@ rm -f ${COPY}.dd/* verbose "$tid: put to directory" echo "put $DATA ${COPY}.dd" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "put failed" -cmp $DATA ${COPY}.dd/$DATANAME || fail "corrupted copy after put" +cmp $DATA ${COPY}.dd/${DATANAME} || fail "corrupted copy after put" rm -f ${COPY}.dd/* verbose "$tid: glob put to directory" @@ -163,7 +163,7 @@ rm -f ${COPY}.dd/* verbose "$tid: put to local dir" printf "cd ${COPY}.dd\nput $DATA\n" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ || fail "put failed" -cmp $DATA ${COPY}.dd/$DATANAME || fail "corrupted copy after put" +cmp $DATA ${COPY}.dd/${DATANAME} || fail "corrupted copy after put" rm -f ${COPY}.dd/* verbose "$tid: glob put to local dir" From edcff77f82c2bb2b5653b36f1e47274c5ef3e8be Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 26 Mar 2024 18:58:58 +1100 Subject: [PATCH 020/172] Fix name of OpenBSD upstream CI jobs. --- .github/workflows/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index e16d813bb26d..9b6ab382eae4 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -7,7 +7,7 @@ on: jobs: selfhosted: - name: "upstream {{ matrix.target }} ${{ matrix.config }}" + name: "upstream ${{ matrix.target }} ${{ matrix.config }}" if: github.repository == 'openssh/openssh-portable-selfhosted' runs-on: 'libvirt' env: From 22b2b6c555334bffdf357a2e4aa74308b03b83c3 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 26 Mar 2024 08:09:16 +0000 Subject: [PATCH 021/172] upstream: test -h is the POSIXly way of testing for a symlink. Reduces diff vs Portable. OpenBSD-Regress-ID: 6f31cd6e231e3b8c5c2ca0307573ccb7484bff7d --- regress/sftp-cmds.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/sftp-cmds.sh b/regress/sftp-cmds.sh index 6d1b0459d054..b16bc309e8bc 100644 --- a/regress/sftp-cmds.sh +++ b/regress/sftp-cmds.sh @@ -1,4 +1,4 @@ -# $OpenBSD: sftp-cmds.sh,v 1.17 2024/03/25 06:05:42 dtucker Exp $ +# $OpenBSD: sftp-cmds.sh,v 1.18 2024/03/26 08:09:16 dtucker Exp $ # Placed in the Public Domain. # XXX - TODO: From 7844705b0364574cc70b941be72036c2c2966363 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 29 Mar 2024 10:40:07 +0000 Subject: [PATCH 022/172] upstream: Use egrep instead of grep -E. Some plaforms don't have the latter so this makes things easier in -portable. OpenBSD-Regress-ID: ff82260eb0db1f11130200b25d820cf73753bbe3 --- regress/sftp-cmds.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regress/sftp-cmds.sh b/regress/sftp-cmds.sh index b16bc309e8bc..9b08bde58a7c 100644 --- a/regress/sftp-cmds.sh +++ b/regress/sftp-cmds.sh @@ -1,4 +1,4 @@ -# $OpenBSD: sftp-cmds.sh,v 1.18 2024/03/26 08:09:16 dtucker Exp $ +# $OpenBSD: sftp-cmds.sh,v 1.19 2024/03/29 10:40:07 dtucker Exp $ # Placed in the Public Domain. # XXX - TODO: @@ -42,7 +42,7 @@ echo "ls ${OBJ}" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ verbose "$tid: shell" echo "!echo hi there" | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ - grep -E '^hi there$' >/dev/null || fail "shell failed" + egrep '^hi there$' >/dev/null || fail "shell failed" verbose "$tid: pwd" echo "pwd" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \ From 697359be9c23ee43618243cdbcc9c7981e766752 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sat, 30 Mar 2024 04:27:44 +0000 Subject: [PATCH 023/172] upstream: allow WAYLAND_DISPLAY to enable SSH_ASKPASS From dkg via GHPR479; ok dtucker@ OpenBSD-Commit-ID: 1ac1f9c45da44eabbae89375393c662349239257 --- readpass.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/readpass.c b/readpass.c index b52f3d6b1e1a..d42b1185d017 100644 --- a/readpass.c +++ b/readpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readpass.c,v 1.70 2022/05/27 04:27:49 dtucker Exp $ */ +/* $OpenBSD: readpass.c,v 1.71 2024/03/30 04:27:44 djm Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. * @@ -127,8 +127,9 @@ read_passphrase(const char *prompt, int flags) const char *askpass_hint = NULL; const char *s; - if ((s = getenv("DISPLAY")) != NULL) - allow_askpass = *s != '\0'; + if (((s = getenv("DISPLAY")) != NULL && *s != '\0') || + ((s = getenv("WAYLAND_DISPLAY")) != NULL && *s != '\0')) + allow_askpass = 1; if ((s = getenv(SSH_ASKPASS_REQUIRE_ENV)) != NULL) { if (strcasecmp(s, "force") == 0) { use_askpass = 1; @@ -261,7 +262,7 @@ notify_start(int force_askpass, const char *fmt, ...) debug3_f("cannot notify: no askpass"); goto out; } - if (getenv("DISPLAY") == NULL && + if (getenv("DISPLAY") == NULL && getenv("WAYLAND_DISPLAY") == NULL && ((s = getenv(SSH_ASKPASS_REQUIRE_ENV)) == NULL || strcmp(s, "force") != 0)) { debug3_f("cannot notify: no display"); From 8d0e46c1ddb5b7f0992591b0dc5d8aaa77cc9dba Mon Sep 17 00:00:00 2001 From: Alkaid Date: Tue, 12 Mar 2024 03:59:12 -0700 Subject: [PATCH 024/172] Fix OpenSSL ED25519 support detection Wrong function signature in configure.ac prevents openssh from enabling the recently new support for ED25519 priv keys in PEM PKCS8 format. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 82e8bb7c1410..081e2bc75bd3 100644 --- a/configure.ac +++ b/configure.ac @@ -3184,7 +3184,7 @@ if test "x$openssl" = "xyes" ; then ]], [[ unsigned char buf[64]; memset(buf, 0, sizeof(buf)); - exit(EVP_PKEY_new_raw_private_key(EVP_PKEY_ED25519, + exit(EVP_PKEY_new_raw_private_key(EVP_PKEY_ED25519, NULL, buf, sizeof(buf)) == NULL); ]])], [ From cd8a72707c02615365d0851ac51063ab6bfe258f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sat, 30 Mar 2024 16:05:59 +1100 Subject: [PATCH 025/172] add new token-based signing key for dtucker@ Verified in person and via signature with old key. Will remove old key in a bit. --- .git_allowed_signers | 2 ++ .git_allowed_signers.asc | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.git_allowed_signers b/.git_allowed_signers index 0313c1ecd17f..2a5fdc67c6ed 100644 --- a/.git_allowed_signers +++ b/.git_allowed_signers @@ -1,4 +1,6 @@ dtucker@dtucker.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKecyjh9aNmD4rb8WblA8v91JjRb0Cd2JtkzqxcggGeG +dtucker@dtucker.net sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBDV81zWQ1+XVfWH5z4L4klDQ/z/6l2GLphfSTX/Rmq6kL5H8mkfzUlryxLlkN8cD9srtVJBAmwJWfJBNsCo958YAAAAEc3NoOg== + djm@mindrot.org sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLnJo3ZVDENYZGXm5uO9lU7b0iDFq5gHpTu1MaHPWTEfPdvw+AjFQQ/q5YizuMJkXGsMdYmblJEJZYHpm9IS7ZkAAAAEc3NoOg== djm@mindrot.org sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJoAXBTQalfg+kC5wy1vE7HkIHtVnmV6AUuuIo9KQ1P+70juHwvsFKpsGaqQbrHJkTVgYDGVP02XHj8+Fb18yBIAAAAEc3NoOg== djm@mindrot.org sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBH+z1I48s6ydOhP5SJmI02zVCLf0K15B+UMHgoTIKVfUIv5oDoVX7e9f+7QiRmTeEOdZfQydiaVqsfi7qPSve+0AAAAEc3NoOg== diff --git a/.git_allowed_signers.asc b/.git_allowed_signers.asc index 5fc6118ca9a6..1a8401b838a3 100644 --- a/.git_allowed_signers.asc +++ b/.git_allowed_signers.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEEcWi5g4FaXu9ZpK39Kj9BTnNgYLoFAmMMMiIACgkQKj9BTnNg -YLpyGhAAhZ1RxmD62JnT0gnor1aD0inq1fGPRadaFvXH2OScPcxXMIZWx+otnyZ/ -H9s0bIti42dPHqurgh92KS2mDGVIW8Y8MvxFUr678+hdem1U7Xvjoo0uaveNhJhe -GxuQDOvXKRmmfL2c6w3wnFChFA1o3K+JNshjCHhWz7u6+UmY0Q9yIxqbSi+vmEPP -NfWPfGdu4h8r7q11UgTxRSUQkfZXMqpBtb367B9BLduGuKRFKEJNyi6WpjBrqy38 -BvEbAaL52KX8hEp3TKMjo38RbOK+veSoPV5zlLui0WlEwwasgljal3f4RkqCAJob -hqpFJRogM5XNnA2e68TDTf3buJ3wRRjuK39/CusOJz5v4i6+VCdte+BET1Y4gD6y -v8KV4pRyumcdbN3khFUkmaQsjo+fyQjWNrgOvv60J2xUWZdchn8lxHOxrfRVKnOi -BD4bdks7tPQY/XsS5GNJIp21Ji9HGyBajjHo0BlesLodw7FEOf6YE18A3n9qzosR -RliuP4Hs/Z4sCUuDTbpKtQiUVs40kBbkhEL8kS8FsXz3VO89hAWaUqNUYom8AkKv -nfDjrZDBLXuVj1Mi8qNPXxqrB/1Cza2/W4U7SK4TlMFXfoXXWxxhefN5vIdMhAJB -u9Mdz1pY9mowKbd0c0dR+3fauvjM133dzKuyeDHMqDa5JPyd59o= -=kgnS +iQIzBAABCgAdFiEEcWi5g4FaXu9ZpK39Kj9BTnNgYLoFAmYHnZ8ACgkQKj9BTnNg +YLquuQ/6A8E6P2jcgn3wmbbCTXP7kmxoh3nmw/e6PC8CEua1512oT3GHOKVD5cGK +cgYRObpWvjOjg7L1HRABftq7a9M2zfsGnY/WNe3/fbetfkyY8hG8c31vA1ePIOt2 +AjBLCWFblH0CtyH/MssoQ19JCLtXK/GmekB1Q0JzyOog7w/0r3CKuUnZ0juCYR1R +4FBePl5l3nFSZEcFEdptGlNGeuolS5XBCqB9Y91TCzkVkH5eXUUW+shgjNhWCEhT +pZvkxfhsmOEnwNofyPdgKVfDBVkHmvuC67EU395mJVN4c2NZ8pOztb9hOt3xr980 +q44I4kT2NpaApCx1dWIGhMy/37LJ8heI0W1B+ofTA5n34/RU8UXH3SCkj2AK6Ao5 +H2u8vbmuWKUCiECmrw35EeKGmtuK/bWJzx3KBP7fx5J9S3mWUgT4W4xlWNN9RWoU +sSvH1ppie5ARINVaAWl5k44fk60ahTf80DbQBIOZBmQn7myZZka+yGcQbAiZZ1Gc +0l8+Nf5Ao1ckmuyY5o8FyWdsyDeK3+MqjPn5Rr1CqbKCn2VnqrVWbI33Eyu8c96U +bxVgU5H1BDhNjJC8UrT3LFPvJMO8p3a0IJ3eHydjk2jVOhOdBZmA0yoqUTrhPpXq +ymIHESjDJR8TDe4TCfb46o9oEC3cdbDwgnzPqdg0n+0uIsJLYiU= +=gl+l -----END PGP SIGNATURE----- From 02c5ad23124ae801cf248d99ea5068fc4331ca01 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 27 Mar 2024 17:42:58 +1100 Subject: [PATCH 026/172] Rearrange selfhosted VM scheduling. Instead of trying to infer the type of the self hosted tests in each of the driver scripts (inconsistently...), set one of the following variables to "true" in the workflow: VM: tests run in a virtual machine. EPHEMERAL: tests run on an ephemeral virtual machine. PERSISTENT: tests run on a persistent virtual machine REMOTE: tests run on a physical remote host. EPHEMERAL VMs can have multiple instances of any given VM can exist simultaneously and are run by a runner pool. The other types have a dedicated runner instance and can only run a single test at a time. Other settings: SSHFS: We need to sshfs mount over the repo so the workflow can collect build artifacts. This also implies the tests must be run over ssh. DEBUG_ACTIONS: enable "set -x" in scripts for debugging. --- .github/workflows/selfhosted.yml | 52 +++++++++++++++++++++++--------- .github/workflows/upstream.yml | 2 ++ 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index ec0fd6bb674e..167297359383 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -11,9 +11,16 @@ jobs: runs-on: ${{ matrix.host }} timeout-minutes: 600 env: + DEBUG_ACTIONS: false HOST: ${{ matrix.host }} TARGET_HOST: ${{ matrix.target }} TARGET_CONFIG: ${{ matrix.config }} + TARGET_DOMAIN: ${{ startsWith(matrix.host, 'libvirt') && format('{0}-{1}-{2}', matrix.target, matrix.config, github.run_id) || matrix.target }} + EPHEMERAL: ${{ startsWith(matrix.host, 'libvirt') }} + PERSISTENT: ${{ startsWith(matrix.host, 'persist') }} + REMOTE: ${{ startsWith(matrix.host, 'remote') }} + VM: ${{ startsWith(matrix.host, 'libvirt') || startsWith(matrix.host, 'persist') }} + SSHFS: ${{ startsWith(matrix.host, 'libvirt') || startsWith(matrix.host, 'persist') || startsWith(matrix.host, 'remote') }} strategy: fail-fast: false # We use a matrix in two parts: firstly all of the VMs are tested with the @@ -75,34 +82,46 @@ jobs: - { target: nbsd8, config: pam, host: libvirt } - { target: nbsd9, config: pam, host: libvirt } - { target: nbsd10, config: pam, host: libvirt } + # ARM64 VMs + - { target: obsd-arm64, config: default, host: libvirt-arm64 } # VMs with persistent disks that have their own runner. - - { target: win10, config: default, host: win10 } - - { target: win10, config: cygwin-release, host: win10 } - # Physical hosts, with either native runners or remote via ssh. + - { target: win10, config: default, host: persist-win10 } + - { target: win10, config: cygwin-release, host: persist-win10 } + # Physical hosts with native runners. - { target: ARM, config: default, host: ARM } - { target: ARM64, config: default, host: ARM64 } - { target: ARM64, config: pam, host: ARM64 } - - { target: debian-riscv64, config: default, host: debian-riscv64 } - - { target: obsd-arm64, config: default, host: obsd-arm64 } - - { target: openwrt-mips, config: default, host: openwrt-mips } - - { target: openwrt-mipsel, config: default, host: openwrt-mipsel } + # Physical hosts with remote runners. + - { target: debian-riscv64, config: default, host: remote-debian-riscv64 } + + - { target: openwrt-mips, config: default, host: remote-openwrt-mips } + - { target: openwrt-mipsel, config: default, host: remote-openwrt-mipsel } steps: + - name: unmount stale workspace + if: env.SSHFS == 'true' + run: fusermount -u ${GITHUB_WORKSPACE} || true + working-directory: ${{ runner.temp }} - name: shutdown VM if running + if: env.VM == 'true' run: vmshutdown - working-directory: ${{ runner.temp }} - uses: actions/checkout@main - name: autoreconf run: autoreconf - name: startup VM + if: env.VM == 'true' run: vmstartup working-directory: ${{ runner.temp }} + - name: copy and mount workspace + if: env.SSHFS == 'true' + run: sshfs_mount + working-directory: ${{ runner.temp }} - name: configure run: vmrun ./.github/configure.sh ${{ matrix.config }} - - name: save config - uses: actions/upload-artifact@main - with: - name: ${{ matrix.target }}-${{ matrix.config }}-config - path: config.h +# - name: save config +# uses: actions/upload-artifact@main +# with: +# name: ${{ matrix.target }}-${{ matrix.config }}-config +# path: config.h - name: make clean run: vmrun make clean - name: make @@ -121,7 +140,10 @@ jobs: regress/*.log regress/log/* regress/valgrind-out/ + - name: unmount workspace + if: always() && env.SSHFS == 'true' + run: fusermount -u ${GITHUB_WORKSPACE} || true + working-directory: ${{ runner.temp }} - name: shutdown VM - if: always() + if: always() && env.VM == 'true' run: vmshutdown - working-directory: ${{ runner.temp }} diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 9b6ab382eae4..14e6d9f4653a 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -11,7 +11,9 @@ jobs: if: github.repository == 'openssh/openssh-portable-selfhosted' runs-on: 'libvirt' env: + DEBUG_ACTIONS: false HOST: 'libvirt' + EPHEMERAL: true TARGET_HOST: ${{ matrix.target }} TARGET_CONFIG: ${{ matrix.config }} strategy: From c2c0bdd3e96b3ef66d77fccb85ff4962dc76caf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eero=20H=C3=A4kkinen?= Date: Sat, 16 Sep 2023 00:55:08 +0300 Subject: [PATCH 027/172] Expose SSH_AUTH_INFO_0 always to PAM auth modules. This changes SSH_AUTH_INFO_0 to be exposed to PAM auth modules also when a password authentication method is in use and not only when a keyboard-interactive authentication method is in use. --- auth-pam.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/auth-pam.c b/auth-pam.c index b49d415e7c76..e143304e3fe0 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -1375,6 +1375,8 @@ sshpam_auth_passwd(Authctxt *authctxt, const char *password) fatal("PAM: %s: failed to set PAM_CONV: %s", __func__, pam_strerror(sshpam_handle, sshpam_err)); + expose_authinfo(__func__); + sshpam_err = pam_authenticate(sshpam_handle, flags); sshpam_password = NULL; free(fake); From 2d2c068de8d696fe3246f390b146197f51ea1e83 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sat, 30 Mar 2024 05:56:22 +0000 Subject: [PATCH 028/172] upstream: in OpenSSH private key format, correct type for subsequent private keys in blob. From Jakub Jelen via GHPR430 OpenBSD-Commit-ID: d17dbf47554de2d752061592f95b5d772baab50b --- PROTOCOL.key | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PROTOCOL.key b/PROTOCOL.key index cbf7a70272bf..feda2529b900 100644 --- a/PROTOCOL.key +++ b/PROTOCOL.key @@ -40,7 +40,7 @@ of the cipher block size. byte[] privatekey2 string comment2 ... - string privatekeyN + byte[] privatekeyN string commentN byte 1 byte 2 @@ -68,4 +68,4 @@ For unencrypted keys the cipher "none" and the KDF "none" are used with empty passphrases. The options if the KDF "none" are the empty string. -$OpenBSD: PROTOCOL.key,v 1.3 2022/07/01 04:45:50 djm Exp $ +$OpenBSD: PROTOCOL.key,v 1.4 2024/03/30 05:56:22 djm Exp $ From 281ea25a44bff53eefb4af7bab7aa670b1f8b6b2 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sat, 30 Mar 2024 18:20:16 +1100 Subject: [PATCH 029/172] Check if OpenSSL implementation supports DSA. If --enable/disable-dsa-keys is not specified, set based on what OpenSSL supports. If specified as enabled, but not supported by OpenSSL error out. ok djm@ --- configure.ac | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/configure.ac b/configure.ac index 081e2bc75bd3..c04349f35f60 100644 --- a/configure.ac +++ b/configure.ac @@ -2075,17 +2075,11 @@ AC_ARG_WITH([security-key-builtin], [ enable_sk_internal=$withval ] ) -disable_ecdsa= +enable_dsa= AC_ARG_ENABLE([dsa-keys], [ --disable-dsa-keys disable DSA key support [no]], - [ - if test "x$enableval" = "xno" ; then - disable_ecdsa=1 - fi - ] + [ enable_dsa="$enableval" ] ) -test -z "$disable_ecdsa" && - AC_DEFINE([WITH_DSA], [1], [Define if to enable DSA keys.]) AC_SEARCH_LIBS([dlopen], [dl]) AC_CHECK_FUNCS([dlopen]) @@ -3196,6 +3190,35 @@ if test "x$openssl" = "xyes" ; then AC_MSG_RESULT([no]) ] ) + openssl_dsa=no + if test -z "$enable_dsa" || test "x$enable_dsa" = "xyes"; then + AC_CHECK_DECLS([OPENSSL_NO_DSA], [], [ + AC_CHECK_DECLS([OPENSSL_IS_BORINGSSL], [], + [ openssl_dsa=yes ], + [ #include ] + ) + ], + [ #include ] + ) + AC_MSG_CHECKING([whether to enable DSA key support]) + if test -z "$enable_dsa"; then + if test "x$openssl_dsa" = "xno"; then + AC_MSG_RESULT([not supported by OpenSSL]) + else + AC_MSG_RESULT([yes]) + AC_DEFINE([WITH_DSA], [1], + [DSA keys enabled by default]) + fi + else + if test "x$openssl_dsa" = "xno"; then + AC_MSG_ERROR([DSA requested but not supported by OpenSSL]) + else + AC_MSG_RESULT([yes]) + AC_DEFINE([WITH_DSA], [1], + [DSA keys explicitly enabled]) + fi + fi + fi fi # PKCS11/U2F depend on OpenSSL and dlopen(). From 43e7c1c07cf6aae7f4394ca8ae91a3efc46514e2 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 31 Mar 2024 21:51:57 +1100 Subject: [PATCH 030/172] Port changes from selfhosted to upstream tests. Should get them working again. --- .github/workflows/upstream.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 14e6d9f4653a..f0de34d61fe3 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -11,17 +11,21 @@ jobs: if: github.repository == 'openssh/openssh-portable-selfhosted' runs-on: 'libvirt' env: - DEBUG_ACTIONS: false - HOST: 'libvirt' + DEBUG_ACTIONS: true EPHEMERAL: true + HOST: 'libvirt' TARGET_HOST: ${{ matrix.target }} TARGET_CONFIG: ${{ matrix.config }} + TARGET_DOMAIN: ${{ format('{0}-{1}-{2}', matrix.target, matrix.config, github.run_id) || matrix.target }} strategy: fail-fast: false matrix: target: [ obsdsnap, obsdsnap-i386 ] config: [ default, without-openssl, ubsan ] steps: + - name: unmount stale workspace + run: fusermount -u ${GITHUB_WORKSPACE} || true + working-directory: ${{ runner.temp }} - name: shutdown VM if running run: vmshutdown working-directory: ${{ runner.temp }} @@ -29,6 +33,9 @@ jobs: - name: startup VM run: vmstartup working-directory: ${{ runner.temp }} + - name: copy and mount workspace + run: sshfs_mount + working-directory: ${{ runner.temp }} - name: update source run: vmrun "cd /usr/src && cvs up -dPA usr.bin/ssh regress/usr.bin/ssh" - name: make clean @@ -50,6 +57,10 @@ jobs: path: | /usr/obj/regress/usr.bin/ssh/obj/*.log /usr/obj/regress/usr.bin/ssh/obj/log/* + - name: unmount workspace + if: always() + run: fusermount -u ${GITHUB_WORKSPACE} || true + working-directory: ${{ runner.temp }} - name: shutdown VM if: always() run: vmshutdown From 08f579231cd38a1c657aaa6ddeb8ab57a1fd4f5c Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 3 Apr 2024 14:40:32 +1100 Subject: [PATCH 031/172] notify systemd on listen and reload Standalone implementation that does not depend on libsystemd. With assistance from Luca Boccassi, and feedback/testing from Colin Watson. bz2641 --- configure.ac | 1 + openbsd-compat/port-linux.c | 97 ++++++++++++++++++++++++++++++++++++- openbsd-compat/port-linux.h | 5 ++ platform.c | 11 +++++ platform.h | 1 + sshd.c | 2 + 6 files changed, 115 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index c04349f35f60..2cf16b46abb7 100644 --- a/configure.ac +++ b/configure.ac @@ -915,6 +915,7 @@ int main(void) { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) AC_DEFINE([_PATH_BTMP], ["/var/log/btmp"], [log for bad login attempts]) AC_DEFINE([USE_BTMP]) AC_DEFINE([LINUX_OOM_ADJUST], [1], [Adjust Linux out-of-memory killer]) + AC_DEFINE([SYSTEMD_NOTIFY], [1], [Have sshd notify systemd on start/reload]) inet6_default_4in6=yes case `uname -r` in 1.*|2.0.*) diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index 0457e28d0660..df7290246df6 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c @@ -21,16 +21,23 @@ #include "includes.h" -#if defined(WITH_SELINUX) || defined(LINUX_OOM_ADJUST) +#if defined(WITH_SELINUX) || defined(LINUX_OOM_ADJUST) || \ + defined(SYSTEMD_NOTIFY) +#include +#include + #include +#include #include #include #include #include +#include #include "log.h" #include "xmalloc.h" #include "port-linux.h" +#include "misc.h" #ifdef WITH_SELINUX #include @@ -310,4 +317,90 @@ oom_adjust_restore(void) return; } #endif /* LINUX_OOM_ADJUST */ -#endif /* WITH_SELINUX || LINUX_OOM_ADJUST */ + +#ifdef SYSTEMD_NOTIFY + +static void ssh_systemd_notify(const char *, ...) + __attribute__((__format__ (printf, 1, 2))) __attribute__((__nonnull__ (1))); + +static void +ssh_systemd_notify(const char *fmt, ...) +{ + char *s = NULL; + const char *path; + struct stat sb; + struct sockaddr_un addr; + int fd = -1; + va_list ap; + + if ((path = getenv("NOTIFY_SOCKET")) == NULL || strlen(path) == 0) + return; + + va_start(ap, fmt); + xvasprintf(&s, fmt, ap); + va_end(ap); + + /* Only AF_UNIX is supported, with path or abstract sockets */ + if (path[0] != '/' && path[0] != '@') { + error_f("socket \"%s\" is not compatible with AF_UNIX", path); + goto out; + } + + if (path[0] == '/' && stat(path, &sb) != 0) { + error_f("socket \"%s\" stat: %s", path, strerror(errno)); + goto out; + } + + memset(&addr, 0, sizeof(addr)); + addr.sun_family = AF_UNIX; + if (strlcpy(addr.sun_path, path, + sizeof(addr.sun_path)) >= sizeof(addr.sun_path)) { + error_f("socket path \"%s\" too long", path); + goto out; + } + /* Support for abstract socket */ + if (addr.sun_path[0] == '@') + addr.sun_path[0] = 0; + if ((fd = socket(PF_UNIX, SOCK_DGRAM, 0)) == -1) { + error_f("socket \"%s\": %s", path, strerror(errno)); + goto out; + } + if (connect(fd, &addr, sizeof(addr)) != 0) { + error_f("socket \"%s\" connect: %s", path, strerror(errno)); + goto out; + } + if (write(fd, s, strlen(s)) != (ssize_t)strlen(s)) { + error_f("socket \"%s\" write: %s", path, strerror(errno)); + goto out; + } + debug_f("socket \"%s\" notified %s", path, s); + out: + if (fd != -1) + close(fd); + free(s); +} + +void +ssh_systemd_notify_ready(void) +{ + ssh_systemd_notify("READY=1"); +} + +void +ssh_systemd_notify_reload(void) +{ + struct timespec now; + + monotime_ts(&now); + if (now.tv_sec < 0 || now.tv_nsec < 0) { + error_f("monotime returned negative value"); + ssh_systemd_notify("RELOADING=1"); + } else { + ssh_systemd_notify("RELOADING=1\nMONOTONIC_USEC=%llu", + ((uint64_t)now.tv_sec * 1000000ULL) + + ((uint64_t)now.tv_nsec / 1000ULL)); + } +} +#endif /* SYSTEMD_NOTIFY */ + +#endif /* WITH_SELINUX || LINUX_OOM_ADJUST || SYSTEMD_NOTIFY */ diff --git a/openbsd-compat/port-linux.h b/openbsd-compat/port-linux.h index 3c22a854dbce..14064f87db8e 100644 --- a/openbsd-compat/port-linux.h +++ b/openbsd-compat/port-linux.h @@ -30,4 +30,9 @@ void oom_adjust_restore(void); void oom_adjust_setup(void); #endif +#ifdef SYSTEMD_NOTIFY +void ssh_systemd_notify_ready(void); +void ssh_systemd_notify_reload(void); +#endif + #endif /* ! _PORT_LINUX_H */ diff --git a/platform.c b/platform.c index 4fe8744ee887..9cf81815324c 100644 --- a/platform.c +++ b/platform.c @@ -44,6 +44,14 @@ platform_pre_listen(void) #endif } +void +platform_post_listen(void) +{ +#ifdef SYSTEMD_NOTIFY + ssh_systemd_notify_ready(); +#endif +} + void platform_pre_fork(void) { @@ -55,6 +63,9 @@ platform_pre_fork(void) void platform_pre_restart(void) { +#ifdef SYSTEMD_NOTIFY + ssh_systemd_notify_reload(); +#endif #ifdef LINUX_OOM_ADJUST oom_adjust_restore(); #endif diff --git a/platform.h b/platform.h index 7fef8c983e5e..5dec23276a61 100644 --- a/platform.h +++ b/platform.h @@ -21,6 +21,7 @@ void platform_pre_listen(void); void platform_pre_fork(void); void platform_pre_restart(void); +void platform_post_listen(void); void platform_post_fork_parent(pid_t child_pid); void platform_post_fork_child(void); int platform_privileged_uidswap(void); diff --git a/sshd.c b/sshd.c index b4f2b9742f39..865331b461ea 100644 --- a/sshd.c +++ b/sshd.c @@ -2077,6 +2077,8 @@ main(int ac, char **av) ssh_signal(SIGTERM, sigterm_handler); ssh_signal(SIGQUIT, sigterm_handler); + platform_post_listen(); + /* * Write out the pid file after the sigterm handler * is setup and the listen sockets are bound From 88351eca17dcc55189991ba60e50819b6d4193c1 Mon Sep 17 00:00:00 2001 From: 90 Date: Fri, 5 Apr 2024 19:36:06 +0100 Subject: [PATCH 032/172] Fix missing header for systemd notification --- openbsd-compat/port-linux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index df7290246df6..4c024c6d2d61 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c @@ -33,6 +33,7 @@ #include #include #include +#include #include "log.h" #include "xmalloc.h" From 70d43049747fa3c66cf876d52271859407cec2fa Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 25 Apr 2024 13:16:58 +1000 Subject: [PATCH 033/172] Update LibreSSL and OpenSSL versions tested. Update LibreSSL versions to current releases (3.8.4 & 3.9.1). Add newly-released OpenSSL 3.3.0, and add tests against the 3.1 and 3.3 branches. --- .github/workflows/c-cpp.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 3a1fd0358134..ff510e342239 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -64,8 +64,8 @@ jobs: - { target: ubuntu-latest, config: libressl-3.5.3 } - { target: ubuntu-latest, config: libressl-3.6.1 } - { target: ubuntu-latest, config: libressl-3.7.2 } - - { target: ubuntu-latest, config: libressl-3.8.3 } - - { target: ubuntu-latest, config: libressl-3.9.0 } + - { target: ubuntu-latest, config: libressl-3.8.4 } + - { target: ubuntu-latest, config: libressl-3.9.1 } - { target: ubuntu-latest, config: openssl-master } - { target: ubuntu-latest, config: openssl-noec } - { target: ubuntu-latest, config: openssl-1.1.1 } @@ -76,9 +76,12 @@ jobs: - { target: ubuntu-latest, config: openssl-3.1.0 } - { target: ubuntu-latest, config: openssl-3.1.5 } - { target: ubuntu-latest, config: openssl-3.2.1 } + - { target: ubuntu-latest, config: openssl-3.3.0 } - { target: ubuntu-latest, config: openssl-1.1.1_stable } - { target: ubuntu-latest, config: openssl-3.0 } # stable branch + - { target: ubuntu-latest, config: openssl-3.1 } # stable branch - { target: ubuntu-latest, config: openssl-3.2 } # stable branch + - { target: ubuntu-latest, config: openssl-3.3 } # stable branch - { target: ubuntu-latest, config: putty-0.71 } - { target: ubuntu-latest, config: putty-0.72 } - { target: ubuntu-latest, config: putty-0.73 } From 8673245918081c6d1dc7fb3733c8eb2c5a902c5e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 25 Apr 2024 13:19:03 +1000 Subject: [PATCH 034/172] Remove 9.6 branch from status page. --- .github/ci-status.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/ci-status.md b/.github/ci-status.md index 7659506c1104..fbf7c5fd6117 100644 --- a/.github/ci-status.md +++ b/.github/ci-status.md @@ -9,7 +9,3 @@ master : 9.7 : [![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_7)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_7) [![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_7)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_7) - -9.6 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_6)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_6) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_6)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_6) From 2eded551ba96e66bc3afbbcc883812c2eac02bd7 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 25 Apr 2024 13:20:19 +1000 Subject: [PATCH 035/172] Merge flags for OpenSSL 3.x versions. OpenSSL has moved to 3.4 which we don't currently accept. Based on the OpenSSL versioning policy[0] it looks like all of the 3.x versions should work with OpenSSH, so remove the distinction in configure and accept all of them. [0] https://openssl.org/policies/general/versioning-policy.html --- configure.ac | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 2cf16b46abb7..717fef83279f 100644 --- a/configure.ac +++ b/configure.ac @@ -2878,12 +2878,9 @@ if test "x$openssl" = "xyes" ; then *) ;; # Assume all other versions are good. esac ;; - 300*) + 30*) # OpenSSL 3; we use the 1.1x API - CPPFLAGS="$CPPFLAGS -DOPENSSL_API_COMPAT=0x10100000L" - ;; - 301*|302*|303*) - # OpenSSL development branch; request 1.1x API + # https://openssl.org/policies/general/versioning-policy.html CPPFLAGS="$CPPFLAGS -DOPENSSL_API_COMPAT=0x10100000L" ;; *) From 00e63688920905e326d8667cb47f17a156b6dc8f Mon Sep 17 00:00:00 2001 From: renmingshuai Date: Fri, 12 Apr 2024 10:20:49 +0800 Subject: [PATCH 036/172] Shell syntax fix (leftover from a sync). Signed-off-by: renmingshuai --- regress/yes-head.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/yes-head.sh b/regress/yes-head.sh index 1bde504f0c71..9885501a5fbc 100644 --- a/regress/yes-head.sh +++ b/regress/yes-head.sh @@ -6,7 +6,7 @@ tid="yes pipe head" lines=`${SSH} -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -2000"' | (sleep 3 ; wc -l)` if [ $? -ne 0 ]; then fail "yes|head test failed" -+ lines=0 + lines=0 fi if [ $lines -ne 2000 ]; then fail "yes|head returns $lines lines instead of 2000" From bf7bf50bd6a14e49c9c243cb8f4de31e555a5a2e Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Mon, 1 Apr 2024 15:48:16 +0000 Subject: [PATCH 037/172] upstream: new-style relink kit for sshd. The old scheme created a Makefile by concatenating two Makefiles and was incredibly fragile. In the new way a narrow-purposed install.sh script is created and shipped with the objects. A recently commited /etc/rc script understands these files. OpenBSD-Commit-ID: ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 06303955c566..b4f426e3bf4d 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -29,6 +29,7 @@ f9a0726d957cf10692a231996a1f34e7f9cdfeb0 moduli update 1e0a2692b7e20b126dda60bf04999d1d30d959d8 sshd relinking makefile changes e1dc11143f83082e3154d6094f9136d0dc2637ad more relinking makefile tweaks 5a636f6ca7f25bfe775df4952f7aac90a7fcbbee moduli update +ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes Old upstream tree: From 8231ca046fa39ea4eb99b79e0a6e09dec50ac952 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Mon, 1 Apr 2024 15:50:17 +0000 Subject: [PATCH 038/172] upstream: also create a relink kit for ssh-agent, since it is a long-running setgid program carrying keys with some (not very powerful) communication channels. solution for testing the binary from dtucker. agreement from djm. Will add it into /etc/rc in a few days. OpenBSD-Commit-ID: 2fe8d707ae35ba23c7916adcb818bb5b66837ba0 --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index b4f426e3bf4d..7a0062b07995 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -30,6 +30,7 @@ f9a0726d957cf10692a231996a1f34e7f9cdfeb0 moduli update e1dc11143f83082e3154d6094f9136d0dc2637ad more relinking makefile tweaks 5a636f6ca7f25bfe775df4952f7aac90a7fcbbee moduli update ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes +2fe8d707ae35ba23c7916adcb818bb5b66837ba0 ssh-agent relink kit Old upstream tree: From 019a5f483b0f588da6270ec401d0b4bb35032f3f Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 09:29:31 +0000 Subject: [PATCH 039/172] upstream: Use strtonum() instead of severely non-idomatic strtoul() In particular this will now reject trailing garbage, ie. '12garbage'. ok djm OpenBSD-Commit-ID: c82d95e3ccbfedfc91a8041c2f8bf0cf987d1501 --- addr.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/addr.c b/addr.c index fa8c66922bf8..0e7cb1df39fc 100644 --- a/addr.c +++ b/addr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: addr.c,v 1.7 2023/03/27 03:31:05 djm Exp $ */ +/* $OpenBSD: addr.c,v 1.8 2024/04/02 09:29:31 deraadt Exp $ */ /* * Copyright (c) 2004-2008 Damien Miller @@ -27,6 +27,7 @@ #include #include #include +#include #include "addr.h" @@ -457,8 +458,9 @@ int addr_pton_cidr(const char *p, struct xaddr *n, u_int *l) { struct xaddr tmp; - long unsigned int masklen = 999; - char addrbuf[64], *mp, *cp; + u_int masklen = 999; + char addrbuf[64], *mp; + const char *errstr; /* Don't modify argument */ if (p == NULL || strlcpy(addrbuf, p, sizeof(addrbuf)) >= sizeof(addrbuf)) @@ -467,8 +469,8 @@ addr_pton_cidr(const char *p, struct xaddr *n, u_int *l) if ((mp = strchr(addrbuf, '/')) != NULL) { *mp = '\0'; mp++; - masklen = strtoul(mp, &cp, 10); - if (*mp < '0' || *mp > '9' || *cp != '\0' || masklen > 128) + masklen = (u_int)strtonum(mp, 0, INT_MAX, &errstr); + if (errstr) return -1; } From c7fec708f331f108343d69e4d74c9a5d86d6cfe7 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 09:32:28 +0000 Subject: [PATCH 040/172] upstream: Replace non-idiomatic strtoul(, 16) to parse a region of 2-character hex sequences with a low-level replacement designed just for the task. ok djm OpenBSD-Commit-ID: 67bab8b8a4329a19a0add5085eacd6f4cc215e85 --- ssh-pkcs11.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index 35e98be72301..9d2d99eb6f25 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.59 2023/07/27 22:26:49 djm Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.60 2024/04/02 09:32:28 deraadt Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -1385,6 +1385,20 @@ pkcs11_rsa_generate_private_key(struct pkcs11_provider *p, CK_ULONG slotidx, return pkcs11_fetch_rsa_pubkey(p, slotidx, &pubKey); } +static int +h2i(char c) +{ + if (c >= '0' && c <= '9') + c -= '0'; + else if (c >= 'a' && c <= 'f') + c -= 'a'; + else if (c >= 'A' && c <= 'F') + c -= 'A'; + else + return -1; + return c; +} + static int pkcs11_decode_hex(const char *hex, unsigned char **dest, size_t *rlen) { @@ -1404,11 +1418,13 @@ pkcs11_decode_hex(const char *hex, unsigned char **dest, size_t *rlen) ptr[2] = '\0'; for (i = 0; i < len; i++) { - ptr[0] = hex[2 * i]; - ptr[1] = hex[(2 * i) + 1]; - if (!isxdigit(ptr[0]) || !isxdigit(ptr[1])) + int hi, low; + + hi = h2i(hex[2 * i]); + lo = h2i(hex[(2 * i) + 1]); + if (hi == -1 || lo == -1) return -1; - (*dest)[i] = (unsigned char)strtoul(ptr, NULL, 16); + (*dest)[i] = (hi << 4) | lo; } if (rlen) From 8673137f780d8d9e4cda3c4605cb5d88d5cea271 Mon Sep 17 00:00:00 2001 From: "claudio@openbsd.org" Date: Tue, 2 Apr 2024 09:48:24 +0000 Subject: [PATCH 041/172] upstream: Remove unused ptr[3] char array in pkcs11_decode_hex. OK deraadt@ OpenBSD-Commit-ID: 3d14433e39fd558f662d3b0431c4c555ef920481 --- ssh-pkcs11.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index 9d2d99eb6f25..de2dbba56f0e 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.60 2024/04/02 09:32:28 deraadt Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.61 2024/04/02 09:48:24 claudio Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -1403,7 +1403,6 @@ static int pkcs11_decode_hex(const char *hex, unsigned char **dest, size_t *rlen) { size_t i, len; - char ptr[3]; if (dest) *dest = NULL; @@ -1416,7 +1415,6 @@ pkcs11_decode_hex(const char *hex, unsigned char **dest, size_t *rlen) *dest = xmalloc(len); - ptr[2] = '\0'; for (i = 0; i < len; i++) { int hi, low; From 9f543d7022a781f80bb696f9d73f1d1c6f9e31d6 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 09:52:14 +0000 Subject: [PATCH 042/172] upstream: rewrite convtime() to use a isdigit-scanner and strtonum() instead of strange strtoul can might be fooled by garage characters. passes regress/usr.bin/ssh/unittests/misc ok djm OpenBSD-Commit-ID: 4b1ef826bb16047aea3f3bdcb385b72ffd450abc --- misc.c | 58 ++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/misc.c b/misc.c index 5dc9d54a2496..a4ae95c941ab 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.190 2024/03/04 02:16:11 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.191 2024/04/02 09:52:14 deraadt Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -563,6 +563,14 @@ a2tun(const char *s, int *remote) #define DAYS (HOURS * 24) #define WEEKS (DAYS * 7) +static char * +scandigits(char *s) +{ + while (isdigit((unsigned char)*s)) + s++; + return s; +} + /* * Convert a time string into seconds; format is * a sequence of: @@ -587,28 +595,31 @@ a2tun(const char *s, int *remote) int convtime(const char *s) { - long total, secs, multiplier; - const char *p; - char *endp; - - errno = 0; - total = 0; - p = s; + int secs, total = 0, multiplier; + char *p, *os, *np, c; + const char *errstr; - if (p == NULL || *p == '\0') + if (s == NULL || *s == '\0') + return -1; + p = os = strdup(s); /* deal with const */ + if (os == NULL) return -1; while (*p) { - secs = strtol(p, &endp, 10); - if (p == endp || - (errno == ERANGE && (secs == INT_MIN || secs == INT_MAX)) || - secs < 0) - return -1; + np = scandigits(p); + if (np) { + c = *np; + *np = '\0'; + } + secs = (int)strtonum(p, 0, INT_MAX, &errstr); + if (errstr) + goto fail; + *np = c; multiplier = 1; - switch (*endp++) { + switch (c) { case '\0': - endp--; + np--; /* back up */ break; case 's': case 'S': @@ -630,20 +641,23 @@ convtime(const char *s) multiplier = WEEKS; break; default: - return -1; + goto fail; } if (secs > INT_MAX / multiplier) - return -1; + goto fail; secs *= multiplier; if (total > INT_MAX - secs) - return -1; + goto fail; total += secs; if (total < 0) - return -1; - p = endp; + goto fail; + p = ++np; } - + free(os); return total; +fail: + free(os); + return -1; } #define TF_BUFS 8 From 8176e1a6c2e6da9361a7abb6fbf6c23c299f495b Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 09:56:58 +0000 Subject: [PATCH 043/172] upstream: can shortcut by returning strtonum() value directly; ok djm OpenBSD-Commit-ID: 7bb2dd3d6d1f288dac14247d1de446e3d7ba8b8e --- misc.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/misc.c b/misc.c index a4ae95c941ab..fe6c4a51402e 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.191 2024/04/02 09:52:14 deraadt Exp $ */ +/* $OpenBSD: misc.c,v 1.192 2024/04/02 09:56:58 deraadt Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -2428,13 +2428,10 @@ const char * atoi_err(const char *nptr, int *val) { const char *errstr = NULL; - long long num; if (nptr == NULL || *nptr == '\0') return "missing"; - num = strtonum(nptr, 0, INT_MAX, &errstr); - if (errstr == NULL) - *val = (int)num; + *val = strtonum(nptr, 0, INT_MAX, &errstr); return errstr; } From ec78c31409590ad74efc194f886273ed080a545a Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 10:02:08 +0000 Subject: [PATCH 044/172] upstream: for parse_ipqos(), use strtonum() instead of mostly idiomatic strtoul(), but wow it's so gross. ok djm OpenBSD-Commit-ID: cec14a76af2eb7b225300c80fc0e21052be67b05 --- misc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/misc.c b/misc.c index fe6c4a51402e..7a42d4981806 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.192 2024/04/02 09:56:58 deraadt Exp $ */ +/* $OpenBSD: misc.c,v 1.193 2024/04/02 10:02:08 deraadt Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -1873,9 +1873,9 @@ static const struct { int parse_ipqos(const char *cp) { + const char *errstr; u_int i; - char *ep; - long val; + int val; if (cp == NULL) return -1; @@ -1884,8 +1884,8 @@ parse_ipqos(const char *cp) return ipqos[i].value; } /* Try parsing as an integer */ - val = strtol(cp, &ep, 0); - if (*cp == '\0' || *ep != '\0' || val < 0 || val > 255) + val = (int)strtonum(cp, 0, 255, &errstr); + if (errstr) return -1; return val; } From 54343a260e3aa4bceca1852dde31cd08e2abd82b Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 12:22:38 +0000 Subject: [PATCH 045/172] upstream: Oops, incorrect hex conversion spotted by claudio. While here try to improve how it reads a bit better. Surprising the regression tests didn't spot this error, maybe it fails to roundtrip the values. OpenBSD-Commit-ID: 866cfcc1955aef8f3fc32da0b70c353a1b859f2e --- ssh-pkcs11.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index de2dbba56f0e..1e76e8b2bb3a 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.61 2024/04/02 09:48:24 claudio Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.62 2024/04/02 12:22:38 deraadt Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -1389,14 +1389,13 @@ static int h2i(char c) { if (c >= '0' && c <= '9') - c -= '0'; + return c - '0'; else if (c >= 'a' && c <= 'f') - c -= 'a'; + return c - 'a' + 10; else if (c >= 'A' && c <= 'F') - c -= 'A'; + return c - 'A' + 10; else return -1; - return c; } static int From fd3cb8a82784e05f621dea5b56ac6f89bc53c067 Mon Sep 17 00:00:00 2001 From: "semarie@openbsd.org" Date: Thu, 4 Apr 2024 16:00:51 +0000 Subject: [PATCH 046/172] upstream: set right mode on ssh-agent at boot-time which sthen@ ok deraadt@ OpenBSD-Commit-ID: 662b5056a2c6171563e1626f9c69f27862b5e7af --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 7a0062b07995..1fc4378d9205 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -31,6 +31,7 @@ e1dc11143f83082e3154d6094f9136d0dc2637ad more relinking makefile tweaks 5a636f6ca7f25bfe775df4952f7aac90a7fcbbee moduli update ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes 2fe8d707ae35ba23c7916adcb818bb5b66837ba0 ssh-agent relink kit +866cfcc1955aef8f3fc32da0b70c353a1b859f2e ssh-agent relink changes Old upstream tree: From 5b28096d31ff7d80748fc845553a4aef5bb05d86 Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Tue, 23 Apr 2024 13:34:50 +0000 Subject: [PATCH 047/172] upstream: correct indentation; no functional change ok tb@ OpenBSD-Commit-ID: dd9702fd43de546bc6a3f4f025c74d6f3692a0d4 --- sshconnect.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sshconnect.c b/sshconnect.c index d8efc50ce395..1e94967d31aa 100644 --- a/sshconnect.c +++ b/sshconnect.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.c,v 1.366 2024/01/11 01:45:36 djm Exp $ */ +/* $OpenBSD: sshconnect.c,v 1.367 2024/04/23 13:34:50 jsg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -647,7 +647,7 @@ get_hostfile_hostname_ipaddr(char *hostname, struct sockaddr *hostaddr, if (options.proxy_command == NULL) { if (getnameinfo(hostaddr, addrlen, ntop, sizeof(ntop), NULL, 0, NI_NUMERICHOST) != 0) - fatal_f("getnameinfo failed"); + fatal_f("getnameinfo failed"); *hostfile_ipaddr = put_host_port(ntop, port); } else { *hostfile_ipaddr = xstrdup(" Date: Tue, 30 Apr 2024 02:10:49 +0000 Subject: [PATCH 048/172] upstream: add explict check for server hostkey type against HostkeyAlgorithms. Allows HostkeyAlgorithms to disable implicit fallback from certificate keys to plain keys. ok markus@ OpenBSD-Commit-ID: 364087e4a395ff9b2f42bf3aefdb2090bb23643a --- clientloop.c | 23 ++--------------------- sshconnect.c | 32 +++++++++++++++++++++++++++++++- sshconnect.h | 6 +++++- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/clientloop.c b/clientloop.c index 8ec36af94b3f..be8bb5fc1f29 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.403 2024/02/21 05:57:34 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.404 2024/04/30 02:10:49 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -2441,25 +2441,6 @@ client_global_hostkeys_prove_confirm(struct ssh *ssh, int type, client_repledge(); } -/* - * Returns non-zero if the key is accepted by HostkeyAlgorithms. - * Made slightly less trivial by the multiple RSA signature algorithm names. - */ -static int -key_accepted_by_hostkeyalgs(const struct sshkey *key) -{ - const char *ktype = sshkey_ssh_name(key); - const char *hostkeyalgs = options.hostkeyalgorithms; - - if (key->type == KEY_UNSPEC) - return 0; - if (key->type == KEY_RSA && - (match_pattern_list("rsa-sha2-256", hostkeyalgs, 0) == 1 || - match_pattern_list("rsa-sha2-512", hostkeyalgs, 0) == 1)) - return 1; - return match_pattern_list(ktype, hostkeyalgs, 0) == 1; -} - /* * Handle hostkeys-00@openssh.com global request to inform the client of all * the server's hostkeys. The keys are checked against the user's @@ -2504,7 +2485,7 @@ client_input_hostkeys(struct ssh *ssh) debug3_f("received %s key %s", sshkey_type(key), fp); free(fp); - if (!key_accepted_by_hostkeyalgs(key)) { + if (!hostkey_accepted_by_hostkeyalgs(key)) { debug3_f("%s key not permitted by " "HostkeyAlgorithms", sshkey_ssh_name(key)); continue; diff --git a/sshconnect.c b/sshconnect.c index 1e94967d31aa..7cf6b638674c 100644 --- a/sshconnect.c +++ b/sshconnect.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.c,v 1.367 2024/04/23 13:34:50 jsg Exp $ */ +/* $OpenBSD: sshconnect.c,v 1.368 2024/04/30 02:10:49 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -57,6 +57,7 @@ #include "sshkey.h" #include "sshconnect.h" #include "log.h" +#include "match.h" #include "misc.h" #include "readconf.h" #include "atomicio.h" @@ -717,6 +718,29 @@ try_tilde_unexpand(const char *path) return ret; } +/* + * Returns non-zero if the key is accepted by HostkeyAlgorithms. + * Made slightly less trivial by the multiple RSA signature algorithm names. + */ +int +hostkey_accepted_by_hostkeyalgs(const struct sshkey *key) +{ + const char *ktype = sshkey_ssh_name(key); + const char *hostkeyalgs = options.hostkeyalgorithms; + + if (key->type == KEY_UNSPEC) + return 0; + if (key->type == KEY_RSA && + (match_pattern_list("rsa-sha2-256", hostkeyalgs, 0) == 1 || + match_pattern_list("rsa-sha2-512", hostkeyalgs, 0) == 1)) + return 1; + if (key->type == KEY_RSA_CERT && + (match_pattern_list("rsa-sha2-512-cert-v01@openssh.com", hostkeyalgs, 0) == 1 || + match_pattern_list("rsa-sha2-256-cert-v01@openssh.com", hostkeyalgs, 0) == 1)) + return 1; + return match_pattern_list(ktype, hostkeyalgs, 0) == 1; +} + static int hostkeys_find_by_key_cb(struct hostkey_foreach_line *l, void *_ctx) { @@ -1017,6 +1041,12 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo, } retry: + if (!hostkey_accepted_by_hostkeyalgs(host_key)) { + error("host key %s not permitted by HostkeyAlgorithms", + sshkey_ssh_name(host_key)); + goto fail; + } + /* Reload these as they may have changed on cert->key downgrade */ want_cert = sshkey_is_cert(host_key); type = sshkey_type(host_key); diff --git a/sshconnect.h b/sshconnect.h index 79d35cc195df..8b0466f299e3 100644 --- a/sshconnect.h +++ b/sshconnect.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.h,v 1.47 2023/10/12 02:18:18 djm Exp $ */ +/* $OpenBSD: sshconnect.h,v 1.48 2024/04/30 02:10:49 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. @@ -24,6 +24,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +struct sshkey; + typedef struct Sensitive Sensitive; struct Sensitive { struct sshkey **keys; @@ -94,3 +96,5 @@ void maybe_add_key_to_agent(const char *, struct sshkey *, void load_hostkeys_command(struct hostkeys *, const char *, const char *, const struct ssh_conn_info *, const struct sshkey *, const char *); + +int hostkey_accepted_by_hostkeyalgs(const struct sshkey *); From 66aaa678dbe59aa21d0d9d89a3596ecedde0254b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 30 Apr 2024 02:14:10 +0000 Subject: [PATCH 049/172] upstream: correctly restore sigprocmask around ppoll() reported MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit by Tõivo Leedjärv; ok deraadt@ OpenBSD-Commit-ID: c0c0f89de5294a166578f071eade2501929c4686 --- clientloop.c | 4 ++-- serverloop.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/clientloop.c b/clientloop.c index be8bb5fc1f29..8ea2ada42166 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.404 2024/04/30 02:10:49 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.405 2024/04/30 02:14:10 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1585,7 +1585,7 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, client_wait_until_can_do_something(ssh, &pfd, &npfd_alloc, &npfd_active, channel_did_enqueue, &osigset, &conn_in_ready, &conn_out_ready); - if (sigprocmask(SIG_UNBLOCK, &bsigset, &osigset) == -1) + if (sigprocmask(SIG_SETMASK, &osigset, NULL) == -1) error_f("osigset sigprocmask: %s", strerror(errno)); if (quit_pending) diff --git a/serverloop.c b/serverloop.c index f3683c2e4a6d..94c8943a6168 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.237 2023/08/21 04:59:54 djm Exp $ */ +/* $OpenBSD: serverloop.c,v 1.238 2024/04/30 02:14:10 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -380,7 +380,7 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt) wait_until_can_do_something(ssh, connection_in, connection_out, &pfd, &npfd_alloc, &npfd_active, &osigset, &conn_in_ready, &conn_out_ready); - if (sigprocmask(SIG_UNBLOCK, &bsigset, &osigset) == -1) + if (sigprocmask(SIG_SETMASK, &osigset, NULL) == -1) error_f("osigset sigprocmask: %s", strerror(errno)); if (received_sigterm) { From 16d0b82fa08038f35f1b3630c70116979f49784f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 30 Apr 2024 12:39:34 +1000 Subject: [PATCH 050/172] depend --- .depend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.depend b/.depend index 4897698ab74a..71757cc32429 100644 --- a/.depend +++ b/.depend @@ -153,8 +153,8 @@ sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/ sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h -sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h authfd.h -sshconnect.o: kex.h mac.h crypto_api.h +sshconnect.o: authfd.h kex.h mac.h crypto_api.h +sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h match.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h From da757b022bf18c6f7d04e685a10cd96ed00f83da Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 30 Apr 2024 05:45:56 +0000 Subject: [PATCH 051/172] upstream: add missing reserved fields to key constraint protocol documentation. from Wiktor Kwapisiewicz via GHPR487 OpenBSD-Commit-ID: 0dfb69998cfdb3fa00cbb0e7809e7d2f6126e3df --- PROTOCOL.agent | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PROTOCOL.agent b/PROTOCOL.agent index 7637882f12b3..9ae16bf2bbc6 100644 --- a/PROTOCOL.agent +++ b/PROTOCOL.agent @@ -49,10 +49,13 @@ Where a constraint consists of: string from_username (must be empty) string from_hostname + string reserved keyspec[] from_hostkeys string to_username string to_hostname + string reserved keyspec[] to_hostkeys + string reserved And a keyspec consists of: @@ -112,4 +115,4 @@ A SSH_AGENTC_ADD_SMARTCARD_KEY_CONSTRAINED will return SSH_AGENT_SUCCESS if any key (plain private or certificate) was successfully loaded, or SSH_AGENT_FAILURE if no key was loaded. -$OpenBSD: PROTOCOL.agent,v 1.22 2023/12/20 00:06:25 jsg Exp $ +$OpenBSD: PROTOCOL.agent,v 1.23 2024/04/30 05:45:56 djm Exp $ From 2e69a724051488e3fb3cd11531c4b5bc1764945b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 30 Apr 2024 05:53:03 +0000 Subject: [PATCH 052/172] upstream: stricter validation of messaging socket fd number; disallow usage of stderr. Based on GHPR492 by RealHurrison OpenBSD-Commit-ID: 73dbbe82ea16f73ce1d044d3232bc869ae2f2ce8 --- ssh-keysign.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh-keysign.c b/ssh-keysign.c index c54a4bbb7983..968344e7946f 100644 --- a/ssh-keysign.c +++ b/ssh-keysign.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keysign.c,v 1.73 2024/01/11 01:51:16 djm Exp $ */ +/* $OpenBSD: ssh-keysign.c,v 1.74 2024/04/30 05:53:03 djm Exp $ */ /* * Copyright (c) 2002 Markus Friedl. All rights reserved. * @@ -268,7 +268,7 @@ main(int argc, char **argv) __progname, rver, version); if ((r = sshbuf_get_u32(b, (u_int *)&fd)) != 0) fatal_r(r, "%s: buffer error", __progname); - if (fd < 0 || fd == STDIN_FILENO || fd == STDOUT_FILENO) + if (fd <= STDERR_FILENO) fatal("%s: bad fd = %d", __progname, fd); if ((host = get_local_name(fd)) == NULL) fatal("%s: cannot get local name for fd", __progname); From 14e2b16bc67ffcc188906f65008667e22f73d103 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 30 Apr 2024 06:16:55 +0000 Subject: [PATCH 053/172] upstream: flush stdout after writing "sftp>" prompt when not using editline. From Alpine Linux via GHPR480 OpenBSD-Commit-ID: 80bdc7ffe0358dc090eb9b93e6dedb2b087b24cd --- sftp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sftp.c b/sftp.c index 76ba4de373cb..c080fba5d496 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.237 2024/02/01 02:37:33 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.238 2024/04/30 06:16:55 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -2301,8 +2301,10 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2) break; } if (el == NULL) { - if (interactive) + if (interactive) { printf("sftp> "); + fflush(stdout); + } if (fgets(cmd, sizeof(cmd), infile) == NULL) { if (interactive) printf("\n"); From 385ecb31e147dfea59c1c488a1d2011d3867e60e Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 30 Apr 2024 06:23:51 +0000 Subject: [PATCH 054/172] upstream: fix home-directory extension implementation, it always returned the current user's home directory contrary to the spec. Patch from Jakub Jelen via GHPR477 OpenBSD-Commit-ID: 5afd775eab7f9cbe222d7fbae4c793de6c3b3d28 --- sftp-server.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sftp-server.c b/sftp-server.c index 0466a0f7fb0b..a4abb9f7cfee 100644 --- a/sftp-server.c +++ b/sftp-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-server.c,v 1.147 2023/04/12 08:53:54 jsg Exp $ */ +/* $OpenBSD: sftp-server.c,v 1.148 2024/04/30 06:23:51 djm Exp $ */ /* * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. * @@ -1706,14 +1706,16 @@ process_extended_home_directory(u_int32_t id) fatal_fr(r, "parse"); debug3("request %u: home-directory \"%s\"", id, username); - if ((user_pw = getpwnam(username)) == NULL) { + if (username[0] == '\0') { + user_pw = pw; + } else if ((user_pw = getpwnam(username)) == NULL) { send_status(id, SSH2_FX_FAILURE); goto out; } - verbose("home-directory \"%s\"", pw->pw_dir); + verbose("home-directory \"%s\"", user_pw->pw_dir); attrib_clear(&s.attrib); - s.name = s.long_name = pw->pw_dir; + s.name = s.long_name = user_pw->pw_dir; send_names(id, 1, &s); out: free(username); From 6a42b70e56bef1aacdcdf06352396e837883e84f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 8 May 2024 09:43:59 +1000 Subject: [PATCH 055/172] sync getrrsetbyname.c with recent upstream changes --- openbsd-compat/getrrsetbyname.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/openbsd-compat/getrrsetbyname.c b/openbsd-compat/getrrsetbyname.c index 8f593984066e..ad35148c9298 100644 --- a/openbsd-compat/getrrsetbyname.c +++ b/openbsd-compat/getrrsetbyname.c @@ -328,13 +328,14 @@ getrrsetbyname(const char *hostname, unsigned int rdclass, if (rdata) { rdata->rdi_length = rr->size; - rdata->rdi_data = malloc(rr->size); - - if (rdata->rdi_data == NULL) { - result = ERRSET_NOMEMORY; - goto fail; + if (rr->size != 0) { + rdata->rdi_data = malloc(rr->size); + if (rdata->rdi_data == NULL) { + result = ERRSET_NOMEMORY; + goto fail; + } + memcpy(rdata->rdi_data, rr->rdata, rr->size); } - memcpy(rdata->rdi_data, rr->rdata, rr->size); } } free_dns_response(response); @@ -577,12 +578,13 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, /* rdata itself */ NEED(curr->size); - curr->rdata = malloc(curr->size); - if (curr->rdata == NULL) { - free_dns_rr(head); - return (NULL); + if (curr->size != 0) { + if ((curr->rdata = malloc(curr->size)) == NULL) { + free_dns_rr(head); + return (NULL); + } + memcpy(curr->rdata, *cp, curr->size); } - memcpy(curr->rdata, *cp, curr->size); *cp += curr->size; } #undef NEED From bc5dcb8ab9a4e8af54a724883732af378f42ea78 Mon Sep 17 00:00:00 2001 From: "tobias@openbsd.org" Date: Tue, 30 Apr 2024 15:40:43 +0000 Subject: [PATCH 056/172] upstream: never close stdin The sanitise_stdfd call makes sure that standard file descriptors are open (if they were closed, they are connected with /dev/null). Do not close stdin in any case to prevent error messages when stdin is read multiple times and to prevent later usage of fd 0 for connections, e.g. echo localhost | ssh-keyscan -f - -f - While at it, make stdin-related error messages nicer. Authored with Max Kunzelmann ok djm OpenBSD-Commit-ID: 48e9b7938e2fa2f9bd47e6de6df66a31e0b375d3 --- ssh-keyscan.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ssh-keyscan.c b/ssh-keyscan.c index f2e6b59e38fd..ac6551ea4c84 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.155 2024/01/11 01:45:36 djm Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.156 2024/04/30 15:40:43 tobias Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -854,7 +854,8 @@ main(int argc, char **argv) if (argv[j] == NULL) fp = stdin; else if ((fp = fopen(argv[j], "r")) == NULL) - fatal("%s: %s: %s", __progname, argv[j], strerror(errno)); + fatal("%s: %s: %s", __progname, + fp == stdin ? "" : argv[j], strerror(errno)); while (getline(&line, &linesize, fp) != -1) { /* Chomp off trailing whitespace and comments */ @@ -876,9 +877,11 @@ main(int argc, char **argv) } if (ferror(fp)) - fatal("%s: %s: %s", __progname, argv[j], strerror(errno)); + fatal("%s: %s: %s", __progname, + fp == stdin ? "" : argv[j], strerror(errno)); - fclose(fp); + if (fp != stdin) + fclose(fp); } free(line); From cbbbf76aa6cd54fce32eacce1300e7abcf9461d4 Mon Sep 17 00:00:00 2001 From: "tobias@openbsd.org" Date: Mon, 6 May 2024 19:26:17 +0000 Subject: [PATCH 057/172] upstream: remove SSH1 leftovers Authored with Space Meyer ok djm OpenBSD-Commit-ID: 81db602e4cb407baae472689db1c222ed7b2afa3 --- ssh-keyscan.c | 52 ++++----------------------------------------------- 1 file changed, 4 insertions(+), 48 deletions(-) diff --git a/ssh-keyscan.c b/ssh-keyscan.c index ac6551ea4c84..0eddda56ef88 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.156 2024/04/30 15:40:43 tobias Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.157 2024/05/06 19:26:17 tobias Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -104,19 +104,13 @@ typedef struct Connection { u_char c_status; /* State of connection on this file desc. */ #define CS_UNUSED 0 /* File descriptor unused */ #define CS_CON 1 /* Waiting to connect/read greeting */ -#define CS_SIZE 2 /* Waiting to read initial packet size */ -#define CS_KEYS 3 /* Waiting to read public key packet */ int c_fd; /* Quick lookup: c->c_fd == c - fdcon */ - int c_plen; /* Packet length field for ssh packet */ - int c_len; /* Total bytes which must be read. */ - int c_off; /* Length of data read so far. */ int c_keytype; /* Only one of KT_* */ sig_atomic_t c_done; /* SSH2 done */ char *c_namebase; /* Address to free for c_name and c_namelist */ char *c_name; /* Hostname of connection for errors */ char *c_namelist; /* Pointer to other possible addresses */ char *c_output_name; /* Hostname of connection for output */ - char *c_data; /* Data read from this fd */ struct ssh *c_ssh; /* SSH-connection */ struct timespec c_ts; /* Time at which connection gets aborted */ TAILQ_ENTRY(Connection) c_link; /* List of connections in timeout order. */ @@ -423,9 +417,6 @@ conalloc(const char *iname, const char *oname, int keytype) fdcon[s].c_name = name; fdcon[s].c_namelist = namelist; fdcon[s].c_output_name = xstrdup(oname); - fdcon[s].c_data = (char *) &fdcon[s].c_plen; - fdcon[s].c_len = 4; - fdcon[s].c_off = 0; fdcon[s].c_keytype = keytype; monotime_ts(&fdcon[s].c_ts); fdcon[s].c_ts.tv_sec += timeout; @@ -443,8 +434,6 @@ confree(int s) fatal("confree: attempt to free bad fdno %d", s); free(fdcon[s].c_namebase); free(fdcon[s].c_output_name); - if (fdcon[s].c_status == CS_KEYS) - free(fdcon[s].c_data); fdcon[s].c_status = CS_UNUSED; fdcon[s].c_keytype = 0; if (fdcon[s].c_ssh) { @@ -459,15 +448,6 @@ confree(int s) ncon--; } -static void -contouch(int s) -{ - TAILQ_REMOVE(&tq, &fdcon[s], c_link); - monotime_ts(&fdcon[s].c_ts); - fdcon[s].c_ts.tv_sec += timeout; - TAILQ_INSERT_TAIL(&tq, &fdcon[s], c_link); -} - static int conrecycle(int s) { @@ -572,35 +552,11 @@ static void conread(int s) { con *c = &fdcon[s]; - size_t n; - if (c->c_status == CS_CON) { - congreet(s); - return; - } - n = atomicio(read, s, c->c_data + c->c_off, c->c_len - c->c_off); - if (n == 0) { - error("read (%s): %s", c->c_name, strerror(errno)); - confree(s); - return; - } - c->c_off += n; - - if (c->c_off == c->c_len) - switch (c->c_status) { - case CS_SIZE: - c->c_plen = htonl(c->c_plen); - c->c_len = c->c_plen + 8 - (c->c_plen & 7); - c->c_off = 0; - c->c_data = xmalloc(c->c_len); - c->c_status = CS_KEYS; - break; - default: - fatal("conread: invalid status %d", c->c_status); - break; - } + if (c->c_status != CS_CON) + fatal("conread: invalid status %d", c->c_status); - contouch(s); + congreet(s); } static void From 1c0d81357921f8d3bab06841df649edac515ae5b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 9 May 2024 09:46:47 +0000 Subject: [PATCH 058/172] upstream: simplify exit message handling, which was more complicated than it needed to be because of unexpunged ssh1 remnants. ok markus@ OpenBSD-Commit-ID: 8b0cd2c0dee75fb053718f442aa89510b684610b --- clientloop.c | 49 ++++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/clientloop.c b/clientloop.c index 8ea2ada42166..a30d1fdbb53a 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.405 2024/04/30 02:14:10 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.406 2024/05/09 09:46:47 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -156,7 +156,6 @@ static time_t control_persist_exit_time = 0; volatile sig_atomic_t quit_pending; /* Set non-zero to quit the loop. */ static int last_was_cr; /* Last character was a newline. */ static int exit_status; /* Used to store the command exit status. */ -static struct sshbuf *stderr_buffer; /* Used for final exit message. */ static int connection_in; /* Connection to server (input). */ static int connection_out; /* Connection to server (output). */ static int need_rekeying; /* Set to non-zero if rekeying is requested. */ @@ -201,17 +200,18 @@ static void quit_message(const char *fmt, ...) static void quit_message(const char *fmt, ...) { - char *msg; + char *msg, *fmt2; va_list args; - int r; + xasprintf(&fmt2, "%s\r\n", fmt); va_start(args, fmt); - xvasprintf(&msg, fmt, args); + xvasprintf(&msg, fmt2, args); va_end(args); - if ((r = sshbuf_putf(stderr_buffer, "%s\r\n", msg)) != 0) - fatal_fr(r, "sshbuf_putf"); + (void)atomicio(vwrite, STDERR_FILENO, msg, strlen(msg)); free(msg); + free(fmt2); + quit_pending = 1; } @@ -1446,7 +1446,7 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, struct pollfd *pfd = NULL; u_int npfd_alloc = 0, npfd_active = 0; double start_time, total_time; - int channel_did_enqueue = 0, r, len; + int channel_did_enqueue = 0, r; u_int64_t ibytes, obytes; int conn_in_ready, conn_out_ready; sigset_t bsigset, osigset; @@ -1498,10 +1498,6 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, quit_pending = 0; - /* Initialize buffer. */ - if ((stderr_buffer = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - client_init_dispatch(ssh); /* @@ -1632,6 +1628,14 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, /* Terminate the session. */ + /* + * In interactive mode (with pseudo tty) display a message indicating + * that the connection has been closed. + */ + if (have_pty && options.log_level >= SYSLOG_LEVEL_INFO) + quit_message("Connection to %s closed.", host); + + /* Stop watching for window change. */ ssh_signal(SIGWINCH, SIG_DFL); @@ -1664,27 +1668,6 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, cleanup_exit(255); } - /* - * In interactive mode (with pseudo tty) display a message indicating - * that the connection has been closed. - */ - if (have_pty && options.log_level >= SYSLOG_LEVEL_INFO) - quit_message("Connection to %s closed.", host); - - /* Output any buffered data for stderr. */ - if (sshbuf_len(stderr_buffer) > 0) { - len = atomicio(vwrite, fileno(stderr), - (u_char *)sshbuf_ptr(stderr_buffer), - sshbuf_len(stderr_buffer)); - if (len < 0 || (u_int)len != sshbuf_len(stderr_buffer)) - error("Write failed flushing stderr buffer."); - else if ((r = sshbuf_consume(stderr_buffer, len)) != 0) - fatal_fr(r, "sshbuf_consume"); - } - - /* Clear and free any buffers. */ - sshbuf_free(stderr_buffer); - /* Report bytes transferred, and transfer rates. */ total_time = monotime_double() - start_time; ssh_packet_get_bytes(ssh, &ibytes, &obytes); From 03e3de416ed7c34faeb692967737be4a7bbe2eb5 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 17 May 2024 00:30:23 +0000 Subject: [PATCH 059/172] upstream: Start the process of splitting sshd into separate binaries. This step splits sshd into a listener and a session binary. More splits are planned. After this changes, the listener binary will validate the configuration, load the hostkeys, listen on port 22 and manage MaxStartups only. All session handling will be performed by a new sshd-session binary that the listener fork+execs. This reduces the listener process to the minimum necessary and sets us up for future work on the sshd-session binary. feedback/ok markus@ deraadt@ NB. if you're updating via source, please restart sshd after installing, otherwise you run the risk of locking yourself out. OpenBSD-Commit-ID: 43c04a1ab96cdbdeb53d2df0125a6d42c5f19934 --- auth-pam.c | 23 +- auth-pam.h | 2 +- auth-rhosts.c | 3 +- auth.c | 108 +--- auth.h | 12 +- auth2-gss.c | 39 +- auth2-hostbased.c | 15 +- auth2-kbdint.c | 7 +- auth2-none.c | 12 +- auth2-passwd.c | 9 +- auth2-pubkey.c | 15 +- auth2.c | 91 +-- channels.c | 22 +- kex.c | 270 +-------- kex.h | 9 +- kexgexs.c | 4 +- misc.c | 15 +- misc.h | 10 +- monitor.c | 49 +- monitor.h | 6 +- monitor_wrap.c | 178 ++++-- monitor_wrap.h | 13 +- msg.c | 5 +- packet.c | 94 ++- packet.h | 3 +- pathnames.h | 7 +- servconf.c | 107 +--- servconf.h | 13 +- serverloop.c | 44 +- session.c | 36 +- ssh_api.c | 17 +- sshd-session.c | 1472 +++++++++++++++++++++++++++++++++++++++++++++ sshd.c | 1317 ++++++---------------------------------- 33 files changed, 2096 insertions(+), 1931 deletions(-) create mode 100644 sshd-session.c diff --git a/auth-pam.c b/auth-pam.c index e143304e3fe0..ed5b165bdbc3 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -668,7 +668,7 @@ static struct pam_conv store_conv = { sshpam_store_conv, NULL }; void sshpam_cleanup(void) { - if (sshpam_handle == NULL || (use_privsep && !mm_is_monitor())) + if (sshpam_handle == NULL || !mm_is_monitor()) return; debug("PAM: cleanup"); pam_set_item(sshpam_handle, PAM_CONV, (const void *)&null_conv); @@ -705,7 +705,8 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt) fatal("%s: called initially with no " "packet context", __func__); } - } if (sshpam_handle != NULL) { + } + if (sshpam_handle != NULL) { /* We already have a PAM context; check if the user matches */ sshpam_err = pam_get_item(sshpam_handle, PAM_USER, (sshpam_const void **)ptr_pam_user); @@ -1101,20 +1102,15 @@ do_pam_account(void) } void -do_pam_setcred(int init) +do_pam_setcred(void) { sshpam_err = pam_set_item(sshpam_handle, PAM_CONV, (const void *)&store_conv); if (sshpam_err != PAM_SUCCESS) fatal("PAM: failed to set PAM_CONV: %s", pam_strerror(sshpam_handle, sshpam_err)); - if (init) { - debug("PAM: establishing credentials"); - sshpam_err = pam_setcred(sshpam_handle, PAM_ESTABLISH_CRED); - } else { - debug("PAM: reinitializing credentials"); - sshpam_err = pam_setcred(sshpam_handle, PAM_REINITIALIZE_CRED); - } + debug("PAM: establishing credentials"); + sshpam_err = pam_setcred(sshpam_handle, PAM_ESTABLISH_CRED); if (sshpam_err == PAM_SUCCESS) { sshpam_cred_established = 1; return; @@ -1127,6 +1123,7 @@ do_pam_setcred(int init) pam_strerror(sshpam_handle, sshpam_err)); } +#if 0 static int sshpam_tty_conv(int n, sshpam_const struct pam_message **msg, struct pam_response **resp, void *data) @@ -1182,6 +1179,7 @@ sshpam_tty_conv(int n, sshpam_const struct pam_message **msg, } static struct pam_conv tty_conv = { sshpam_tty_conv, NULL }; +#endif /* * XXX this should be done in the authentication phase, but ssh1 doesn't @@ -1190,8 +1188,8 @@ static struct pam_conv tty_conv = { sshpam_tty_conv, NULL }; void do_pam_chauthtok(void) { - if (use_privsep) - fatal("Password expired (unable to change with privsep)"); + fatal("Password expired"); +#if 0 sshpam_err = pam_set_item(sshpam_handle, PAM_CONV, (const void *)&tty_conv); if (sshpam_err != PAM_SUCCESS) @@ -1202,6 +1200,7 @@ do_pam_chauthtok(void) if (sshpam_err != PAM_SUCCESS) fatal("PAM: pam_chauthtok(): %s", pam_strerror(sshpam_handle, sshpam_err)); +#endif } void diff --git a/auth-pam.h b/auth-pam.h index 9fcea270faec..8d801c689aa6 100644 --- a/auth-pam.h +++ b/auth-pam.h @@ -31,7 +31,7 @@ void start_pam(struct ssh *); void finish_pam(void); u_int do_pam_account(void); void do_pam_session(struct ssh *); -void do_pam_setcred(int ); +void do_pam_setcred(void); void do_pam_chauthtok(void); int do_pam_putenv(char *, char *); char ** fetch_pam_environment(void); diff --git a/auth-rhosts.c b/auth-rhosts.c index 56724677a9e2..d5d2c7a12988 100644 --- a/auth-rhosts.c +++ b/auth-rhosts.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth-rhosts.c,v 1.57 2022/12/09 00:17:40 dtucker Exp $ */ +/* $OpenBSD: auth-rhosts.c,v 1.58 2024/05/17 00:30:23 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -46,7 +46,6 @@ /* import */ extern ServerOptions options; -extern int use_privsep; /* * This function processes an rhosts-style file (.rhosts, .shosts, or diff --git a/auth.c b/auth.c index 3b380d9bbd20..2e4cbef07170 100644 --- a/auth.c +++ b/auth.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth.c,v 1.160 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: auth.c,v 1.161 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -79,7 +79,6 @@ /* import */ extern ServerOptions options; extern struct include_list includes; -extern int use_privsep; extern struct sshbuf *loginmsg; extern struct passwd *privsep_pw; extern struct sshauthopt *auth_opts; @@ -272,7 +271,7 @@ auth_log(struct ssh *ssh, int authenticated, int partial, const char *authmsg; char *extra = NULL; - if (use_privsep && !mm_is_monitor() && !authctxt->postponed) + if (!mm_is_monitor() && !authctxt->postponed) return; /* Raise logging level */ @@ -472,14 +471,14 @@ getpwnamallow(struct ssh *ssh, const char *user) struct connection_info *ci; u_int i; - ci = get_connection_info(ssh, 1, options.use_dns); + ci = server_get_connection_info(ssh, 1, options.use_dns); ci->user = user; parse_server_match_config(&options, &includes, ci); log_change_level(options.log_level); log_verbose_reset(); for (i = 0; i < options.num_log_verbose; i++) log_verbose_add(options.log_verbose[i]); - process_permitopen(ssh, &options); + server_process_permitopen(ssh); #if defined(_AIX) && defined(HAVE_SETAUTHDB) aix_setauthdb(user); @@ -637,97 +636,6 @@ fakepw(void) return (&fake); } -/* - * Returns the remote DNS hostname as a string. The returned string must not - * be freed. NB. this will usually trigger a DNS query the first time it is - * called. - * This function does additional checks on the hostname to mitigate some - * attacks on based on conflation of hostnames and IP addresses. - */ - -static char * -remote_hostname(struct ssh *ssh) -{ - struct sockaddr_storage from; - socklen_t fromlen; - struct addrinfo hints, *ai, *aitop; - char name[NI_MAXHOST], ntop2[NI_MAXHOST]; - const char *ntop = ssh_remote_ipaddr(ssh); - - /* Get IP address of client. */ - fromlen = sizeof(from); - memset(&from, 0, sizeof(from)); - if (getpeername(ssh_packet_get_connection_in(ssh), - (struct sockaddr *)&from, &fromlen) == -1) { - debug("getpeername failed: %.100s", strerror(errno)); - return xstrdup(ntop); - } - - ipv64_normalise_mapped(&from, &fromlen); - if (from.ss_family == AF_INET6) - fromlen = sizeof(struct sockaddr_in6); - - debug3("Trying to reverse map address %.100s.", ntop); - /* Map the IP address to a host name. */ - if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), - NULL, 0, NI_NAMEREQD) != 0) { - /* Host name not found. Use ip address. */ - return xstrdup(ntop); - } - - /* - * if reverse lookup result looks like a numeric hostname, - * someone is trying to trick us by PTR record like following: - * 1.1.1.10.in-addr.arpa. IN PTR 2.3.4.5 - */ - memset(&hints, 0, sizeof(hints)); - hints.ai_socktype = SOCK_DGRAM; /*dummy*/ - hints.ai_flags = AI_NUMERICHOST; - if (getaddrinfo(name, NULL, &hints, &ai) == 0) { - logit("Nasty PTR record \"%s\" is set up for %s, ignoring", - name, ntop); - freeaddrinfo(ai); - return xstrdup(ntop); - } - - /* Names are stored in lowercase. */ - lowercase(name); - - /* - * Map it back to an IP address and check that the given - * address actually is an address of this host. This is - * necessary because anyone with access to a name server can - * define arbitrary names for an IP address. Mapping from - * name to IP address can be trusted better (but can still be - * fooled if the intruder has access to the name server of - * the domain). - */ - memset(&hints, 0, sizeof(hints)); - hints.ai_family = from.ss_family; - hints.ai_socktype = SOCK_STREAM; - if (getaddrinfo(name, NULL, &hints, &aitop) != 0) { - logit("reverse mapping checking getaddrinfo for %.700s " - "[%s] failed.", name, ntop); - return xstrdup(ntop); - } - /* Look for the address from the list of addresses. */ - for (ai = aitop; ai; ai = ai->ai_next) { - if (getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop2, - sizeof(ntop2), NULL, 0, NI_NUMERICHOST) == 0 && - (strcmp(ntop, ntop2) == 0)) - break; - } - freeaddrinfo(aitop); - /* If we reached the end of the list, the address was not there. */ - if (ai == NULL) { - /* Address not found for the host name. */ - logit("Address %.100s maps to %.600s, but this does not " - "map back to the address.", ntop, name); - return xstrdup(ntop); - } - return xstrdup(name); -} - /* * Return the canonical name of the host in the other side of the current * connection. The host name is cached, so it is efficient to call this @@ -741,12 +649,10 @@ auth_get_canonical_hostname(struct ssh *ssh, int use_dns) if (!use_dns) return ssh_remote_ipaddr(ssh); - else if (dnsname != NULL) - return dnsname; - else { - dnsname = remote_hostname(ssh); + if (dnsname != NULL) return dnsname; - } + dnsname = ssh_remote_hostname(ssh); + return dnsname; } /* These functions link key/cert options to the auth framework */ diff --git a/auth.h b/auth.h index 6d2d3976234e..33370eaceb86 100644 --- a/auth.h +++ b/auth.h @@ -1,4 +1,4 @@ -/* $OpenBSD: auth.h,v 1.106 2022/06/15 16:08:25 djm Exp $ */ +/* $OpenBSD: auth.h,v 1.107 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. @@ -104,11 +104,15 @@ struct Authctxt { * the client. */ +struct authmethod_cfg { + const char *name; + const char *synonym; + int *enabled; +}; + struct Authmethod { - char *name; - char *synonym; + struct authmethod_cfg *cfg; int (*userauth)(struct ssh *, const char *); - int *enabled; }; /* diff --git a/auth2-gss.c b/auth2-gss.c index f72a38998fcb..d24287d34656 100644 --- a/auth2-gss.c +++ b/auth2-gss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-gss.c,v 1.34 2023/03/31 04:22:27 djm Exp $ */ +/* $OpenBSD: auth2-gss.c,v 1.35 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. @@ -51,6 +51,7 @@ #define SSH_GSSAPI_MAX_MECHS 2048 extern ServerOptions options; +extern struct authmethod_cfg methodcfg_gssapi; static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh); static int input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh); @@ -116,7 +117,7 @@ userauth_gssapi(struct ssh *ssh, const char *method) return (0); } - if (GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctxt, &goid)))) { + if (GSS_ERROR(mm_ssh_gssapi_server_ctx(&ctxt, &goid))) { if (ctxt != NULL) ssh_gssapi_delete_ctx(&ctxt); free(doid); @@ -153,7 +154,7 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh) size_t len; int r; - if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep)) + if (authctxt == NULL) fatal("No authentication or GSSAPI context"); gssctxt = authctxt->methoddata; @@ -163,8 +164,8 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh) recv_tok.value = p; recv_tok.length = len; - maj_status = PRIVSEP(ssh_gssapi_accept_ctx(gssctxt, &recv_tok, - &send_tok, &flags)); + maj_status = mm_ssh_gssapi_accept_ctx(gssctxt, &recv_tok, + &send_tok, &flags); free(p); @@ -217,7 +218,7 @@ input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh) u_char *p; size_t len; - if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep)) + if (authctxt == NULL) fatal("No authentication or GSSAPI context"); gssctxt = authctxt->methoddata; @@ -228,8 +229,8 @@ input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh) recv_tok.length = len; /* Push the error token into GSSAPI to see what it says */ - maj_status = PRIVSEP(ssh_gssapi_accept_ctx(gssctxt, &recv_tok, - &send_tok, NULL)); + maj_status = mm_ssh_gssapi_accept_ctx(gssctxt, &recv_tok, + &send_tok, NULL); free(recv_tok.value); @@ -256,7 +257,7 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh) int r, authenticated; const char *displayname; - if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep)) + if (authctxt == NULL) fatal("No authentication or GSSAPI context"); /* @@ -267,11 +268,7 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh) if ((r = sshpkt_get_end(ssh)) != 0) fatal_fr(r, "parse packet"); - authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user)); - - if ((!use_privsep || mm_is_monitor()) && - (displayname = ssh_gssapi_displayname()) != NULL) - auth2_record_info(authctxt, "%s", displayname); + authenticated = mm_ssh_gssapi_userok(authctxt->user); authctxt->postponed = 0; ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL); @@ -294,7 +291,7 @@ input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh) u_char *p; size_t len; - if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep)) + if (authctxt == NULL) fatal("No authentication or GSSAPI context"); gssctxt = authctxt->methoddata; @@ -312,18 +309,14 @@ input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh) fatal_f("sshbuf_mutable_ptr failed"); gssbuf.length = sshbuf_len(b); - if (!GSS_ERROR(PRIVSEP(ssh_gssapi_checkmic(gssctxt, &gssbuf, &mic)))) - authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user)); + if (!GSS_ERROR(mm_ssh_gssapi_checkmic(gssctxt, &gssbuf, &mic))) + authenticated = mm_ssh_gssapi_userok(authctxt->user); else logit("GSSAPI MIC check failed"); sshbuf_free(b); free(mic.value); - if ((!use_privsep || mm_is_monitor()) && - (displayname = ssh_gssapi_displayname()) != NULL) - auth2_record_info(authctxt, "%s", displayname); - authctxt->postponed = 0; ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL); ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_ERRTOK, NULL); @@ -334,10 +327,8 @@ input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh) } Authmethod method_gssapi = { - "gssapi-with-mic", - NULL, + &methodcfg_gssapi, userauth_gssapi, - &options.gss_authentication }; #endif /* GSSAPI */ diff --git a/auth2-hostbased.c b/auth2-hostbased.c index 06bb464ffa45..eb21479a0270 100644 --- a/auth2-hostbased.c +++ b/auth2-hostbased.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-hostbased.c,v 1.52 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: auth2-hostbased.c,v 1.53 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -54,6 +54,7 @@ /* import */ extern ServerOptions options; +extern struct authmethod_cfg methodcfg_hostbased; static int userauth_hostbased(struct ssh *ssh, const char *method) @@ -145,10 +146,10 @@ userauth_hostbased(struct ssh *ssh, const char *method) /* test for allowed key and correct signature */ authenticated = 0; - if (PRIVSEP(hostbased_key_allowed(ssh, authctxt->pw, cuser, - chost, key)) && - PRIVSEP(sshkey_verify(key, sig, slen, - sshbuf_ptr(b), sshbuf_len(b), pkalg, ssh->compat, NULL)) == 0) + if (mm_hostbased_key_allowed(ssh, authctxt->pw, cuser, + chost, key) && + mm_sshkey_verify(key, sig, slen, + sshbuf_ptr(b), sshbuf_len(b), pkalg, ssh->compat, NULL) == 0) authenticated = 1; auth2_record_key(authctxt, authenticated, key); @@ -252,8 +253,6 @@ hostbased_key_allowed(struct ssh *ssh, struct passwd *pw, } Authmethod method_hostbased = { - "hostbased", - NULL, + &methodcfg_hostbased, userauth_hostbased, - &options.hostbased_authentication }; diff --git a/auth2-kbdint.c b/auth2-kbdint.c index ae7eca3b87f1..fd08e720d872 100644 --- a/auth2-kbdint.c +++ b/auth2-kbdint.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-kbdint.c,v 1.14 2021/12/19 22:12:07 djm Exp $ */ +/* $OpenBSD: auth2-kbdint.c,v 1.15 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -42,6 +42,7 @@ /* import */ extern ServerOptions options; +extern struct authmethod_cfg methodcfg_kbdint; static int userauth_kbdint(struct ssh *ssh, const char *method) @@ -65,8 +66,6 @@ userauth_kbdint(struct ssh *ssh, const char *method) } Authmethod method_kbdint = { - "keyboard-interactive", - NULL, + &methodcfg_kbdint, userauth_kbdint, - &options.kbd_interactive_authentication }; diff --git a/auth2-none.c b/auth2-none.c index 8966fd082f42..c3ed53ff144a 100644 --- a/auth2-none.c +++ b/auth2-none.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-none.c,v 1.25 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: auth2-none.c,v 1.26 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -53,9 +53,9 @@ /* import */ extern ServerOptions options; +extern struct authmethod_cfg methodcfg_none; -/* "none" is allowed only one time */ -static int none_enabled = 1; +extern int none_enabled; static int userauth_none(struct ssh *ssh, const char *method) @@ -66,13 +66,11 @@ userauth_none(struct ssh *ssh, const char *method) if ((r = sshpkt_get_end(ssh)) != 0) fatal_fr(r, "parse packet"); if (options.permit_empty_passwd && options.password_authentication) - return (PRIVSEP(auth_password(ssh, ""))); + return mm_auth_password(ssh, ""); return (0); } Authmethod method_none = { - "none", - NULL, + &methodcfg_none, userauth_none, - &none_enabled }; diff --git a/auth2-passwd.c b/auth2-passwd.c index cc12cfbc1f1a..61f98c077c5f 100644 --- a/auth2-passwd.c +++ b/auth2-passwd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-passwd.c,v 1.21 2022/05/27 04:29:40 dtucker Exp $ */ +/* $OpenBSD: auth2-passwd.c,v 1.22 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -47,6 +47,7 @@ /* import */ extern ServerOptions options; +extern struct authmethod_cfg methodcfg_passwd; static int userauth_passwd(struct ssh *ssh, const char *method) @@ -66,15 +67,13 @@ userauth_passwd(struct ssh *ssh, const char *method) if (change) logit("password change not supported"); - else if (PRIVSEP(auth_password(ssh, password)) == 1) + else if (mm_auth_password(ssh, password) == 1) authenticated = 1; freezero(password, len); return authenticated; } Authmethod method_passwd = { - "password", - NULL, + &methodcfg_passwd, userauth_passwd, - &options.password_authentication }; diff --git a/auth2-pubkey.c b/auth2-pubkey.c index 3f49e1df3b7d..7580db78dfd5 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-pubkey.c,v 1.119 2023/07/27 22:25:17 djm Exp $ */ +/* $OpenBSD: auth2-pubkey.c,v 1.120 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -72,6 +72,7 @@ /* import */ extern ServerOptions options; +extern struct authmethod_cfg methodcfg_pubkey; static char * format_key(const struct sshkey *key) @@ -219,11 +220,11 @@ userauth_pubkey(struct ssh *ssh, const char *method) #endif /* test for correct signature */ authenticated = 0; - if (PRIVSEP(user_key_allowed(ssh, pw, key, 1, &authopts)) && - PRIVSEP(sshkey_verify(key, sig, slen, + if (mm_user_key_allowed(ssh, pw, key, 1, &authopts) && + mm_sshkey_verify(key, sig, slen, sshbuf_ptr(b), sshbuf_len(b), (ssh->compat & SSH_BUG_SIGTYPE) == 0 ? pkalg : NULL, - ssh->compat, &sig_details)) == 0) { + ssh->compat, &sig_details) == 0) { authenticated = 1; } if (authenticated == 1 && sig_details != NULL) { @@ -281,7 +282,7 @@ userauth_pubkey(struct ssh *ssh, const char *method) * if a user is not allowed to login. is this an * issue? -markus */ - if (PRIVSEP(user_key_allowed(ssh, pw, key, 0, NULL))) { + if (mm_user_key_allowed(ssh, pw, key, 0, NULL)) { if ((r = sshpkt_start(ssh, SSH2_MSG_USERAUTH_PK_OK)) != 0 || (r = sshpkt_put_cstring(ssh, pkalg)) != 0 || @@ -813,8 +814,6 @@ user_key_allowed(struct ssh *ssh, struct passwd *pw, struct sshkey *key, } Authmethod method_pubkey = { - "publickey", - "publickey-hostbound-v00@openssh.com", + &methodcfg_pubkey, userauth_pubkey, - &options.pubkey_authentication }; diff --git a/auth2.c b/auth2.c index 271789a77942..67dec88c3c77 100644 --- a/auth2.c +++ b/auth2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2.c,v 1.168 2023/12/18 14:45:49 djm Exp $ */ +/* $OpenBSD: auth2.c,v 1.169 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -156,7 +156,7 @@ userauth_banner(struct ssh *ssh) if (options.banner == NULL) return; - if ((banner = PRIVSEP(auth2_read_banner())) == NULL) + if ((banner = mm_auth2_read_banner()) == NULL) goto done; userauth_send_banner(ssh, banner); @@ -291,7 +291,7 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh) auth_maxtries_exceeded(ssh); if (authctxt->attempt++ == 0) { /* setup auth context */ - authctxt->pw = PRIVSEP(getpwnamallow(ssh, user)); + authctxt->pw = mm_getpwnamallow(ssh, user); authctxt->user = xstrdup(user); if (authctxt->pw && strcmp(service, "ssh-connection")==0) { authctxt->valid = 1; @@ -301,21 +301,19 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh) /* Invalid user, fake password information */ authctxt->pw = fakepw(); #ifdef SSH_AUDIT_EVENTS - PRIVSEP(audit_event(ssh, SSH_INVALID_USER)); + mm_audit_event(ssh, SSH_INVALID_USER); #endif } #ifdef USE_PAM if (options.use_pam) - PRIVSEP(start_pam(ssh)); + mm_start_pam(ssh); #endif ssh_packet_set_log_preamble(ssh, "%suser %s", authctxt->valid ? "authenticating " : "invalid ", user); - setproctitle("%s%s", authctxt->valid ? user : "unknown", - use_privsep ? " [net]" : ""); + setproctitle("%s [net]", authctxt->valid ? user : "unknown"); authctxt->service = xstrdup(service); authctxt->style = style ? xstrdup(style) : NULL; - if (use_privsep) - mm_inform_authserv(service, style); + mm_inform_authserv(service, style); userauth_banner(ssh); if ((r = kex_server_update_ext_info(ssh)) != 0) fatal_fr(r, "kex_server_update_ext_info failed"); @@ -379,7 +377,7 @@ userauth_finish(struct ssh *ssh, int authenticated, const char *packet_method, /* prefer primary authmethod name to possible synonym */ if ((m = authmethod_byname(method)) == NULL) fatal("INTERNAL ERROR: bad method %s", method); - method = m->name; + method = m->cfg->name; } /* Special handling for root */ @@ -387,7 +385,7 @@ userauth_finish(struct ssh *ssh, int authenticated, const char *packet_method, !auth_root_allowed(ssh, method)) { authenticated = 0; #ifdef SSH_AUDIT_EVENTS - PRIVSEP(audit_event(ssh, SSH_LOGIN_ROOT_DENIED)); + mm_audit_event(ssh, SSH_LOGIN_ROOT_DENIED); #endif } @@ -410,7 +408,7 @@ userauth_finish(struct ssh *ssh, int authenticated, const char *packet_method, #ifdef USE_PAM if (options.use_pam && authenticated) { - int r, success = PRIVSEP(do_pam_account()); + int r, success = mm_do_pam_account(); /* If PAM returned a message, send it to the user. */ if (sshbuf_len(loginmsg) > 0) { @@ -448,7 +446,7 @@ userauth_finish(struct ssh *ssh, int authenticated, const char *packet_method, authctxt->failures++; if (authctxt->failures >= options.max_authtries) { #ifdef SSH_AUDIT_EVENTS - PRIVSEP(audit_event(ssh, SSH_LOGIN_EXCEED_MAXTRIES)); + mm_audit_event(ssh, SSH_LOGIN_EXCEED_MAXTRIES); #endif auth_maxtries_exceeded(ssh); } @@ -500,16 +498,16 @@ authmethods_get(Authctxt *authctxt) if ((b = sshbuf_new()) == NULL) fatal_f("sshbuf_new failed"); for (i = 0; authmethods[i] != NULL; i++) { - if (strcmp(authmethods[i]->name, "none") == 0) + if (strcmp(authmethods[i]->cfg->name, "none") == 0) continue; - if (authmethods[i]->enabled == NULL || - *(authmethods[i]->enabled) == 0) + if (authmethods[i]->cfg->enabled == NULL || + *(authmethods[i]->cfg->enabled) == 0) continue; - if (!auth2_method_allowed(authctxt, authmethods[i]->name, + if (!auth2_method_allowed(authctxt, authmethods[i]->cfg->name, NULL)) continue; if ((r = sshbuf_putf(b, "%s%s", sshbuf_len(b) ? "," : "", - authmethods[i]->name)) != 0) + authmethods[i]->cfg->name)) != 0) fatal_fr(r, "buffer error"); } if ((list = sshbuf_dup_string(b)) == NULL) @@ -526,9 +524,9 @@ authmethod_byname(const char *name) if (name == NULL) fatal_f("NULL authentication method name"); for (i = 0; authmethods[i] != NULL; i++) { - if (strcmp(name, authmethods[i]->name) == 0 || - (authmethods[i]->synonym != NULL && - strcmp(name, authmethods[i]->synonym) == 0)) + if (strcmp(name, authmethods[i]->cfg->name) == 0 || + (authmethods[i]->cfg->synonym != NULL && + strcmp(name, authmethods[i]->cfg->synonym) == 0)) return authmethods[i]; } debug_f("unrecognized authentication method name: %s", name); @@ -543,11 +541,11 @@ authmethod_lookup(Authctxt *authctxt, const char *name) if ((method = authmethod_byname(name)) == NULL) return NULL; - if (method->enabled == NULL || *(method->enabled) == 0) { + if (method->cfg->enabled == NULL || *(method->cfg->enabled) == 0) { debug3_f("method %s not enabled", name); return NULL; } - if (!auth2_method_allowed(authctxt, method->name, NULL)) { + if (!auth2_method_allowed(authctxt, method->cfg->name, NULL)) { debug3_f("method %s not allowed " "by AuthenticationMethods", name); return NULL; @@ -555,53 +553,6 @@ authmethod_lookup(Authctxt *authctxt, const char *name) return method; } -/* - * Check a comma-separated list of methods for validity. Is need_enable is - * non-zero, then also require that the methods are enabled. - * Returns 0 on success or -1 if the methods list is invalid. - */ -int -auth2_methods_valid(const char *_methods, int need_enable) -{ - char *methods, *omethods, *method, *p; - u_int i, found; - int ret = -1; - - if (*_methods == '\0') { - error("empty authentication method list"); - return -1; - } - omethods = methods = xstrdup(_methods); - while ((method = strsep(&methods, ",")) != NULL) { - for (found = i = 0; !found && authmethods[i] != NULL; i++) { - if ((p = strchr(method, ':')) != NULL) - *p = '\0'; - if (strcmp(method, authmethods[i]->name) != 0) - continue; - if (need_enable) { - if (authmethods[i]->enabled == NULL || - *(authmethods[i]->enabled) == 0) { - error("Disabled method \"%s\" in " - "AuthenticationMethods list \"%s\"", - method, _methods); - goto out; - } - } - found = 1; - break; - } - if (!found) { - error("Unknown authentication method \"%s\" in list", - method); - goto out; - } - } - ret = 0; - out: - free(omethods); - return ret; -} - /* * Prune the AuthenticationMethods supplied in the configuration, removing * any methods lists that include disabled methods. Note that this might diff --git a/channels.c b/channels.c index ece8d30d614b..3ee694717e5b 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.437 2024/03/06 02:59:59 djm Exp $ */ +/* $OpenBSD: channels.c,v 1.438 2024/05/17 00:30:23 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -93,13 +93,6 @@ /* -- agent forwarding */ #define NUM_SOCKS 10 -/* -- tcp forwarding */ -/* special-case port number meaning allow any port */ -#define FWD_PERMIT_ANY_PORT 0 - -/* special-case wildcard meaning allow any host */ -#define FWD_PERMIT_ANY_HOST "*" - /* -- X11 forwarding */ /* Maximum number of fake X11 displays to try. */ #define MAX_DISPLAYS 1000 @@ -4579,19 +4572,6 @@ channel_update_permission(struct ssh *ssh, int idx, int newport) } } -/* returns port number, FWD_PERMIT_ANY_PORT or -1 on error */ -int -permitopen_port(const char *p) -{ - int port; - - if (strcmp(p, "*") == 0) - return FWD_PERMIT_ANY_PORT; - if ((port = a2port(p)) > 0) - return port; - return -1; -} - /* Try to start non-blocking connect to next host in cctx list */ static int connect_next(struct channel_connect *cctx) diff --git a/kex.c b/kex.c index 8a0f165135fd..63aae5d71eee 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.185 2024/01/08 00:34:33 djm Exp $ */ +/* $OpenBSD: kex.c,v 1.186 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -81,254 +81,6 @@ static const char * const proposal_names[PROPOSAL_MAX] = { "languages stoc", }; -struct kexalg { - char *name; - u_int type; - int ec_nid; - int hash_alg; -}; -static const struct kexalg kexalgs[] = { -#ifdef WITH_OPENSSL - { KEX_DH1, KEX_DH_GRP1_SHA1, 0, SSH_DIGEST_SHA1 }, - { KEX_DH14_SHA1, KEX_DH_GRP14_SHA1, 0, SSH_DIGEST_SHA1 }, - { KEX_DH14_SHA256, KEX_DH_GRP14_SHA256, 0, SSH_DIGEST_SHA256 }, - { KEX_DH16_SHA512, KEX_DH_GRP16_SHA512, 0, SSH_DIGEST_SHA512 }, - { KEX_DH18_SHA512, KEX_DH_GRP18_SHA512, 0, SSH_DIGEST_SHA512 }, - { KEX_DHGEX_SHA1, KEX_DH_GEX_SHA1, 0, SSH_DIGEST_SHA1 }, -#ifdef HAVE_EVP_SHA256 - { KEX_DHGEX_SHA256, KEX_DH_GEX_SHA256, 0, SSH_DIGEST_SHA256 }, -#endif /* HAVE_EVP_SHA256 */ -#ifdef OPENSSL_HAS_ECC - { KEX_ECDH_SHA2_NISTP256, KEX_ECDH_SHA2, - NID_X9_62_prime256v1, SSH_DIGEST_SHA256 }, - { KEX_ECDH_SHA2_NISTP384, KEX_ECDH_SHA2, NID_secp384r1, - SSH_DIGEST_SHA384 }, -# ifdef OPENSSL_HAS_NISTP521 - { KEX_ECDH_SHA2_NISTP521, KEX_ECDH_SHA2, NID_secp521r1, - SSH_DIGEST_SHA512 }, -# endif /* OPENSSL_HAS_NISTP521 */ -#endif /* OPENSSL_HAS_ECC */ -#endif /* WITH_OPENSSL */ -#if defined(HAVE_EVP_SHA256) || !defined(WITH_OPENSSL) - { KEX_CURVE25519_SHA256, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, - { KEX_CURVE25519_SHA256_OLD, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, -#ifdef USE_SNTRUP761X25519 - { KEX_SNTRUP761X25519_SHA512, KEX_KEM_SNTRUP761X25519_SHA512, 0, - SSH_DIGEST_SHA512 }, -#endif -#endif /* HAVE_EVP_SHA256 || !WITH_OPENSSL */ - { NULL, 0, -1, -1}, -}; - -char * -kex_alg_list(char sep) -{ - char *ret = NULL, *tmp; - size_t nlen, rlen = 0; - const struct kexalg *k; - - for (k = kexalgs; k->name != NULL; k++) { - if (ret != NULL) - ret[rlen++] = sep; - nlen = strlen(k->name); - if ((tmp = realloc(ret, rlen + nlen + 2)) == NULL) { - free(ret); - return NULL; - } - ret = tmp; - memcpy(ret + rlen, k->name, nlen + 1); - rlen += nlen; - } - return ret; -} - -static const struct kexalg * -kex_alg_by_name(const char *name) -{ - const struct kexalg *k; - - for (k = kexalgs; k->name != NULL; k++) { - if (strcmp(k->name, name) == 0) - return k; - } - return NULL; -} - -/* Validate KEX method name list */ -int -kex_names_valid(const char *names) -{ - char *s, *cp, *p; - - if (names == NULL || strcmp(names, "") == 0) - return 0; - if ((s = cp = strdup(names)) == NULL) - return 0; - for ((p = strsep(&cp, ",")); p && *p != '\0'; - (p = strsep(&cp, ","))) { - if (kex_alg_by_name(p) == NULL) { - error("Unsupported KEX algorithm \"%.100s\"", p); - free(s); - return 0; - } - } - debug3("kex names ok: [%s]", names); - free(s); - return 1; -} - -/* returns non-zero if proposal contains any algorithm from algs */ -static int -has_any_alg(const char *proposal, const char *algs) -{ - char *cp; - - if ((cp = match_list(proposal, algs, NULL)) == NULL) - return 0; - free(cp); - return 1; -} - -/* - * Concatenate algorithm names, avoiding duplicates in the process. - * Caller must free returned string. - */ -char * -kex_names_cat(const char *a, const char *b) -{ - char *ret = NULL, *tmp = NULL, *cp, *p; - size_t len; - - if (a == NULL || *a == '\0') - return strdup(b); - if (b == NULL || *b == '\0') - return strdup(a); - if (strlen(b) > 1024*1024) - return NULL; - len = strlen(a) + strlen(b) + 2; - if ((tmp = cp = strdup(b)) == NULL || - (ret = calloc(1, len)) == NULL) { - free(tmp); - return NULL; - } - strlcpy(ret, a, len); - for ((p = strsep(&cp, ",")); p && *p != '\0'; (p = strsep(&cp, ","))) { - if (has_any_alg(ret, p)) - continue; /* Algorithm already present */ - if (strlcat(ret, ",", len) >= len || - strlcat(ret, p, len) >= len) { - free(tmp); - free(ret); - return NULL; /* Shouldn't happen */ - } - } - free(tmp); - return ret; -} - -/* - * Assemble a list of algorithms from a default list and a string from a - * configuration file. The user-provided string may begin with '+' to - * indicate that it should be appended to the default, '-' that the - * specified names should be removed, or '^' that they should be placed - * at the head. - */ -int -kex_assemble_names(char **listp, const char *def, const char *all) -{ - char *cp, *tmp, *patterns; - char *list = NULL, *ret = NULL, *matching = NULL, *opatterns = NULL; - int r = SSH_ERR_INTERNAL_ERROR; - - if (listp == NULL || def == NULL || all == NULL) - return SSH_ERR_INVALID_ARGUMENT; - - if (*listp == NULL || **listp == '\0') { - if ((*listp = strdup(def)) == NULL) - return SSH_ERR_ALLOC_FAIL; - return 0; - } - - list = *listp; - *listp = NULL; - if (*list == '+') { - /* Append names to default list */ - if ((tmp = kex_names_cat(def, list + 1)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto fail; - } - free(list); - list = tmp; - } else if (*list == '-') { - /* Remove names from default list */ - if ((*listp = match_filter_denylist(def, list + 1)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto fail; - } - free(list); - /* filtering has already been done */ - return 0; - } else if (*list == '^') { - /* Place names at head of default list */ - if ((tmp = kex_names_cat(list + 1, def)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto fail; - } - free(list); - list = tmp; - } else { - /* Explicit list, overrides default - just use "list" as is */ - } - - /* - * The supplied names may be a pattern-list. For the -list case, - * the patterns are applied above. For the +list and explicit list - * cases we need to do it now. - */ - ret = NULL; - if ((patterns = opatterns = strdup(list)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto fail; - } - /* Apply positive (i.e. non-negated) patterns from the list */ - while ((cp = strsep(&patterns, ",")) != NULL) { - if (*cp == '!') { - /* negated matches are not supported here */ - r = SSH_ERR_INVALID_ARGUMENT; - goto fail; - } - free(matching); - if ((matching = match_filter_allowlist(all, cp)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto fail; - } - if ((tmp = kex_names_cat(ret, matching)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto fail; - } - free(ret); - ret = tmp; - } - if (ret == NULL || *ret == '\0') { - /* An empty name-list is an error */ - /* XXX better error code? */ - r = SSH_ERR_INVALID_ARGUMENT; - goto fail; - } - - /* success */ - *listp = ret; - ret = NULL; - r = 0; - - fail: - free(matching); - free(opatterns); - free(list); - free(ret); - return r; -} - /* * Fill out a proposal array with dynamically allocated values, which may * be modified as required for compatibility reasons. @@ -527,11 +279,11 @@ kex_set_server_sig_algs(struct ssh *ssh, const char *allowed_algs) (alg = strsep(&algs, ","))) { if ((sigalg = sshkey_sigalg_by_name(alg)) == NULL) continue; - if (!has_any_alg(sigalg, sigalgs)) + if (!kex_has_any_alg(sigalg, sigalgs)) continue; /* Don't add an algorithm twice. */ if (ssh->kex->server_sig_algs != NULL && - has_any_alg(sigalg, ssh->kex->server_sig_algs)) + kex_has_any_alg(sigalg, ssh->kex->server_sig_algs)) continue; xextendf(&ssh->kex->server_sig_algs, ",", "%s", sigalg); } @@ -1108,20 +860,18 @@ choose_comp(struct sshcomp *comp, char *client, char *server) static int choose_kex(struct kex *k, char *client, char *server) { - const struct kexalg *kexalg; - k->name = match_list(client, server, NULL); debug("kex: algorithm: %s", k->name ? k->name : "(no match)"); if (k->name == NULL) return SSH_ERR_NO_KEX_ALG_MATCH; - if ((kexalg = kex_alg_by_name(k->name)) == NULL) { + if (!kex_name_valid(k->name)) { error_f("unsupported KEX method %s", k->name); return SSH_ERR_INTERNAL_ERROR; } - k->kex_type = kexalg->type; - k->hash_alg = kexalg->hash_alg; - k->ec_nid = kexalg->ec_nid; + k->kex_type = kex_type_from_name(k->name); + k->hash_alg = kex_hash_from_name(k->name); + k->ec_nid = kex_nid_from_name(k->name); return 0; } @@ -1171,7 +921,7 @@ proposals_match(char *my[PROPOSAL_MAX], char *peer[PROPOSAL_MAX]) static int kexalgs_contains(char **peer, const char *ext) { - return has_any_alg(peer[PROPOSAL_KEX_ALGS], ext); + return kex_has_any_alg(peer[PROPOSAL_KEX_ALGS], ext); } static int @@ -1222,10 +972,10 @@ kex_choose_conf(struct ssh *ssh, uint32_t seq) /* Check whether client supports rsa-sha2 algorithms */ if (kex->server && (kex->flags & KEX_INITIAL)) { - if (has_any_alg(peer[PROPOSAL_SERVER_HOST_KEY_ALGS], + if (kex_has_any_alg(peer[PROPOSAL_SERVER_HOST_KEY_ALGS], "rsa-sha2-256,rsa-sha2-256-cert-v01@openssh.com")) kex->flags |= KEX_RSA_SHA2_256_SUPPORTED; - if (has_any_alg(peer[PROPOSAL_SERVER_HOST_KEY_ALGS], + if (kex_has_any_alg(peer[PROPOSAL_SERVER_HOST_KEY_ALGS], "rsa-sha2-512,rsa-sha2-512-cert-v01@openssh.com")) kex->flags |= KEX_RSA_SHA2_512_SUPPORTED; } diff --git a/kex.h b/kex.h index 0caf42b501f3..34665eb20ce2 100644 --- a/kex.h +++ b/kex.h @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.h,v 1.122 2024/02/02 00:13:34 djm Exp $ */ +/* $OpenBSD: kex.h,v 1.123 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. @@ -92,7 +92,7 @@ enum kex_modes { }; enum kex_exchange { - KEX_DH_GRP1_SHA1, + KEX_DH_GRP1_SHA1 = 1, KEX_DH_GRP14_SHA1, KEX_DH_GRP14_SHA256, KEX_DH_GRP16_SHA512, @@ -183,9 +183,14 @@ struct kex { struct sshbuf *client_pub; }; +int kex_name_valid(const char *); +u_int kex_type_from_name(const char *); +int kex_hash_from_name(const char *); +int kex_nid_from_name(const char *); int kex_names_valid(const char *); char *kex_alg_list(char); char *kex_names_cat(const char *, const char *); +int kex_has_any_alg(const char *, const char *); int kex_assemble_names(char **, const char *, const char *); void kex_proposal_populate_entries(struct ssh *, char *prop[PROPOSAL_MAX], const char *, const char *, const char *, const char *, const char *); diff --git a/kexgexs.c b/kexgexs.c index 5f025cccf331..100be0316d5a 100644 --- a/kexgexs.c +++ b/kexgexs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kexgexs.c,v 1.46 2023/03/29 01:07:48 dtucker Exp $ */ +/* $OpenBSD: kexgexs.c,v 1.47 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Niels Provos. All rights reserved. * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -98,7 +98,7 @@ input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh) } /* Contact privileged parent */ - kex->dh = PRIVSEP(choose_dh(min, nbits, max)); + kex->dh = mm_choose_dh(min, nbits, max); if (kex->dh == NULL) { (void)sshpkt_disconnect(ssh, "no matching DH grp found"); r = SSH_ERR_ALLOC_FAIL; diff --git a/misc.c b/misc.c index 7a42d4981806..133ac0ece39e 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.193 2024/04/02 10:02:08 deraadt Exp $ */ +/* $OpenBSD: misc.c,v 1.194 2024/05/17 00:30:23 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -2004,6 +2004,19 @@ forward_equals(const struct Forward *a, const struct Forward *b) return 1; } +/* returns port number, FWD_PERMIT_ANY_PORT or -1 on error */ +int +permitopen_port(const char *p) +{ + int port; + + if (strcmp(p, "*") == 0) + return FWD_PERMIT_ANY_PORT; + if ((port = a2port(p)) > 0) + return port; + return -1; +} + /* returns 1 if process is already daemonized, 0 otherwise */ int daemonized(void) diff --git a/misc.h b/misc.h index 9bacce5203de..277db196a18d 100644 --- a/misc.h +++ b/misc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.h,v 1.107 2024/03/04 02:16:11 djm Exp $ */ +/* $OpenBSD: misc.h,v 1.108 2024/05/17 00:30:24 djm Exp $ */ /* * Author: Tatu Ylonen @@ -21,6 +21,12 @@ #include #include +/* special-case port number meaning allow any port */ +#define FWD_PERMIT_ANY_PORT 0 + +/* special-case wildcard meaning allow any host */ +#define FWD_PERMIT_ANY_HOST "*" + /* Data structure for representing a forwarding request. */ struct Forward { char *listen_host; /* Host (address) to listen on. */ @@ -34,6 +40,8 @@ struct Forward { }; int forward_equals(const struct Forward *, const struct Forward *); +int permitopen_port(const char *p); + int daemonized(void); /* Common server and client forwarding options. */ diff --git a/monitor.c b/monitor.c index b3ed515ed0ba..77ea40479566 100644 --- a/monitor.c +++ b/monitor.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.c,v 1.237 2023/08/16 16:14:11 djm Exp $ */ +/* $OpenBSD: monitor.c,v 1.238 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -707,13 +707,39 @@ mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m) fatal_fr(r, "assemble %s", #id); \ } while (0) +void +mm_encode_server_options(struct sshbuf *m) +{ + int r; + u_int i; + + /* XXX this leaks raw pointers to the unpriv child processes */ + if ((r = sshbuf_put_string(m, &options, sizeof(options))) != 0) + fatal_fr(r, "assemble options"); + +#define M_CP_STROPT(x) do { \ + if (options.x != NULL && \ + (r = sshbuf_put_cstring(m, options.x)) != 0) \ + fatal_fr(r, "assemble %s", #x); \ + } while (0) +#define M_CP_STRARRAYOPT(x, nx) do { \ + for (i = 0; i < options.nx; i++) { \ + if ((r = sshbuf_put_cstring(m, options.x[i])) != 0) \ + fatal_fr(r, "assemble %s", #x); \ + } \ + } while (0) + /* See comment in servconf.h */ + COPY_MATCH_STRING_OPTS(); +#undef M_CP_STROPT +#undef M_CP_STRARRAYOPT +} + /* Retrieves the password entry and also checks if the user is permitted */ int mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m) { struct passwd *pwent; int r, allowed = 0; - u_int i; debug3_f("entering"); @@ -766,24 +792,9 @@ mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m) out: ssh_packet_set_log_preamble(ssh, "%suser %s", authctxt->valid ? "authenticating" : "invalid ", authctxt->user); - if ((r = sshbuf_put_string(m, &options, sizeof(options))) != 0) - fatal_fr(r, "assemble options"); -#define M_CP_STROPT(x) do { \ - if (options.x != NULL && \ - (r = sshbuf_put_cstring(m, options.x)) != 0) \ - fatal_fr(r, "assemble %s", #x); \ - } while (0) -#define M_CP_STRARRAYOPT(x, nx) do { \ - for (i = 0; i < options.nx; i++) { \ - if ((r = sshbuf_put_cstring(m, options.x[i])) != 0) \ - fatal_fr(r, "assemble %s", #x); \ - } \ - } while (0) - /* See comment in servconf.h */ - COPY_MATCH_STRING_OPTS(); -#undef M_CP_STROPT -#undef M_CP_STRARRAYOPT + /* Send active options to unpriv */ + mm_encode_server_options(m); /* Create valid auth method lists */ if (auth2_setup_methods_lists(authctxt) != 0) { diff --git a/monitor.h b/monitor.h index 683e5e07163e..fa48fc69be6c 100644 --- a/monitor.h +++ b/monitor.h @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.h,v 1.23 2019/01/19 21:43:56 djm Exp $ */ +/* $OpenBSD: monitor.h,v 1.24 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright 2002 Niels Provos @@ -66,6 +66,7 @@ enum monitor_reqtype { }; struct ssh; +struct sshbuf; struct monitor { int m_recvfd; @@ -92,4 +93,7 @@ void mm_request_receive(int, struct sshbuf *); void mm_request_receive_expect(int, enum monitor_reqtype, struct sshbuf *); void mm_get_keystate(struct ssh *, struct monitor *); +/* XXX: should be returned via a monitor call rather than config_fd */ +void mm_encode_server_options(struct sshbuf *); + #endif /* _MONITOR_H_ */ diff --git a/monitor_wrap.c b/monitor_wrap.c index 6270d1398f53..7807895c2346 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.129 2023/12/18 14:45:49 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.130 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -65,7 +65,6 @@ #ifdef GSSAPI #include "ssh-gss.h" #endif -#include "monitor_wrap.h" #include "atomicio.h" #include "monitor_fdpass.h" #include "misc.h" @@ -73,6 +72,7 @@ #include "channels.h" #include "session.h" #include "servconf.h" +#include "monitor_wrap.h" #include "ssherr.h" @@ -147,8 +147,10 @@ mm_request_receive(int sock, struct sshbuf *m) debug3_f("entering"); if (atomicio(read, sock, buf, sizeof(buf)) != sizeof(buf)) { - if (errno == EPIPE) + if (errno == EPIPE) { + debug3_f("monitor fd closed"); cleanup_exit(255); + } fatal_f("read: %s", strerror(errno)); } msg_len = PEEK_U32(buf); @@ -243,6 +245,49 @@ mm_sshkey_sign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp, return (0); } +void +mm_decode_activate_server_options(struct ssh *ssh, struct sshbuf *m) +{ + const u_char *p; + size_t len; + u_int i; + ServerOptions *newopts; + int r; + + if ((r = sshbuf_get_string_direct(m, &p, &len)) != 0) + fatal_fr(r, "parse opts"); + if (len != sizeof(*newopts)) + fatal_f("option block size mismatch"); + newopts = xcalloc(sizeof(*newopts), 1); + memcpy(newopts, p, sizeof(*newopts)); + +#define M_CP_STROPT(x) do { \ + if (newopts->x != NULL && \ + (r = sshbuf_get_cstring(m, &newopts->x, NULL)) != 0) \ + fatal_fr(r, "parse %s", #x); \ + } while (0) +#define M_CP_STRARRAYOPT(x, nx) do { \ + newopts->x = newopts->nx == 0 ? \ + NULL : xcalloc(newopts->nx, sizeof(*newopts->x)); \ + for (i = 0; i < newopts->nx; i++) { \ + if ((r = sshbuf_get_cstring(m, \ + &newopts->x[i], NULL)) != 0) \ + fatal_fr(r, "parse %s", #x); \ + } \ + } while (0) + /* See comment in servconf.h */ + COPY_MATCH_STRING_OPTS(); +#undef M_CP_STROPT +#undef M_CP_STRARRAYOPT + + copy_set_server_options(&options, newopts, 1); + log_change_level(options.log_level); + log_verbose_reset(); + for (i = 0; i < options.num_log_verbose; i++) + log_verbose_add(options.log_verbose[i]); + free(newopts); +} + #define GETPW(b, id) \ do { \ if ((r = sshbuf_get_string_direct(b, &p, &len)) != 0) \ @@ -258,8 +303,6 @@ mm_getpwnamallow(struct ssh *ssh, const char *username) struct sshbuf *m; struct passwd *pw; size_t len; - u_int i; - ServerOptions *newopts; int r; u_char ok; const u_char *p; @@ -307,41 +350,10 @@ mm_getpwnamallow(struct ssh *ssh, const char *username) out: /* copy options block as a Match directive may have changed some */ - if ((r = sshbuf_get_string_direct(m, &p, &len)) != 0) - fatal_fr(r, "parse opts"); - if (len != sizeof(*newopts)) - fatal_f("option block size mismatch"); - newopts = xcalloc(sizeof(*newopts), 1); - memcpy(newopts, p, sizeof(*newopts)); - -#define M_CP_STROPT(x) do { \ - if (newopts->x != NULL && \ - (r = sshbuf_get_cstring(m, &newopts->x, NULL)) != 0) \ - fatal_fr(r, "parse %s", #x); \ - } while (0) -#define M_CP_STRARRAYOPT(x, nx) do { \ - newopts->x = newopts->nx == 0 ? \ - NULL : xcalloc(newopts->nx, sizeof(*newopts->x)); \ - for (i = 0; i < newopts->nx; i++) { \ - if ((r = sshbuf_get_cstring(m, \ - &newopts->x[i], NULL)) != 0) \ - fatal_fr(r, "parse %s", #x); \ - } \ - } while (0) - /* See comment in servconf.h */ - COPY_MATCH_STRING_OPTS(); -#undef M_CP_STROPT -#undef M_CP_STRARRAYOPT - - copy_set_server_options(&options, newopts, 1); - log_change_level(options.log_level); - log_verbose_reset(); - for (i = 0; i < options.num_log_verbose; i++) - log_verbose_add(options.log_verbose[i]); - process_permitopen(ssh, &options); - process_channel_timeouts(ssh, &options); + mm_decode_activate_server_options(ssh, m); + server_process_permitopen(ssh); + server_process_channel_timeouts(ssh); kex_set_server_sig_algs(ssh, options.pubkey_accepted_algos); - free(newopts); sshbuf_free(m); return (pw); @@ -1018,3 +1030,91 @@ mm_ssh_gssapi_userok(char *user) return (authenticated); } #endif /* GSSAPI */ + +/* + * Inform channels layer of permitopen options for a single forwarding + * direction (local/remote). + */ +static void +server_process_permitopen_list(struct ssh *ssh, int listen, + char **opens, u_int num_opens) +{ + u_int i; + int port; + char *host, *arg, *oarg; + int where = listen ? FORWARD_REMOTE : FORWARD_LOCAL; + const char *what = listen ? "permitlisten" : "permitopen"; + + channel_clear_permission(ssh, FORWARD_ADM, where); + if (num_opens == 0) + return; /* permit any */ + + /* handle keywords: "any" / "none" */ + if (num_opens == 1 && strcmp(opens[0], "any") == 0) + return; + if (num_opens == 1 && strcmp(opens[0], "none") == 0) { + channel_disable_admin(ssh, where); + return; + } + /* Otherwise treat it as a list of permitted host:port */ + for (i = 0; i < num_opens; i++) { + oarg = arg = xstrdup(opens[i]); + host = hpdelim(&arg); + if (host == NULL) + fatal_f("missing host in %s", what); + host = cleanhostname(host); + if (arg == NULL || ((port = permitopen_port(arg)) < 0)) + fatal_f("bad port number in %s", what); + /* Send it to channels layer */ + channel_add_permission(ssh, FORWARD_ADM, + where, host, port); + free(oarg); + } +} + +/* + * Inform channels layer of permitopen options from configuration. + */ +void +server_process_permitopen(struct ssh *ssh) +{ + server_process_permitopen_list(ssh, 0, + options.permitted_opens, options.num_permitted_opens); + server_process_permitopen_list(ssh, 1, + options.permitted_listens, options.num_permitted_listens); +} + +void +server_process_channel_timeouts(struct ssh *ssh) +{ + u_int i, secs; + char *type; + + debug3_f("setting %u timeouts", options.num_channel_timeouts); + channel_clear_timeouts(ssh); + for (i = 0; i < options.num_channel_timeouts; i++) { + if (parse_pattern_interval(options.channel_timeouts[i], + &type, &secs) != 0) { + fatal_f("internal error: bad timeout %s", + options.channel_timeouts[i]); + } + channel_add_timeout(ssh, type, secs); + free(type); + } +} + +struct connection_info * +server_get_connection_info(struct ssh *ssh, int populate, int use_dns) +{ + static struct connection_info ci; + + if (ssh == NULL || !populate) + return &ci; + ci.host = use_dns ? ssh_remote_hostname(ssh) : ssh_remote_ipaddr(ssh); + ci.address = ssh_remote_ipaddr(ssh); + ci.laddress = ssh_local_ipaddr(ssh); + ci.lport = ssh_local_port(ssh); + ci.rdomain = ssh_packet_rdomain_in(ssh); + return &ci; +} + diff --git a/monitor_wrap.h b/monitor_wrap.h index 0df49c25be11..527eaf158f99 100644 --- a/monitor_wrap.h +++ b/monitor_wrap.h @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.h,v 1.49 2022/06/15 16:08:25 djm Exp $ */ +/* $OpenBSD: monitor_wrap.h,v 1.50 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright 2002 Niels Provos @@ -28,9 +28,6 @@ #ifndef _MM_WRAP_H_ #define _MM_WRAP_H_ -extern int use_privsep; -#define PRIVSEP(x) (use_privsep ? mm_##x : x) - enum mm_keytype { MM_NOKEY, MM_HOSTKEY, MM_USERKEY }; struct ssh; @@ -61,6 +58,8 @@ int mm_hostbased_key_allowed(struct ssh *, struct passwd *, const char *, int mm_sshkey_verify(const struct sshkey *, const u_char *, size_t, const u_char *, size_t, const char *, u_int, struct sshkey_sig_details **); +void mm_decode_activate_server_options(struct ssh *ssh, struct sshbuf *m); + #ifdef GSSAPI OM_uint32 mm_ssh_gssapi_server_ctx(Gssctxt **, gss_OID); OM_uint32 mm_ssh_gssapi_accept_ctx(Gssctxt *, @@ -99,4 +98,10 @@ void mm_send_keystate(struct ssh *, struct monitor*); int mm_bsdauth_query(void *, char **, char **, u_int *, char ***, u_int **); int mm_bsdauth_respond(void *, u_int, char **); +/* config / channels glue */ +void server_process_permitopen(struct ssh *); +void server_process_channel_timeouts(struct ssh *ssh); +struct connection_info * + server_get_connection_info(struct ssh *, int, int); + #endif /* _MM_WRAP_H_ */ diff --git a/msg.c b/msg.c index d22c4e477d1c..a03caeb6ff3e 100644 --- a/msg.c +++ b/msg.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msg.c,v 1.20 2020/10/18 11:32:01 djm Exp $ */ +/* $OpenBSD: msg.c,v 1.21 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright (c) 2002 Markus Friedl. All rights reserved. * @@ -47,7 +47,7 @@ ssh_msg_send(int fd, u_char type, struct sshbuf *m) u_char buf[5]; u_int mlen = sshbuf_len(m); - debug3_f("type %u", (unsigned int)type & 0xff); + debug3_f("type %u len %zu", (unsigned int)type & 0xff, sshbuf_len(m)); put_u32(buf, mlen + 1); buf[4] = type; /* 1st byte of payload is mesg-type */ @@ -59,6 +59,7 @@ ssh_msg_send(int fd, u_char type, struct sshbuf *m) error_f("write: %s", strerror(errno)); return (-1); } + debug3_f("done"); return (0); } diff --git a/packet.c b/packet.c index beb214f99be0..b88363988f04 100644 --- a/packet.c +++ b/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.313 2023/12/18 14:45:17 djm Exp $ */ +/* $OpenBSD: packet.c,v 1.314 2024/05/17 00:30:24 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -534,6 +534,98 @@ ssh_remote_ipaddr(struct ssh *ssh) return ssh->remote_ipaddr; } +/* + * Returns the remote DNS hostname as a string. The returned string must not + * be freed. NB. this will usually trigger a DNS query. Return value is on + * heap and no caching is performed. + * This function does additional checks on the hostname to mitigate some + * attacks on based on conflation of hostnames and addresses and will + * fall back to returning an address on error. + */ + +char * +ssh_remote_hostname(struct ssh *ssh) +{ + struct sockaddr_storage from; + socklen_t fromlen; + struct addrinfo hints, *ai, *aitop; + char name[NI_MAXHOST], ntop2[NI_MAXHOST]; + const char *ntop = ssh_remote_ipaddr(ssh); + + /* Get IP address of client. */ + fromlen = sizeof(from); + memset(&from, 0, sizeof(from)); + if (getpeername(ssh_packet_get_connection_in(ssh), + (struct sockaddr *)&from, &fromlen) == -1) { + debug_f("getpeername failed: %.100s", strerror(errno)); + return xstrdup(ntop); + } + + ipv64_normalise_mapped(&from, &fromlen); + if (from.ss_family == AF_INET6) + fromlen = sizeof(struct sockaddr_in6); + + debug3("trying to reverse map address %.100s.", ntop); + /* Map the IP address to a host name. */ + if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), + NULL, 0, NI_NAMEREQD) != 0) { + /* Host name not found. Use ip address. */ + return xstrdup(ntop); + } + + /* + * if reverse lookup result looks like a numeric hostname, + * someone is trying to trick us by PTR record like following: + * 1.1.1.10.in-addr.arpa. IN PTR 2.3.4.5 + */ + memset(&hints, 0, sizeof(hints)); + hints.ai_socktype = SOCK_DGRAM; /*dummy*/ + hints.ai_flags = AI_NUMERICHOST; + if (getaddrinfo(name, NULL, &hints, &ai) == 0) { + logit("Nasty PTR record \"%s\" is set up for %s, ignoring", + name, ntop); + freeaddrinfo(ai); + return xstrdup(ntop); + } + + /* Names are stored in lowercase. */ + lowercase(name); + + /* + * Map it back to an IP address and check that the given + * address actually is an address of this host. This is + * necessary because anyone with access to a name server can + * define arbitrary names for an IP address. Mapping from + * name to IP address can be trusted better (but can still be + * fooled if the intruder has access to the name server of + * the domain). + */ + memset(&hints, 0, sizeof(hints)); + hints.ai_family = from.ss_family; + hints.ai_socktype = SOCK_STREAM; + if (getaddrinfo(name, NULL, &hints, &aitop) != 0) { + logit("reverse mapping checking getaddrinfo for %.700s " + "[%s] failed.", name, ntop); + return xstrdup(ntop); + } + /* Look for the address from the list of addresses. */ + for (ai = aitop; ai; ai = ai->ai_next) { + if (getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop2, + sizeof(ntop2), NULL, 0, NI_NUMERICHOST) == 0 && + (strcmp(ntop, ntop2) == 0)) + break; + } + freeaddrinfo(aitop); + /* If we reached the end of the list, the address was not there. */ + if (ai == NULL) { + /* Address not found for the host name. */ + logit("Address %.100s maps to %.600s, but this does not " + "map back to the address.", ntop, name); + return xstrdup(ntop); + } + return xstrdup(name); +} + /* Returns the port number of the remote host. */ int diff --git a/packet.h b/packet.h index b2bc3215ddbc..ff4c8361cfa5 100644 --- a/packet.h +++ b/packet.h @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.h,v 1.96 2023/12/18 14:45:17 djm Exp $ */ +/* $OpenBSD: packet.h,v 1.97 2024/05/17 00:30:24 djm Exp $ */ /* * Author: Tatu Ylonen @@ -165,6 +165,7 @@ int ssh_remote_port(struct ssh *); const char *ssh_local_ipaddr(struct ssh *); int ssh_local_port(struct ssh *); const char *ssh_packet_rdomain_in(struct ssh *); +char *ssh_remote_hostname(struct ssh *); void ssh_packet_set_rekey_limits(struct ssh *, u_int64_t, u_int32_t); time_t ssh_packet_get_rekey_timeout(struct ssh *); diff --git a/pathnames.h b/pathnames.h index f7ca5a75a0d2..61c5f8467094 100644 --- a/pathnames.h +++ b/pathnames.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pathnames.h,v 1.31 2019/11/12 19:33:08 markus Exp $ */ +/* $OpenBSD: pathnames.h,v 1.32 2024/05/17 00:30:24 djm Exp $ */ /* * Author: Tatu Ylonen @@ -47,6 +47,11 @@ #define _PATH_SSH_PROGRAM "/usr/bin/ssh" #endif +/* Binary paths for the sshd components */ +#ifndef _PATH_SSHD_SESSION +#define _PATH_SSHD_SESSION "/usr/libexec/sshd-session" +#endif + /* * The process id of the daemon listening for connections is saved here to * make it easier to kill the correct daemon when necessary. diff --git a/servconf.c b/servconf.c index 4b434909ab2f..5b38bb0dce80 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.405 2024/03/04 02:16:11 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.406 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -77,8 +77,6 @@ static void parse_server_config_depth(ServerOptions *options, const char *filename, struct sshbuf *conf, struct include_list *includes, struct connection_info *connectinfo, int flags, int *activep, int depth); -/* Use of privilege separation or not */ -extern int use_privsep; extern struct sshbuf *cfg; /* Initializes the server options to their default values. */ @@ -197,6 +195,7 @@ initialize_server_options(ServerOptions *options) options->channel_timeouts = NULL; options->num_channel_timeouts = 0; options->unused_connection_timeout = -1; + options->sshd_session_path = NULL; } /* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ @@ -447,13 +446,11 @@ fill_default_server_options(ServerOptions *options) options->required_rsa_size = SSH_RSA_MINIMUM_MODULUS_SIZE; if (options->unused_connection_timeout == -1) options->unused_connection_timeout = 0; + if (options->sshd_session_path == NULL) + options->sshd_session_path = xstrdup(_PATH_SSHD_SESSION); assemble_algorithms(options); - /* Turn privilege separation and sandboxing on by default */ - if (use_privsep == -1) - use_privsep = PRIVSEP_ON; - #define CLEAR_ON_NONE(v) \ do { \ if (option_clear_or_none(v)) { \ @@ -531,6 +528,7 @@ typedef enum { sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, sRequiredRSASize, sChannelTimeout, sUnusedConnectionTimeout, + sSshdMonitorPath, sDeprecated, sIgnore, sUnsupported } ServerOpCodes; @@ -693,6 +691,7 @@ static struct { { "requiredrsasize", sRequiredRSASize, SSHCFG_ALL }, { "channeltimeout", sChannelTimeout, SSHCFG_ALL }, { "unusedconnectiontimeout", sUnusedConnectionTimeout, SSHCFG_ALL }, + { "sshdmonitorpath", sSshdMonitorPath, SSHCFG_GLOBAL }, { NULL, sBadOption, 0 } }; @@ -902,95 +901,6 @@ process_queued_listen_addrs(ServerOptions *options) options->num_queued_listens = 0; } -/* - * Inform channels layer of permitopen options for a single forwarding - * direction (local/remote). - */ -static void -process_permitopen_list(struct ssh *ssh, ServerOpCodes opcode, - char **opens, u_int num_opens) -{ - u_int i; - int port; - char *host, *arg, *oarg; - int where = opcode == sPermitOpen ? FORWARD_LOCAL : FORWARD_REMOTE; - const char *what = lookup_opcode_name(opcode); - - channel_clear_permission(ssh, FORWARD_ADM, where); - if (num_opens == 0) - return; /* permit any */ - - /* handle keywords: "any" / "none" */ - if (num_opens == 1 && strcmp(opens[0], "any") == 0) - return; - if (num_opens == 1 && strcmp(opens[0], "none") == 0) { - channel_disable_admin(ssh, where); - return; - } - /* Otherwise treat it as a list of permitted host:port */ - for (i = 0; i < num_opens; i++) { - oarg = arg = xstrdup(opens[i]); - host = hpdelim(&arg); - if (host == NULL) - fatal_f("missing host in %s", what); - host = cleanhostname(host); - if (arg == NULL || ((port = permitopen_port(arg)) < 0)) - fatal_f("bad port number in %s", what); - /* Send it to channels layer */ - channel_add_permission(ssh, FORWARD_ADM, - where, host, port); - free(oarg); - } -} - -/* - * Inform channels layer of permitopen options from configuration. - */ -void -process_permitopen(struct ssh *ssh, ServerOptions *options) -{ - process_permitopen_list(ssh, sPermitOpen, - options->permitted_opens, options->num_permitted_opens); - process_permitopen_list(ssh, sPermitListen, - options->permitted_listens, - options->num_permitted_listens); -} - -void -process_channel_timeouts(struct ssh *ssh, ServerOptions *options) -{ - int secs; - u_int i; - char *type; - - debug3_f("setting %u timeouts", options->num_channel_timeouts); - channel_clear_timeouts(ssh); - for (i = 0; i < options->num_channel_timeouts; i++) { - if (parse_pattern_interval(options->channel_timeouts[i], - &type, &secs) != 0) { - fatal_f("internal error: bad timeout %s", - options->channel_timeouts[i]); - } - channel_add_timeout(ssh, type, secs); - free(type); - } -} - -struct connection_info * -get_connection_info(struct ssh *ssh, int populate, int use_dns) -{ - static struct connection_info ci; - - if (ssh == NULL || !populate) - return &ci; - ci.host = auth_get_canonical_hostname(ssh, use_dns); - ci.address = ssh_remote_ipaddr(ssh); - ci.laddress = ssh_local_ipaddr(ssh); - ci.lport = ssh_local_port(ssh); - ci.rdomain = ssh_packet_rdomain_in(ssh); - return &ci; -} - /* * The strategy for the Match blocks is that the config file is parsed twice. * @@ -2593,6 +2503,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, } goto parse_time; + case sSshdMonitorPath: + charptr = &options->sshd_session_path; + goto parse_filename; + case sDeprecated: case sIgnore: case sUnsupported: @@ -3167,6 +3081,7 @@ dump_config(ServerOptions *o) #if defined(__OpenBSD__) || defined(HAVE_SYS_SET_PROCESS_RDOMAIN) dump_cfg_string(sRDomain, o->routing_domain); #endif + dump_cfg_string(sSshdMonitorPath, o->sshd_session_path); /* string arguments requiring a lookup */ dump_cfg_string(sLogLevel, log_level_name(o->log_level)); diff --git a/servconf.h b/servconf.h index ed7b72e8e0e3..c446081836a4 100644 --- a/servconf.h +++ b/servconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.h,v 1.160 2023/09/06 23:35:35 djm Exp $ */ +/* $OpenBSD: servconf.h,v 1.161 2024/05/17 00:30:24 djm Exp $ */ /* * Author: Tatu Ylonen @@ -27,11 +27,6 @@ #define PERMIT_NO_PASSWD 2 #define PERMIT_YES 3 -/* use_privsep */ -#define PRIVSEP_OFF 0 -#define PRIVSEP_ON 1 -#define PRIVSEP_NOSANDBOX 2 - /* PermitOpen */ #define PERMITOPEN_ANY 0 #define PERMITOPEN_NONE -2 @@ -233,6 +228,8 @@ typedef struct { u_int num_channel_timeouts; int unused_connection_timeout; + + char *sshd_session_path; } ServerOptions; /* Information about the incoming connection as used by Match */ @@ -297,18 +294,16 @@ TAILQ_HEAD(include_list, include_item); M_CP_STRARRAYOPT(subsystem_args, num_subsystems); \ } while (0) -struct connection_info *get_connection_info(struct ssh *, int, int); void initialize_server_options(ServerOptions *); void fill_default_server_options(ServerOptions *); int process_server_config_line(ServerOptions *, char *, const char *, int, int *, struct connection_info *, struct include_list *includes); -void process_permitopen(struct ssh *ssh, ServerOptions *options); -void process_channel_timeouts(struct ssh *ssh, ServerOptions *); void load_server_config(const char *, struct sshbuf *); void parse_server_config(ServerOptions *, const char *, struct sshbuf *, struct include_list *includes, struct connection_info *, int); void parse_server_match_config(ServerOptions *, struct include_list *includes, struct connection_info *); +int parse_channel_timeout(const char *, char **, u_int *); int parse_server_match_testspec(struct connection_info *, char *); int server_match_spec_complete(struct connection_info *); void servconf_merge_subsystems(ServerOptions *, ServerOptions *); diff --git a/serverloop.c b/serverloop.c index 94c8943a6168..4eabfced6f2c 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.238 2024/04/30 02:14:10 djm Exp $ */ +/* $OpenBSD: serverloop.c,v 1.239 2024/05/17 00:30:24 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -86,44 +86,23 @@ extern ServerOptions options; /* XXX */ extern Authctxt *the_authctxt; extern struct sshauthopt *auth_opts; -extern int use_privsep; static int no_more_sessions = 0; /* Disallow further sessions. */ static volatile sig_atomic_t child_terminated = 0; /* The child has terminated. */ -/* Cleanup on signals (!use_privsep case only) */ -static volatile sig_atomic_t received_sigterm = 0; - /* prototypes */ static void server_init_dispatch(struct ssh *); /* requested tunnel forwarding interface(s), shared with session.c */ char *tun_fwd_ifnames = NULL; -/* returns 1 if bind to specified port by specified user is permitted */ -static int -bind_permitted(int port, uid_t uid) -{ - if (use_privsep) - return 1; /* allow system to decide */ - if (port < IPPORT_RESERVED && uid != 0) - return 0; - return 1; -} - static void sigchld_handler(int sig) { child_terminated = 1; } -static void -sigterm_handler(int sig) -{ - received_sigterm = sig; -} - static void client_alive_check(struct ssh *ssh) { @@ -354,12 +333,6 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt) connection_in = ssh_packet_get_connection_in(ssh); connection_out = ssh_packet_get_connection_out(ssh); - if (!use_privsep) { - ssh_signal(SIGTERM, sigterm_handler); - ssh_signal(SIGINT, sigterm_handler); - ssh_signal(SIGQUIT, sigterm_handler); - } - server_init_dispatch(ssh); for (;;) { @@ -383,12 +356,6 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt) if (sigprocmask(SIG_SETMASK, &osigset, NULL) == -1) error_f("osigset sigprocmask: %s", strerror(errno)); - if (received_sigterm) { - logit("Exiting on signal %d", (int)received_sigterm); - /* Clean up sessions, utmp, etc. */ - cleanup_exit(255); - } - channel_after_poll(ssh, pfd, npfd_active); if (conn_in_ready && process_input(ssh, connection_in) < 0) @@ -498,7 +465,7 @@ server_request_direct_streamlocal(struct ssh *ssh) /* XXX fine grained permissions */ if ((options.allow_streamlocal_forwarding & FORWARD_LOCAL) != 0 && auth_opts->permit_port_forwarding_flag && - !options.disable_forwarding && (pw->pw_uid == 0 || use_privsep)) { + !options.disable_forwarding) { c = channel_connect_to_path(ssh, target, "direct-streamlocal@openssh.com", "direct-streamlocal"); } else { @@ -792,9 +759,7 @@ server_input_global_request(int type, u_int32_t seq, struct ssh *ssh) (options.allow_tcp_forwarding & FORWARD_REMOTE) == 0 || !auth_opts->permit_port_forwarding_flag || options.disable_forwarding || - (!want_reply && fwd.listen_port == 0) || - (fwd.listen_port != 0 && - !bind_permitted(fwd.listen_port, pw->pw_uid))) { + (!want_reply && fwd.listen_port == 0)) { success = 0; ssh_packet_send_debug(ssh, "Server has disabled port forwarding."); } else { @@ -827,8 +792,7 @@ server_input_global_request(int type, u_int32_t seq, struct ssh *ssh) /* check permissions */ if ((options.allow_streamlocal_forwarding & FORWARD_REMOTE) == 0 || !auth_opts->permit_port_forwarding_flag || - options.disable_forwarding || - (pw->pw_uid != 0 && !use_privsep)) { + options.disable_forwarding) { success = 0; ssh_packet_send_debug(ssh, "Server has disabled " "streamlocal forwarding."); diff --git a/session.c b/session.c index c821dcd4462d..c998e038c2b7 100644 --- a/session.c +++ b/session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.337 2024/02/01 02:37:33 djm Exp $ */ +/* $OpenBSD: session.c,v 1.338 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -738,8 +738,6 @@ do_login(struct ssh *ssh, Session *s, const char *command) { socklen_t fromlen; struct sockaddr_storage from; - struct passwd * pw = s->pw; - pid_t pid = getpid(); /* * Get IP address of client. If the connection is not a socket, let @@ -755,26 +753,6 @@ do_login(struct ssh *ssh, Session *s, const char *command) } } - /* Record that there was a login on that tty from the remote host. */ - if (!use_privsep) - record_login(pid, s->tty, pw->pw_name, pw->pw_uid, - session_get_remote_name_or_ip(ssh, utmp_len, - options.use_dns), - (struct sockaddr *)&from, fromlen); - -#ifdef USE_PAM - /* - * If password change is needed, do it now. - * This needs to occur before the ~/.hushlogin check. - */ - if (options.use_pam && !use_privsep && s->authctxt->force_pwchange) { - display_loginmsg(); - do_pam_chauthtok(); - s->authctxt->force_pwchange = 0; - /* XXX - signal [net] parent to enable forwardings */ - } -#endif - if (check_quietlogin(s, command)) return; @@ -1924,8 +1902,7 @@ session_pty_req(struct ssh *ssh, Session *s) /* Allocate a pty and open it. */ debug("Allocating pty."); - if (!PRIVSEP(pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, - sizeof(s->tty)))) { + if (!mm_pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, sizeof(s->tty))) { free(s->term); s->term = NULL; s->ptyfd = -1; @@ -1940,9 +1917,6 @@ session_pty_req(struct ssh *ssh, Session *s) if ((r = sshpkt_get_end(ssh)) != 0) sshpkt_fatal(ssh, r, "%s: parse packet", __func__); - if (!use_privsep) - pty_setowner(s->pw, s->tty); - /* Set window size from the packet. */ pty_change_window_size(s->ptyfd, s->row, s->col, s->xpixel, s->ypixel); @@ -2160,7 +2134,7 @@ session_signal_req(struct ssh *ssh, Session *s) signame, s->forced ? "forced-command" : "subsystem"); goto out; } - if (!use_privsep || mm_is_monitor()) { + if (mm_is_monitor()) { error_f("session signalling requires privilege separation"); goto out; } @@ -2303,7 +2277,7 @@ session_pty_cleanup2(Session *s) void session_pty_cleanup(Session *s) { - PRIVSEP(session_pty_cleanup2(s)); + mm_session_pty_cleanup2(s); } static char * @@ -2712,7 +2686,7 @@ do_cleanup(struct ssh *ssh, Authctxt *authctxt) * Cleanup ptys/utmp only if privsep is disabled, * or if running in monitor. */ - if (!use_privsep || mm_is_monitor()) + if (mm_is_monitor()) session_destroy_all(ssh, session_pty_cleanup2); } diff --git a/ssh_api.c b/ssh_api.c index fadf2f4b10d9..4dcd266fb7db 100644 --- a/ssh_api.c +++ b/ssh_api.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh_api.c,v 1.28 2024/01/09 21:39:14 djm Exp $ */ +/* $OpenBSD: ssh_api.c,v 1.29 2024/05/17 00:30:24 djm Exp $ */ /* * Copyright (c) 2012 Markus Friedl. All rights reserved. * @@ -27,6 +27,7 @@ #include "log.h" #include "authfile.h" #include "sshkey.h" +#include "dh.h" #include "misc.h" #include "ssh2.h" #include "version.h" @@ -49,10 +50,8 @@ int _ssh_host_key_sign(struct ssh *, struct sshkey *, struct sshkey *, u_char **, size_t *, const u_char *, size_t, const char *); /* - * stubs for the server side implementation of kex. - * disable privsep so our stubs will never be called. + * stubs for privsep calls in the server side implementation of kex. */ -int use_privsep = 0; int mm_sshkey_sign(struct sshkey *, u_char **, u_int *, const u_char *, u_int, const char *, const char *, const char *, u_int); @@ -65,14 +64,20 @@ mm_sshkey_sign(struct sshkey *key, u_char **sigp, u_int *lenp, const u_char *data, u_int datalen, const char *alg, const char *sk_provider, const char *sk_pin, u_int compat) { - return (-1); + size_t slen = 0; + int ret; + + ret = sshkey_sign(key, sigp, &slen, data, datalen, alg, + sk_provider, sk_pin, compat); + *lenp = slen; + return ret; } #ifdef WITH_OPENSSL DH * mm_choose_dh(int min, int nbits, int max) { - return (NULL); + return choose_dh(min, nbits, max); } #endif diff --git a/sshd-session.c b/sshd-session.c new file mode 100644 index 000000000000..238cbff8a236 --- /dev/null +++ b/sshd-session.c @@ -0,0 +1,1472 @@ +/* $OpenBSD: sshd-session.c,v 1.1 2024/05/17 00:30:24 djm Exp $ */ +/* + * SSH2 implementation: + * Privilege Separation: + * + * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. + * Copyright (c) 2002 Niels Provos. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "includes.h" + +#include +#include +#include +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_SYS_TIME_H +# include +#endif +#include "openbsd-compat/sys-tree.h" +#include "openbsd-compat/sys-queue.h" +#include + +#include +#include +#include +#ifdef HAVE_PATHS_H +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef WITH_OPENSSL +#include +#include +#include +#include "openbsd-compat/openssl-compat.h" +#endif + +#ifdef HAVE_SECUREWARE +#include +#include +#endif + +#include "xmalloc.h" +#include "ssh.h" +#include "ssh2.h" +#include "sshpty.h" +#include "packet.h" +#include "log.h" +#include "sshbuf.h" +#include "misc.h" +#include "match.h" +#include "servconf.h" +#include "uidswap.h" +#include "compat.h" +#include "cipher.h" +#include "digest.h" +#include "sshkey.h" +#include "kex.h" +#include "authfile.h" +#include "pathnames.h" +#include "atomicio.h" +#include "canohost.h" +#include "hostfile.h" +#include "auth.h" +#include "authfd.h" +#include "msg.h" +#include "dispatch.h" +#include "channels.h" +#include "session.h" +#include "monitor.h" +#ifdef GSSAPI +#include "ssh-gss.h" +#endif +#include "monitor_wrap.h" +#include "ssh-sandbox.h" +#include "auth-options.h" +#include "version.h" +#include "ssherr.h" +#include "sk-api.h" +#include "srclimit.h" +#include "dh.h" + +/* Re-exec fds */ +#define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1) +#define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2) +#define REEXEC_CONFIG_PASS_FD (STDERR_FILENO + 3) +#define REEXEC_MIN_FREE_FD (STDERR_FILENO + 4) + +extern char *__progname; + +/* Server configuration options. */ +ServerOptions options; + +/* Name of the server configuration file. */ +char *config_file_name = _PATH_SERVER_CONFIG_FILE; + +/* + * Debug mode flag. This can be set on the command line. If debug + * mode is enabled, extra debugging output will be sent to the system + * log, the daemon will not go to background, and will exit after processing + * the first connection. + */ +int debug_flag = 0; + +/* Flag indicating that the daemon is being started from inetd. */ +static int inetd_flag = 0; + +/* debug goes to stderr unless inetd_flag is set */ +static int log_stderr = 0; + +/* Saved arguments to main(). */ +static char **saved_argv; +static int saved_argc; + +/* Daemon's agent connection */ +int auth_sock = -1; +static int have_agent = 0; + +/* + * Any really sensitive data in the application is contained in this + * structure. The idea is that this structure could be locked into memory so + * that the pages do not get written into swap. However, there are some + * problems. The private key contains BIGNUMs, and we do not (in principle) + * have access to the internals of them, and locking just the structure is + * not very useful. Currently, memory locking is not implemented. + */ +struct { + u_int num_hostkeys; + struct sshkey **host_keys; /* all private host keys */ + struct sshkey **host_pubkeys; /* all public host keys */ + struct sshkey **host_certificates; /* all public host certificates */ +} sensitive_data; + +/* record remote hostname or ip */ +u_int utmp_len = HOST_NAME_MAX+1; + +static int startup_pipe = -1; /* in child */ + +/* variables used for privilege separation */ +struct monitor *pmonitor = NULL; +int privsep_is_preauth = 1; +static int privsep_chroot = 1; + +/* Unprivileged user */ +struct passwd *privsep_pw = NULL; + +/* global connection state and authentication contexts */ +Authctxt *the_authctxt = NULL; +struct ssh *the_active_state; + +/* global key/cert auth options. XXX move to permanent ssh->authctxt? */ +struct sshauthopt *auth_opts = NULL; + +/* sshd_config buffer */ +struct sshbuf *cfg; + +/* Included files from the configuration file */ +struct include_list includes = TAILQ_HEAD_INITIALIZER(includes); + +/* message to be displayed after login */ +struct sshbuf *loginmsg; + +/* Prototypes for various functions defined later in this file. */ +void destroy_sensitive_data(void); +void demote_sensitive_data(void); +static void do_ssh2_kex(struct ssh *); + +/* + * Signal handler for the alarm after the login grace period has expired. + */ +static void +grace_alarm_handler(int sig) +{ + /* + * Try to kill any processes that we have spawned, E.g. authorized + * keys command helpers or privsep children. + */ + if (getpgid(0) == getpid()) { + ssh_signal(SIGTERM, SIG_IGN); + kill(0, SIGTERM); + } + + /* Log error and exit. */ + sigdie("Timeout before authentication for %s port %d", + ssh_remote_ipaddr(the_active_state), + ssh_remote_port(the_active_state)); +} + +/* Destroy the host and server keys. They will no longer be needed. */ +void +destroy_sensitive_data(void) +{ + u_int i; + + for (i = 0; i < options.num_host_key_files; i++) { + if (sensitive_data.host_keys[i]) { + sshkey_free(sensitive_data.host_keys[i]); + sensitive_data.host_keys[i] = NULL; + } + if (sensitive_data.host_certificates[i]) { + sshkey_free(sensitive_data.host_certificates[i]); + sensitive_data.host_certificates[i] = NULL; + } + } +} + +/* Demote private to public keys for network child */ +void +demote_sensitive_data(void) +{ + struct sshkey *tmp; + u_int i; + int r; + + for (i = 0; i < options.num_host_key_files; i++) { + if (sensitive_data.host_keys[i]) { + if ((r = sshkey_from_private( + sensitive_data.host_keys[i], &tmp)) != 0) + fatal_r(r, "could not demote host %s key", + sshkey_type(sensitive_data.host_keys[i])); + sshkey_free(sensitive_data.host_keys[i]); + sensitive_data.host_keys[i] = tmp; + } + /* Certs do not need demotion */ + } +} + +static void +reseed_prngs(void) +{ + u_int32_t rnd[256]; + +#ifdef WITH_OPENSSL + RAND_poll(); +#endif + arc4random_stir(); /* noop on recent arc4random() implementations */ + arc4random_buf(rnd, sizeof(rnd)); /* let arc4random notice PID change */ + +#ifdef WITH_OPENSSL + RAND_seed(rnd, sizeof(rnd)); + /* give libcrypto a chance to notice the PID change */ + if ((RAND_bytes((u_char *)rnd, 1)) != 1) + fatal("%s: RAND_bytes failed", __func__); +#endif + + explicit_bzero(rnd, sizeof(rnd)); +} + +static void +privsep_preauth_child(void) +{ + gid_t gidset[1]; + + /* Enable challenge-response authentication for privilege separation */ + privsep_challenge_enable(); + +#ifdef GSSAPI + /* Cache supported mechanism OIDs for later use */ + ssh_gssapi_prepare_supported_oids(); +#endif + + reseed_prngs(); + + /* Demote the private keys to public keys. */ + demote_sensitive_data(); + + /* Demote the child */ + if (privsep_chroot) { + /* Change our root directory */ + if (chroot(_PATH_PRIVSEP_CHROOT_DIR) == -1) + fatal("chroot(\"%s\"): %s", _PATH_PRIVSEP_CHROOT_DIR, + strerror(errno)); + if (chdir("/") == -1) + fatal("chdir(\"/\"): %s", strerror(errno)); + + /* Drop our privileges */ + debug3("privsep user:group %u:%u", (u_int)privsep_pw->pw_uid, + (u_int)privsep_pw->pw_gid); + gidset[0] = privsep_pw->pw_gid; + if (setgroups(1, gidset) == -1) + fatal("setgroups: %.100s", strerror(errno)); + permanently_set_uid(privsep_pw); + } +} + +static int +privsep_preauth(struct ssh *ssh) +{ + int status, r; + pid_t pid; + struct ssh_sandbox *box = NULL; + + /* Set up unprivileged child process to deal with network data */ + pmonitor = monitor_init(); + /* Store a pointer to the kex for later rekeying */ + pmonitor->m_pkex = &ssh->kex; + + box = ssh_sandbox_init(pmonitor); + pid = fork(); + if (pid == -1) { + fatal("fork of unprivileged child failed"); + } else if (pid != 0) { + debug2("Network child is on pid %ld", (long)pid); + + pmonitor->m_pid = pid; + if (have_agent) { + r = ssh_get_authentication_socket(&auth_sock); + if (r != 0) { + error_r(r, "Could not get agent socket"); + have_agent = 0; + } + } + if (box != NULL) + ssh_sandbox_parent_preauth(box, pid); + monitor_child_preauth(ssh, pmonitor); + + /* Wait for the child's exit status */ + while (waitpid(pid, &status, 0) == -1) { + if (errno == EINTR) + continue; + pmonitor->m_pid = -1; + fatal_f("waitpid: %s", strerror(errno)); + } + privsep_is_preauth = 0; + pmonitor->m_pid = -1; + if (WIFEXITED(status)) { + if (WEXITSTATUS(status) != 0) + fatal_f("preauth child exited with status %d", + WEXITSTATUS(status)); + } else if (WIFSIGNALED(status)) + fatal_f("preauth child terminated by signal %d", + WTERMSIG(status)); + if (box != NULL) + ssh_sandbox_parent_finish(box); + return 1; + } else { + /* child */ + close(pmonitor->m_sendfd); + close(pmonitor->m_log_recvfd); + + /* Arrange for logging to be sent to the monitor */ + set_log_handler(mm_log_handler, pmonitor); + + privsep_preauth_child(); + setproctitle("%s", "[net]"); + if (box != NULL) + ssh_sandbox_child(box); + + return 0; + } +} + +static void +privsep_postauth(struct ssh *ssh, Authctxt *authctxt) +{ + /* New socket pair */ + monitor_reinit(pmonitor); + + pmonitor->m_pid = fork(); + if (pmonitor->m_pid == -1) + fatal("fork of unprivileged child failed"); + else if (pmonitor->m_pid != 0) { + verbose("User child is on pid %ld", (long)pmonitor->m_pid); + sshbuf_reset(loginmsg); + monitor_clear_keystate(ssh, pmonitor); + monitor_child_postauth(ssh, pmonitor); + + /* NEVERREACHED */ + exit(0); + } + + /* child */ + + close(pmonitor->m_sendfd); + pmonitor->m_sendfd = -1; + + /* Demote the private keys to public keys. */ + demote_sensitive_data(); + + reseed_prngs(); + + /* Drop privileges */ + do_setusercontext(authctxt->pw); + + /* It is safe now to apply the key state */ + monitor_apply_keystate(ssh, pmonitor); + + /* + * Tell the packet layer that authentication was successful, since + * this information is not part of the key state. + */ + ssh_packet_set_authenticated(ssh); +} + +static void +append_hostkey_type(struct sshbuf *b, const char *s) +{ + int r; + + if (match_pattern_list(s, options.hostkeyalgorithms, 0) != 1) { + debug3_f("%s key not permitted by HostkeyAlgorithms", s); + return; + } + if ((r = sshbuf_putf(b, "%s%s", sshbuf_len(b) > 0 ? "," : "", s)) != 0) + fatal_fr(r, "sshbuf_putf"); +} + +static char * +list_hostkey_types(void) +{ + struct sshbuf *b; + struct sshkey *key; + char *ret; + u_int i; + + if ((b = sshbuf_new()) == NULL) + fatal_f("sshbuf_new failed"); + for (i = 0; i < options.num_host_key_files; i++) { + key = sensitive_data.host_keys[i]; + if (key == NULL) + key = sensitive_data.host_pubkeys[i]; + if (key == NULL) + continue; + switch (key->type) { + case KEY_RSA: + /* for RSA we also support SHA2 signatures */ + append_hostkey_type(b, "rsa-sha2-512"); + append_hostkey_type(b, "rsa-sha2-256"); + /* FALLTHROUGH */ + case KEY_DSA: + case KEY_ECDSA: + case KEY_ED25519: + case KEY_ECDSA_SK: + case KEY_ED25519_SK: + case KEY_XMSS: + append_hostkey_type(b, sshkey_ssh_name(key)); + break; + } + /* If the private key has a cert peer, then list that too */ + key = sensitive_data.host_certificates[i]; + if (key == NULL) + continue; + switch (key->type) { + case KEY_RSA_CERT: + /* for RSA we also support SHA2 signatures */ + append_hostkey_type(b, + "rsa-sha2-512-cert-v01@openssh.com"); + append_hostkey_type(b, + "rsa-sha2-256-cert-v01@openssh.com"); + /* FALLTHROUGH */ + case KEY_DSA_CERT: + case KEY_ECDSA_CERT: + case KEY_ED25519_CERT: + case KEY_ECDSA_SK_CERT: + case KEY_ED25519_SK_CERT: + case KEY_XMSS_CERT: + append_hostkey_type(b, sshkey_ssh_name(key)); + break; + } + } + if ((ret = sshbuf_dup_string(b)) == NULL) + fatal_f("sshbuf_dup_string failed"); + sshbuf_free(b); + debug_f("%s", ret); + return ret; +} + +static struct sshkey * +get_hostkey_by_type(int type, int nid, int need_private, struct ssh *ssh) +{ + u_int i; + struct sshkey *key; + + for (i = 0; i < options.num_host_key_files; i++) { + switch (type) { + case KEY_RSA_CERT: + case KEY_DSA_CERT: + case KEY_ECDSA_CERT: + case KEY_ED25519_CERT: + case KEY_ECDSA_SK_CERT: + case KEY_ED25519_SK_CERT: + case KEY_XMSS_CERT: + key = sensitive_data.host_certificates[i]; + break; + default: + key = sensitive_data.host_keys[i]; + if (key == NULL && !need_private) + key = sensitive_data.host_pubkeys[i]; + break; + } + if (key == NULL || key->type != type) + continue; + switch (type) { + case KEY_ECDSA: + case KEY_ECDSA_SK: + case KEY_ECDSA_CERT: + case KEY_ECDSA_SK_CERT: + if (key->ecdsa_nid != nid) + continue; + /* FALLTHROUGH */ + default: + return need_private ? + sensitive_data.host_keys[i] : key; + } + } + return NULL; +} + +struct sshkey * +get_hostkey_public_by_type(int type, int nid, struct ssh *ssh) +{ + return get_hostkey_by_type(type, nid, 0, ssh); +} + +struct sshkey * +get_hostkey_private_by_type(int type, int nid, struct ssh *ssh) +{ + return get_hostkey_by_type(type, nid, 1, ssh); +} + +struct sshkey * +get_hostkey_by_index(int ind) +{ + if (ind < 0 || (u_int)ind >= options.num_host_key_files) + return (NULL); + return (sensitive_data.host_keys[ind]); +} + +struct sshkey * +get_hostkey_public_by_index(int ind, struct ssh *ssh) +{ + if (ind < 0 || (u_int)ind >= options.num_host_key_files) + return (NULL); + return (sensitive_data.host_pubkeys[ind]); +} + +int +get_hostkey_index(struct sshkey *key, int compare, struct ssh *ssh) +{ + u_int i; + + for (i = 0; i < options.num_host_key_files; i++) { + if (sshkey_is_cert(key)) { + if (key == sensitive_data.host_certificates[i] || + (compare && sensitive_data.host_certificates[i] && + sshkey_equal(key, + sensitive_data.host_certificates[i]))) + return (i); + } else { + if (key == sensitive_data.host_keys[i] || + (compare && sensitive_data.host_keys[i] && + sshkey_equal(key, sensitive_data.host_keys[i]))) + return (i); + if (key == sensitive_data.host_pubkeys[i] || + (compare && sensitive_data.host_pubkeys[i] && + sshkey_equal(key, sensitive_data.host_pubkeys[i]))) + return (i); + } + } + return (-1); +} + +/* Inform the client of all hostkeys */ +static void +notify_hostkeys(struct ssh *ssh) +{ + struct sshbuf *buf; + struct sshkey *key; + u_int i, nkeys; + int r; + char *fp; + + /* Some clients cannot cope with the hostkeys message, skip those. */ + if (ssh->compat & SSH_BUG_HOSTKEYS) + return; + + if ((buf = sshbuf_new()) == NULL) + fatal_f("sshbuf_new"); + for (i = nkeys = 0; i < options.num_host_key_files; i++) { + key = get_hostkey_public_by_index(i, ssh); + if (key == NULL || key->type == KEY_UNSPEC || + sshkey_is_cert(key)) + continue; + fp = sshkey_fingerprint(key, options.fingerprint_hash, + SSH_FP_DEFAULT); + debug3_f("key %d: %s %s", i, sshkey_ssh_name(key), fp); + free(fp); + if (nkeys == 0) { + /* + * Start building the request when we find the + * first usable key. + */ + if ((r = sshpkt_start(ssh, SSH2_MSG_GLOBAL_REQUEST)) != 0 || + (r = sshpkt_put_cstring(ssh, "hostkeys-00@openssh.com")) != 0 || + (r = sshpkt_put_u8(ssh, 0)) != 0) /* want reply */ + sshpkt_fatal(ssh, r, "%s: start request", __func__); + } + /* Append the key to the request */ + sshbuf_reset(buf); + if ((r = sshkey_putb(key, buf)) != 0) + fatal_fr(r, "couldn't put hostkey %d", i); + if ((r = sshpkt_put_stringb(ssh, buf)) != 0) + sshpkt_fatal(ssh, r, "%s: append key", __func__); + nkeys++; + } + debug3_f("sent %u hostkeys", nkeys); + if (nkeys == 0) + fatal_f("no hostkeys"); + if ((r = sshpkt_send(ssh)) != 0) + sshpkt_fatal(ssh, r, "%s: send", __func__); + sshbuf_free(buf); +} + +static void +usage(void) +{ + fprintf(stderr, "%s, %s\n", SSH_RELEASE, SSH_OPENSSL_VERSION); + fprintf(stderr, +"usage: sshd [-46DdeGiqTtV] [-C connection_spec] [-c host_cert_file]\n" +" [-E log_file] [-f config_file] [-g login_grace_time]\n" +" [-h host_key_file] [-o option] [-p port] [-u len]\n" + ); + exit(1); +} + +static void +parse_hostkeys(struct sshbuf *hostkeys) +{ + int r; + u_int num_keys = 0; + struct sshkey *k; + struct sshbuf *kbuf; + const u_char *cp; + size_t len; + + while (sshbuf_len(hostkeys) != 0) { + if (num_keys > 2048) + fatal_f("too many hostkeys"); + sensitive_data.host_keys = xrecallocarray( + sensitive_data.host_keys, num_keys, num_keys + 1, + sizeof(*sensitive_data.host_pubkeys)); + sensitive_data.host_pubkeys = xrecallocarray( + sensitive_data.host_pubkeys, num_keys, num_keys + 1, + sizeof(*sensitive_data.host_pubkeys)); + sensitive_data.host_certificates = xrecallocarray( + sensitive_data.host_certificates, num_keys, num_keys + 1, + sizeof(*sensitive_data.host_certificates)); + /* private key */ + k = NULL; + if ((r = sshbuf_froms(hostkeys, &kbuf)) != 0) + fatal_fr(r, "extract privkey"); + if (sshbuf_len(kbuf) != 0 && + (r = sshkey_private_deserialize(kbuf, &k)) != 0) + fatal_fr(r, "parse pubkey"); + sensitive_data.host_keys[num_keys] = k; + sshbuf_free(kbuf); + if (k) + debug2_f("privkey %u: %s", num_keys, sshkey_ssh_name(k)); + /* public key */ + k = NULL; + if ((r = sshbuf_get_string_direct(hostkeys, &cp, &len)) != 0) + fatal_fr(r, "extract pubkey"); + if (len != 0 && (r = sshkey_from_blob(cp, len, &k)) != 0) + fatal_fr(r, "parse pubkey"); + sensitive_data.host_pubkeys[num_keys] = k; + if (k) + debug2_f("pubkey %u: %s", num_keys, sshkey_ssh_name(k)); + /* certificate */ + k = NULL; + if ((r = sshbuf_get_string_direct(hostkeys, &cp, &len)) != 0) + fatal_fr(r, "extract pubkey"); + if (len != 0 && (r = sshkey_from_blob(cp, len, &k)) != 0) + fatal_fr(r, "parse pubkey"); + sensitive_data.host_certificates[num_keys] = k; + if (k) + debug2_f("cert %u: %s", num_keys, sshkey_ssh_name(k)); + num_keys++; + } + sensitive_data.num_hostkeys = num_keys; +} + +static void +recv_rexec_state(int fd, struct sshbuf *conf, uint64_t *timing_secretp) +{ + struct sshbuf *m, *inc, *hostkeys; + u_char *cp, ver; + size_t len; + int r; + struct include_item *item; + + debug3_f("entering fd = %d", fd); + + if ((m = sshbuf_new()) == NULL || (inc = sshbuf_new()) == NULL) + fatal_f("sshbuf_new failed"); + if (ssh_msg_recv(fd, m) == -1) + fatal_f("ssh_msg_recv failed"); + if ((r = sshbuf_get_u8(m, &ver)) != 0) + fatal_fr(r, "parse version"); + if (ver != 0) + fatal_f("rexec version mismatch"); + if ((r = sshbuf_get_string(m, &cp, &len)) != 0 || /* XXX _direct */ + (r = sshbuf_get_u64(m, timing_secretp)) != 0 || + (r = sshbuf_froms(m, &hostkeys)) != 0 || + (r = sshbuf_get_stringb(m, inc)) != 0) + fatal_fr(r, "parse config"); + + if (conf != NULL && (r = sshbuf_put(conf, cp, len))) + fatal_fr(r, "sshbuf_put"); + + while (sshbuf_len(inc) != 0) { + item = xcalloc(1, sizeof(*item)); + if ((item->contents = sshbuf_new()) == NULL) + fatal_f("sshbuf_new failed"); + if ((r = sshbuf_get_cstring(inc, &item->selector, NULL)) != 0 || + (r = sshbuf_get_cstring(inc, &item->filename, NULL)) != 0 || + (r = sshbuf_get_stringb(inc, item->contents)) != 0) + fatal_fr(r, "parse includes"); + TAILQ_INSERT_TAIL(&includes, item, entry); + } + + parse_hostkeys(hostkeys); + + free(cp); + sshbuf_free(m); + sshbuf_free(hostkeys); + sshbuf_free(inc); + + debug3_f("done"); +} + +/* + * If IP options are supported, make sure there are none (log and + * return an error if any are found). Basically we are worried about + * source routing; it can be used to pretend you are somebody + * (ip-address) you are not. That itself may be "almost acceptable" + * under certain circumstances, but rhosts authentication is useless + * if source routing is accepted. Notice also that if we just dropped + * source routing here, the other side could use IP spoofing to do + * rest of the interaction and could still bypass security. So we + * exit here if we detect any IP options. + */ +static void +check_ip_options(struct ssh *ssh) +{ +#ifdef IP_OPTIONS + int sock_in = ssh_packet_get_connection_in(ssh); + struct sockaddr_storage from; + u_char opts[200]; + socklen_t i, option_size = sizeof(opts), fromlen = sizeof(from); + char text[sizeof(opts) * 3 + 1]; + + memset(&from, 0, sizeof(from)); + if (getpeername(sock_in, (struct sockaddr *)&from, + &fromlen) == -1) + return; + if (from.ss_family != AF_INET) + return; + /* XXX IPv6 options? */ + + if (getsockopt(sock_in, IPPROTO_IP, IP_OPTIONS, opts, + &option_size) >= 0 && option_size != 0) { + text[0] = '\0'; + for (i = 0; i < option_size; i++) + snprintf(text + i*3, sizeof(text) - i*3, + " %2.2x", opts[i]); + fatal("Connection from %.100s port %d with IP opts: %.800s", + ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), text); + } + return; +#endif /* IP_OPTIONS */ +} + +/* Set the routing domain for this process */ +static void +set_process_rdomain(struct ssh *ssh, const char *name) +{ +#if defined(HAVE_SYS_SET_PROCESS_RDOMAIN) + if (name == NULL) + return; /* default */ + + if (strcmp(name, "%D") == 0) { + /* "expands" to routing domain of connection */ + if ((name = ssh_packet_rdomain_in(ssh)) == NULL) + return; + } + /* NB. We don't pass 'ssh' to sys_set_process_rdomain() */ + return sys_set_process_rdomain(name); +#elif defined(__OpenBSD__) + int rtable, ortable = getrtable(); + const char *errstr; + + if (name == NULL) + return; /* default */ + + if (strcmp(name, "%D") == 0) { + /* "expands" to routing domain of connection */ + if ((name = ssh_packet_rdomain_in(ssh)) == NULL) + return; + } + + rtable = (int)strtonum(name, 0, 255, &errstr); + if (errstr != NULL) /* Shouldn't happen */ + fatal("Invalid routing domain \"%s\": %s", name, errstr); + if (rtable != ortable && setrtable(rtable) != 0) + fatal("Unable to set routing domain %d: %s", + rtable, strerror(errno)); + debug_f("set routing domain %d (was %d)", rtable, ortable); +#else /* defined(__OpenBSD__) */ + fatal("Unable to set routing domain: not supported in this platform"); +#endif +} + +/* + * Main program for the daemon. + */ +int +main(int ac, char **av) +{ + struct ssh *ssh = NULL; + extern char *optarg; + extern int optind; + int r, opt, on = 1, remote_port; + int sock_in = -1, sock_out = -1, rexeced_flag = 0, have_key = 0; + const char *remote_ip, *rdomain; + char *line, *laddr, *logfile = NULL; + u_int i; + u_int64_t ibytes, obytes; + mode_t new_umask; + Authctxt *authctxt; + struct connection_info *connection_info = NULL; + sigset_t sigmask; + uint64_t timing_secret = 0; + + sigemptyset(&sigmask); + sigprocmask(SIG_SETMASK, &sigmask, NULL); + +#ifdef HAVE_SECUREWARE + (void)set_auth_parameters(ac, av); +#endif + __progname = ssh_get_progname(av[0]); + + /* Save argv. Duplicate so setproctitle emulation doesn't clobber it */ + saved_argc = ac; + saved_argv = xcalloc(ac + 1, sizeof(*saved_argv)); + for (i = 0; (int)i < ac; i++) + saved_argv[i] = xstrdup(av[i]); + saved_argv[i] = NULL; + +#ifndef HAVE_SETPROCTITLE + /* Prepare for later setproctitle emulation */ + compat_init_setproctitle(ac, av); + av = saved_argv; +#endif + + /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ + sanitise_stdfd(); + + /* Initialize configuration options to their default values. */ + initialize_server_options(&options); + + /* Parse command-line arguments. */ + while ((opt = getopt(ac, av, + "C:E:b:c:f:g:h:k:o:p:u:46DGQRTdeiqrtV")) != -1) { + switch (opt) { + case '4': + options.address_family = AF_INET; + break; + case '6': + options.address_family = AF_INET6; + break; + case 'f': + config_file_name = optarg; + break; + case 'c': + servconf_add_hostcert("[command-line]", 0, + &options, optarg); + break; + case 'd': + if (debug_flag == 0) { + debug_flag = 1; + options.log_level = SYSLOG_LEVEL_DEBUG1; + } else if (options.log_level < SYSLOG_LEVEL_DEBUG3) + options.log_level++; + break; + case 'D': + /* ignore */ + break; + case 'E': + logfile = optarg; + /* FALLTHROUGH */ + case 'e': + log_stderr = 1; + break; + case 'i': + inetd_flag = 1; + break; + case 'r': + /* ignore */ + break; + case 'R': + rexeced_flag = 1; + break; + case 'Q': + /* ignored */ + break; + case 'q': + options.log_level = SYSLOG_LEVEL_QUIET; + break; + case 'b': + /* protocol 1, ignored */ + break; + case 'p': + options.ports_from_cmdline = 1; + if (options.num_ports >= MAX_PORTS) { + fprintf(stderr, "too many ports.\n"); + exit(1); + } + options.ports[options.num_ports++] = a2port(optarg); + if (options.ports[options.num_ports-1] <= 0) { + fprintf(stderr, "Bad port number.\n"); + exit(1); + } + break; + case 'g': + if ((options.login_grace_time = convtime(optarg)) == -1) { + fprintf(stderr, "Invalid login grace time.\n"); + exit(1); + } + break; + case 'k': + /* protocol 1, ignored */ + break; + case 'h': + servconf_add_hostkey("[command-line]", 0, + &options, optarg, 1); + break; + case 't': + case 'T': + case 'G': + fatal("test/dump modes not supported"); + break; + case 'C': + connection_info = server_get_connection_info(ssh, 0, 0); + if (parse_server_match_testspec(connection_info, + optarg) == -1) + exit(1); + break; + case 'u': + utmp_len = (u_int)strtonum(optarg, 0, HOST_NAME_MAX+1+1, NULL); + if (utmp_len > HOST_NAME_MAX+1) { + fprintf(stderr, "Invalid utmp length.\n"); + exit(1); + } + break; + case 'o': + line = xstrdup(optarg); + if (process_server_config_line(&options, line, + "command-line", 0, NULL, NULL, &includes) != 0) + exit(1); + free(line); + break; + case 'V': + fprintf(stderr, "%s, %s\n", + SSH_RELEASE, SSH_OPENSSL_VERSION); + exit(0); + default: + usage(); + break; + } + } + + /* Check that there are no remaining arguments. */ + if (optind < ac) { + fprintf(stderr, "Extra argument %s.\n", av[optind]); + exit(1); + } + + debug("sshd version %s, %s", SSH_VERSION, SSH_OPENSSL_VERSION); + + if (!rexeced_flag) + fatal("sshd-session should not be executed directly"); + + closefrom(REEXEC_MIN_FREE_FD); + + seed_rng(); + + /* If requested, redirect the logs to the specified logfile. */ + if (logfile != NULL) { + char *cp, pid_s[32]; + + snprintf(pid_s, sizeof(pid_s), "%ld", (unsigned long)getpid()); + cp = percent_expand(logfile, + "p", pid_s, + "P", "sshd-session", + (char *)NULL); + log_redirect_stderr_to(cp); + free(cp); + } + + /* + * Force logging to stderr until we have loaded the private host + * key (unless started from inetd) + */ + log_init(__progname, + options.log_level == SYSLOG_LEVEL_NOT_SET ? + SYSLOG_LEVEL_INFO : options.log_level, + options.log_facility == SYSLOG_FACILITY_NOT_SET ? + SYSLOG_FACILITY_AUTH : options.log_facility, + log_stderr || !inetd_flag || debug_flag); + + debug("sshd version %s, %s", SSH_VERSION, SSH_OPENSSL_VERSION); + + /* Store privilege separation user for later use if required. */ + privsep_chroot = (getuid() == 0 || geteuid() == 0); + if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { + if (privsep_chroot || options.kerberos_authentication) + fatal("Privilege separation user %s does not exist", + SSH_PRIVSEP_USER); + } else { + privsep_pw = pwcopy(privsep_pw); + freezero(privsep_pw->pw_passwd, strlen(privsep_pw->pw_passwd)); + privsep_pw->pw_passwd = xstrdup("*"); + } + endpwent(); + + /* Fetch our configuration */ + if ((cfg = sshbuf_new()) == NULL) + fatal("sshbuf_new config buf failed"); + setproctitle("%s", "[rexeced]"); + recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg, &timing_secret); + close(REEXEC_CONFIG_PASS_FD); + parse_server_config(&options, "rexec", cfg, &includes, NULL, 1); + /* Fill in default values for those options not explicitly set. */ + fill_default_server_options(&options); + options.timing_secret = timing_secret; + + if (!debug_flag) { + startup_pipe = dup(REEXEC_STARTUP_PIPE_FD); + close(REEXEC_STARTUP_PIPE_FD); + /* + * Signal parent that this child is at a point where + * they can go away if they have a SIGHUP pending. + */ + (void)atomicio(vwrite, startup_pipe, "\0", 1); + } + + /* Check that options are sensible */ + if (options.authorized_keys_command_user == NULL && + (options.authorized_keys_command != NULL && + strcasecmp(options.authorized_keys_command, "none") != 0)) + fatal("AuthorizedKeysCommand set without " + "AuthorizedKeysCommandUser"); + if (options.authorized_principals_command_user == NULL && + (options.authorized_principals_command != NULL && + strcasecmp(options.authorized_principals_command, "none") != 0)) + fatal("AuthorizedPrincipalsCommand set without " + "AuthorizedPrincipalsCommandUser"); + + /* + * Check whether there is any path through configured auth methods. + * Unfortunately it is not possible to verify this generally before + * daemonisation in the presence of Match block, but this catches + * and warns for trivial misconfigurations that could break login. + */ + if (options.num_auth_methods != 0) { + for (i = 0; i < options.num_auth_methods; i++) { + if (auth2_methods_valid(options.auth_methods[i], + 1) == 0) + break; + } + if (i >= options.num_auth_methods) + fatal("AuthenticationMethods cannot be satisfied by " + "enabled authentication methods"); + } + +#ifdef WITH_OPENSSL + if (options.moduli_file != NULL) + dh_set_moduli_file(options.moduli_file); +#endif + + if (options.host_key_agent) { + if (strcmp(options.host_key_agent, SSH_AUTHSOCKET_ENV_NAME)) + setenv(SSH_AUTHSOCKET_ENV_NAME, + options.host_key_agent, 1); + if ((r = ssh_get_authentication_socket(NULL)) == 0) + have_agent = 1; + else + error_r(r, "Could not connect to agent \"%s\"", + options.host_key_agent); + } + + if (options.num_host_key_files != sensitive_data.num_hostkeys) { + fatal("internal error: hostkeys confused (config %u recvd %u)", + options.num_host_key_files, sensitive_data.num_hostkeys); + } + + for (i = 0; i < options.num_host_key_files; i++) { + if (sensitive_data.host_keys[i] != NULL || + (have_agent && sensitive_data.host_pubkeys[i] != NULL)) { + have_key = 1; + break; + } + } + if (!have_key) + fatal("internal error: monitor recieved no hostkeys"); + + /* Ensure that umask disallows at least group and world write */ + new_umask = umask(0077) | 0022; + (void) umask(new_umask); + + /* Initialize the log (it is reinitialized below in case we forked). */ + if (debug_flag) + log_stderr = 1; + log_init(__progname, options.log_level, + options.log_facility, log_stderr); + for (i = 0; i < options.num_log_verbose; i++) + log_verbose_add(options.log_verbose[i]); + + /* Reinitialize the log (because of the fork above). */ + log_init(__progname, options.log_level, options.log_facility, log_stderr); + + /* + * Chdir to the root directory so that the current disk can be + * unmounted if desired. + */ + if (chdir("/") == -1) + error("chdir(\"/\"): %s", strerror(errno)); + + /* ignore SIGPIPE */ + ssh_signal(SIGPIPE, SIG_IGN); + + /* Get a connection, either from inetd or rexec */ + if (inetd_flag) { + /* + * NB. must be different fd numbers for the !socket case, + * as packet_connection_is_on_socket() depends on this. + */ + sock_in = dup(STDIN_FILENO); + sock_out = dup(STDOUT_FILENO); + } else { + /* rexec case; accept()ed socket in ancestor listener */ + sock_in = sock_out = dup(STDIN_FILENO); + } + + /* + * We intentionally do not close the descriptors 0, 1, and 2 + * as our code for setting the descriptors won't work if + * ttyfd happens to be one of those. + */ + if (stdfd_devnull(1, 1, !log_stderr) == -1) + error("stdfd_devnull failed"); + debug("network sockets: %d, %d", sock_in, sock_out); + + /* This is the child processing a new connection. */ + setproctitle("%s", "[accepted]"); + + /* Executed child processes don't need these. */ + fcntl(sock_out, F_SETFD, FD_CLOEXEC); + fcntl(sock_in, F_SETFD, FD_CLOEXEC); + + /* We will not restart on SIGHUP since it no longer makes sense. */ + ssh_signal(SIGALRM, SIG_DFL); + ssh_signal(SIGHUP, SIG_DFL); + ssh_signal(SIGTERM, SIG_DFL); + ssh_signal(SIGQUIT, SIG_DFL); + ssh_signal(SIGCHLD, SIG_DFL); + ssh_signal(SIGINT, SIG_DFL); + + /* + * Register our connection. This turns encryption off because we do + * not have a key. + */ + if ((ssh = ssh_packet_set_connection(NULL, sock_in, sock_out)) == NULL) + fatal("Unable to create connection"); + the_active_state = ssh; + ssh_packet_set_server(ssh); + + check_ip_options(ssh); + + /* Prepare the channels layer */ + channel_init_channels(ssh); + channel_set_af(ssh, options.address_family); + server_process_channel_timeouts(ssh); + server_process_permitopen(ssh); + + /* Set SO_KEEPALIVE if requested. */ + if (options.tcp_keep_alive && ssh_packet_connection_is_on_socket(ssh) && + setsockopt(sock_in, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof(on)) == -1) + error("setsockopt SO_KEEPALIVE: %.100s", strerror(errno)); + + if ((remote_port = ssh_remote_port(ssh)) < 0) { + debug("ssh_remote_port failed"); + cleanup_exit(255); + } + + /* + * The rest of the code depends on the fact that + * ssh_remote_ipaddr() caches the remote ip, even if + * the socket goes away. + */ + remote_ip = ssh_remote_ipaddr(ssh); + +#ifdef SSH_AUDIT_EVENTS + audit_connection_from(remote_ip, remote_port); +#endif + + rdomain = ssh_packet_rdomain_in(ssh); + + /* Log the connection. */ + laddr = get_local_ipaddr(sock_in); + verbose("Connection from %s port %d on %s port %d%s%s%s", + remote_ip, remote_port, laddr, ssh_local_port(ssh), + rdomain == NULL ? "" : " rdomain \"", + rdomain == NULL ? "" : rdomain, + rdomain == NULL ? "" : "\""); + free(laddr); + + /* + * We don't want to listen forever unless the other side + * successfully authenticates itself. So we set up an alarm which is + * cleared after successful authentication. A limit of zero + * indicates no limit. Note that we don't set the alarm in debugging + * mode; it is just annoying to have the server exit just when you + * are about to discover the bug. + */ + ssh_signal(SIGALRM, grace_alarm_handler); + if (!debug_flag) + alarm(options.login_grace_time); + + if ((r = kex_exchange_identification(ssh, -1, + options.version_addendum)) != 0) + sshpkt_fatal(ssh, r, "banner exchange"); + + ssh_packet_set_nonblocking(ssh); + + /* allocate authentication context */ + authctxt = xcalloc(1, sizeof(*authctxt)); + ssh->authctxt = authctxt; + + /* XXX global for cleanup, access from other modules */ + the_authctxt = authctxt; + + /* Set default key authentication options */ + if ((auth_opts = sshauthopt_new_with_keys_defaults()) == NULL) + fatal("allocation failed"); + + /* prepare buffer to collect messages to display to user after login */ + if ((loginmsg = sshbuf_new()) == NULL) + fatal("sshbuf_new loginmsg failed"); + auth_debug_reset(); + + if (privsep_preauth(ssh) == 1) + goto authenticated; + + /* perform the key exchange */ + /* authenticate user and start session */ + do_ssh2_kex(ssh); + do_authentication2(ssh); + + /* + * The unprivileged child now transfers the current keystate and exits. + */ + mm_send_keystate(ssh, pmonitor); + ssh_packet_clear_keys(ssh); + exit(0); + + authenticated: + /* + * Cancel the alarm we set to limit the time taken for + * authentication. + */ + alarm(0); + ssh_signal(SIGALRM, SIG_DFL); + authctxt->authenticated = 1; + if (startup_pipe != -1) { + close(startup_pipe); + startup_pipe = -1; + } + + if (options.routing_domain != NULL) + set_process_rdomain(ssh, options.routing_domain); + +#ifdef SSH_AUDIT_EVENTS + audit_event(ssh, SSH_AUTH_SUCCESS); +#endif + +#ifdef GSSAPI + if (options.gss_authentication) { + temporarily_use_uid(authctxt->pw); + ssh_gssapi_storecreds(); + restore_uid(); + } +#endif +#ifdef USE_PAM + if (options.use_pam) { + do_pam_setcred(); + do_pam_session(ssh); + } +#endif + + /* + * In privilege separation, we fork another child and prepare + * file descriptor passing. + */ + privsep_postauth(ssh, authctxt); + /* the monitor process [priv] will not return */ + + ssh_packet_set_timeout(ssh, options.client_alive_interval, + options.client_alive_count_max); + + /* Try to send all our hostkeys to the client */ + notify_hostkeys(ssh); + + /* Start session. */ + do_authenticated(ssh, authctxt); + + /* The connection has been terminated. */ + ssh_packet_get_bytes(ssh, &ibytes, &obytes); + verbose("Transferred: sent %llu, received %llu bytes", + (unsigned long long)obytes, (unsigned long long)ibytes); + + verbose("Closing connection to %.500s port %d", remote_ip, remote_port); + +#ifdef USE_PAM + if (options.use_pam) + finish_pam(); +#endif /* USE_PAM */ + +#ifdef SSH_AUDIT_EVENTS + mm_audit_event(ssh, SSH_CONNECTION_CLOSE); +#endif + + ssh_packet_close(ssh); + + mm_terminate(); + + exit(0); +} + +int +sshd_hostkey_sign(struct ssh *ssh, struct sshkey *privkey, + struct sshkey *pubkey, u_char **signature, size_t *slenp, + const u_char *data, size_t dlen, const char *alg) +{ + if (privkey) { + if (mm_sshkey_sign(ssh, privkey, signature, slenp, + data, dlen, alg, options.sk_provider, NULL, + ssh->compat) < 0) + fatal_f("privkey sign failed"); + } else { + if (mm_sshkey_sign(ssh, pubkey, signature, slenp, + data, dlen, alg, options.sk_provider, NULL, + ssh->compat) < 0) + fatal_f("pubkey sign failed"); + } + return 0; +} + +/* SSH2 key exchange */ +static void +do_ssh2_kex(struct ssh *ssh) +{ + char *hkalgs = NULL, *myproposal[PROPOSAL_MAX]; + const char *compression = NULL; + struct kex *kex; + int r; + + if (options.rekey_limit || options.rekey_interval) + ssh_packet_set_rekey_limits(ssh, options.rekey_limit, + options.rekey_interval); + + if (options.compression == COMP_NONE) + compression = "none"; + hkalgs = list_hostkey_types(); + + kex_proposal_populate_entries(ssh, myproposal, options.kex_algorithms, + options.ciphers, options.macs, compression, hkalgs); + + free(hkalgs); + + /* start key exchange */ + if ((r = kex_setup(ssh, myproposal)) != 0) + fatal_r(r, "kex_setup"); + kex_set_server_sig_algs(ssh, options.pubkey_accepted_algos); + kex = ssh->kex; + +#ifdef WITH_OPENSSL + kex->kex[KEX_DH_GRP1_SHA1] = kex_gen_server; + kex->kex[KEX_DH_GRP14_SHA1] = kex_gen_server; + kex->kex[KEX_DH_GRP14_SHA256] = kex_gen_server; + kex->kex[KEX_DH_GRP16_SHA512] = kex_gen_server; + kex->kex[KEX_DH_GRP18_SHA512] = kex_gen_server; + kex->kex[KEX_DH_GEX_SHA1] = kexgex_server; + kex->kex[KEX_DH_GEX_SHA256] = kexgex_server; + #ifdef OPENSSL_HAS_ECC + kex->kex[KEX_ECDH_SHA2] = kex_gen_server; + #endif +#endif + kex->kex[KEX_C25519_SHA256] = kex_gen_server; + kex->kex[KEX_KEM_SNTRUP761X25519_SHA512] = kex_gen_server; + kex->load_host_public_key=&get_hostkey_public_by_type; + kex->load_host_private_key=&get_hostkey_private_by_type; + kex->host_key_index=&get_hostkey_index; + kex->sign = sshd_hostkey_sign; + + ssh_dispatch_run_fatal(ssh, DISPATCH_BLOCK, &kex->done); + kex_proposal_free_entries(myproposal); + +#ifdef DEBUG_KEXDH + /* send 1st encrypted/maced/compressed message */ + if ((r = sshpkt_start(ssh, SSH2_MSG_IGNORE)) != 0 || + (r = sshpkt_put_cstring(ssh, "markus")) != 0 || + (r = sshpkt_send(ssh)) != 0 || + (r = ssh_packet_write_wait(ssh)) != 0) + fatal_fr(r, "send test"); +#endif + debug("KEX done"); +} + +/* server specific fatal cleanup */ +void +cleanup_exit(int i) +{ + if (the_active_state != NULL && the_authctxt != NULL) { + do_cleanup(the_active_state, the_authctxt); + if (privsep_is_preauth && + pmonitor != NULL && pmonitor->m_pid > 1) { + debug("Killing privsep child %d", pmonitor->m_pid); + if (kill(pmonitor->m_pid, SIGKILL) != 0 && + errno != ESRCH) { + error_f("kill(%d): %s", pmonitor->m_pid, + strerror(errno)); + } + } + } +#ifdef SSH_AUDIT_EVENTS + /* done after do_cleanup so it can cancel the PAM auth 'thread' */ + if (the_active_state != NULL && (!use_privsep || mm_is_monitor())) + audit_event(the_active_state, SSH_CONNECTION_ABANDON); +#endif + _exit(i); +} diff --git a/sshd.c b/sshd.c index 865331b461ea..e4ad60218527 100644 --- a/sshd.c +++ b/sshd.c @@ -1,23 +1,5 @@ -/* $OpenBSD: sshd.c,v 1.602 2024/01/08 00:34:34 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.603 2024/05/17 00:30:24 djm Exp $ */ /* - * Author: Tatu Ylonen - * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland - * All rights reserved - * This program is the ssh daemon. It listens for connections from clients, - * and performs authentication, executes use commands or shell, and forwards - * information to/from the application to the user client over an encrypted - * connection. This can also handle forwarding of X11, TCP/IP, and - * authentication agent connections. - * - * As far as I am concerned, the code I have written for this software - * can be used freely for any purpose. Any derived versions of this - * software must be clearly marked as such, and if the derived work is - * incompatible with the protocol description in the RFC file, it must be - * called by a name other than "ssh" or "Secure Shell". - * - * SSH2 implementation: - * Privilege Separation: - * * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. * @@ -77,8 +59,7 @@ #include #ifdef WITH_OPENSSL -#include -#include +#include #include #include "openbsd-compat/openssl-compat.h" #endif @@ -90,43 +71,25 @@ #include "xmalloc.h" #include "ssh.h" -#include "ssh2.h" #include "sshpty.h" -#include "packet.h" #include "log.h" #include "sshbuf.h" #include "misc.h" -#include "match.h" #include "servconf.h" -#include "uidswap.h" #include "compat.h" -#include "cipher.h" #include "digest.h" #include "sshkey.h" -#include "kex.h" #include "authfile.h" #include "pathnames.h" -#include "atomicio.h" #include "canohost.h" #include "hostfile.h" #include "auth.h" #include "authfd.h" #include "msg.h" -#include "dispatch.h" -#include "channels.h" -#include "session.h" -#include "monitor.h" -#ifdef GSSAPI -#include "ssh-gss.h" -#endif -#include "monitor_wrap.h" -#include "ssh-sandbox.h" -#include "auth-options.h" #include "version.h" #include "ssherr.h" #include "sk-api.h" #include "srclimit.h" -#include "dh.h" /* Re-exec fds */ #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1) @@ -139,9 +102,6 @@ extern char *__progname; /* Server configuration options. */ ServerOptions options; -/* Name of the server configuration file. */ -char *config_file_name = _PATH_SERVER_CONFIG_FILE; - /* * Debug mode flag. This can be set on the command line. If debug * mode is enabled, extra debugging output will be sent to the system @@ -150,33 +110,10 @@ char *config_file_name = _PATH_SERVER_CONFIG_FILE; */ int debug_flag = 0; -/* - * Indicating that the daemon should only test the configuration and keys. - * If test_flag > 1 ("-T" flag), then sshd will also dump the effective - * configuration, optionally using connection information provided by the - * "-C" flag. - */ -static int test_flag = 0; - -/* Flag indicating that the daemon is being started from inetd. */ -static int inetd_flag = 0; - -/* Flag indicating that sshd should not detach and become a daemon. */ -static int no_daemon_flag = 0; - -/* debug goes to stderr unless inetd_flag is set */ -static int log_stderr = 0; - /* Saved arguments to main(). */ static char **saved_argv; static int saved_argc; -/* re-exec */ -static int rexeced_flag = 0; -static int rexec_flag = 1; -static int rexec_argc = 0; -static char **rexec_argv; - /* * The sockets that the server is listening; this is used in the SIGHUP * signal handler. @@ -185,10 +122,6 @@ static char **rexec_argv; static int listen_socks[MAX_LISTEN_SOCKS]; static int num_listen_socks = 0; -/* Daemon's agent connection */ -int auth_sock = -1; -static int have_agent = 0; - /* * Any really sensitive data in the application is contained in this * structure. The idea is that this structure could be locked into memory so @@ -232,19 +165,6 @@ static int *startup_pipes = NULL; static int *startup_flags = NULL; /* Indicates child closed listener */ static int startup_pipe = -1; /* in child */ -/* variables used for privilege separation */ -int use_privsep = -1; -struct monitor *pmonitor = NULL; -int privsep_is_preauth = 1; -static int privsep_chroot = 1; - -/* global connection state and authentication contexts */ -Authctxt *the_authctxt = NULL; -struct ssh *the_active_state; - -/* global key/cert auth options. XXX move to permanent ssh->authctxt? */ -struct sshauthopt *auth_opts = NULL; - /* sshd_config buffer */ struct sshbuf *cfg; @@ -257,11 +177,6 @@ struct sshbuf *loginmsg; /* Unprivileged user */ struct passwd *privsep_pw = NULL; -/* Prototypes for various functions defined later in this file. */ -void destroy_sensitive_data(void); -void demote_sensitive_data(void); -static void do_ssh2_kex(struct ssh *); - static char *listener_proctitle; /* @@ -346,464 +261,6 @@ main_sigchld_handler(int sig) errno = save_errno; } -/* - * Signal handler for the alarm after the login grace period has expired. - */ -static void -grace_alarm_handler(int sig) -{ - /* - * Try to kill any processes that we have spawned, E.g. authorized - * keys command helpers or privsep children. - */ - if (getpgid(0) == getpid()) { - ssh_signal(SIGTERM, SIG_IGN); - kill(0, SIGTERM); - } - - /* Log error and exit. */ - sigdie("Timeout before authentication for %s port %d", - ssh_remote_ipaddr(the_active_state), - ssh_remote_port(the_active_state)); -} - -/* Destroy the host and server keys. They will no longer be needed. */ -void -destroy_sensitive_data(void) -{ - u_int i; - - for (i = 0; i < options.num_host_key_files; i++) { - if (sensitive_data.host_keys[i]) { - sshkey_free(sensitive_data.host_keys[i]); - sensitive_data.host_keys[i] = NULL; - } - if (sensitive_data.host_certificates[i]) { - sshkey_free(sensitive_data.host_certificates[i]); - sensitive_data.host_certificates[i] = NULL; - } - } -} - -/* Demote private to public keys for network child */ -void -demote_sensitive_data(void) -{ - struct sshkey *tmp; - u_int i; - int r; - - for (i = 0; i < options.num_host_key_files; i++) { - if (sensitive_data.host_keys[i]) { - if ((r = sshkey_from_private( - sensitive_data.host_keys[i], &tmp)) != 0) - fatal_r(r, "could not demote host %s key", - sshkey_type(sensitive_data.host_keys[i])); - sshkey_free(sensitive_data.host_keys[i]); - sensitive_data.host_keys[i] = tmp; - } - /* Certs do not need demotion */ - } -} - -static void -reseed_prngs(void) -{ - u_int32_t rnd[256]; - -#ifdef WITH_OPENSSL - RAND_poll(); -#endif - arc4random_stir(); /* noop on recent arc4random() implementations */ - arc4random_buf(rnd, sizeof(rnd)); /* let arc4random notice PID change */ - -#ifdef WITH_OPENSSL - RAND_seed(rnd, sizeof(rnd)); - /* give libcrypto a chance to notice the PID change */ - if ((RAND_bytes((u_char *)rnd, 1)) != 1) - fatal("%s: RAND_bytes failed", __func__); -#endif - - explicit_bzero(rnd, sizeof(rnd)); -} - -static void -privsep_preauth_child(void) -{ - gid_t gidset[1]; - - /* Enable challenge-response authentication for privilege separation */ - privsep_challenge_enable(); - -#ifdef GSSAPI - /* Cache supported mechanism OIDs for later use */ - ssh_gssapi_prepare_supported_oids(); -#endif - - reseed_prngs(); - - /* Demote the private keys to public keys. */ - demote_sensitive_data(); - - /* Demote the child */ - if (privsep_chroot) { - /* Change our root directory */ - if (chroot(_PATH_PRIVSEP_CHROOT_DIR) == -1) - fatal("chroot(\"%s\"): %s", _PATH_PRIVSEP_CHROOT_DIR, - strerror(errno)); - if (chdir("/") == -1) - fatal("chdir(\"/\"): %s", strerror(errno)); - - /* Drop our privileges */ - debug3("privsep user:group %u:%u", (u_int)privsep_pw->pw_uid, - (u_int)privsep_pw->pw_gid); - gidset[0] = privsep_pw->pw_gid; - if (setgroups(1, gidset) == -1) - fatal("setgroups: %.100s", strerror(errno)); - permanently_set_uid(privsep_pw); - } -} - -static int -privsep_preauth(struct ssh *ssh) -{ - int status, r; - pid_t pid; - struct ssh_sandbox *box = NULL; - - /* Set up unprivileged child process to deal with network data */ - pmonitor = monitor_init(); - /* Store a pointer to the kex for later rekeying */ - pmonitor->m_pkex = &ssh->kex; - - if (use_privsep == PRIVSEP_ON) - box = ssh_sandbox_init(pmonitor); - pid = fork(); - if (pid == -1) { - fatal("fork of unprivileged child failed"); - } else if (pid != 0) { - debug2("Network child is on pid %ld", (long)pid); - - pmonitor->m_pid = pid; - if (have_agent) { - r = ssh_get_authentication_socket(&auth_sock); - if (r != 0) { - error_r(r, "Could not get agent socket"); - have_agent = 0; - } - } - if (box != NULL) - ssh_sandbox_parent_preauth(box, pid); - monitor_child_preauth(ssh, pmonitor); - - /* Wait for the child's exit status */ - while (waitpid(pid, &status, 0) == -1) { - if (errno == EINTR) - continue; - pmonitor->m_pid = -1; - fatal_f("waitpid: %s", strerror(errno)); - } - privsep_is_preauth = 0; - pmonitor->m_pid = -1; - if (WIFEXITED(status)) { - if (WEXITSTATUS(status) != 0) - fatal_f("preauth child exited with status %d", - WEXITSTATUS(status)); - } else if (WIFSIGNALED(status)) - fatal_f("preauth child terminated by signal %d", - WTERMSIG(status)); - if (box != NULL) - ssh_sandbox_parent_finish(box); - return 1; - } else { - /* child */ - close(pmonitor->m_sendfd); - close(pmonitor->m_log_recvfd); - - /* Arrange for logging to be sent to the monitor */ - set_log_handler(mm_log_handler, pmonitor); - - privsep_preauth_child(); - setproctitle("%s", "[net]"); - if (box != NULL) - ssh_sandbox_child(box); - - return 0; - } -} - -static void -privsep_postauth(struct ssh *ssh, Authctxt *authctxt) -{ -#ifdef DISABLE_FD_PASSING - if (1) { -#else - if (authctxt->pw->pw_uid == 0) { -#endif - /* File descriptor passing is broken or root login */ - use_privsep = 0; - goto skip; - } - - /* New socket pair */ - monitor_reinit(pmonitor); - - pmonitor->m_pid = fork(); - if (pmonitor->m_pid == -1) - fatal("fork of unprivileged child failed"); - else if (pmonitor->m_pid != 0) { - verbose("User child is on pid %ld", (long)pmonitor->m_pid); - sshbuf_reset(loginmsg); - monitor_clear_keystate(ssh, pmonitor); - monitor_child_postauth(ssh, pmonitor); - - /* NEVERREACHED */ - exit(0); - } - - /* child */ - - close(pmonitor->m_sendfd); - pmonitor->m_sendfd = -1; - - /* Demote the private keys to public keys. */ - demote_sensitive_data(); - - reseed_prngs(); - - /* Drop privileges */ - do_setusercontext(authctxt->pw); - - skip: - /* It is safe now to apply the key state */ - monitor_apply_keystate(ssh, pmonitor); - - /* - * Tell the packet layer that authentication was successful, since - * this information is not part of the key state. - */ - ssh_packet_set_authenticated(ssh); -} - -static void -append_hostkey_type(struct sshbuf *b, const char *s) -{ - int r; - - if (match_pattern_list(s, options.hostkeyalgorithms, 0) != 1) { - debug3_f("%s key not permitted by HostkeyAlgorithms", s); - return; - } - if ((r = sshbuf_putf(b, "%s%s", sshbuf_len(b) > 0 ? "," : "", s)) != 0) - fatal_fr(r, "sshbuf_putf"); -} - -static char * -list_hostkey_types(void) -{ - struct sshbuf *b; - struct sshkey *key; - char *ret; - u_int i; - - if ((b = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - for (i = 0; i < options.num_host_key_files; i++) { - key = sensitive_data.host_keys[i]; - if (key == NULL) - key = sensitive_data.host_pubkeys[i]; - if (key == NULL) - continue; - switch (key->type) { - case KEY_RSA: - /* for RSA we also support SHA2 signatures */ - append_hostkey_type(b, "rsa-sha2-512"); - append_hostkey_type(b, "rsa-sha2-256"); - /* FALLTHROUGH */ - case KEY_DSA: - case KEY_ECDSA: - case KEY_ED25519: - case KEY_ECDSA_SK: - case KEY_ED25519_SK: - case KEY_XMSS: - append_hostkey_type(b, sshkey_ssh_name(key)); - break; - } - /* If the private key has a cert peer, then list that too */ - key = sensitive_data.host_certificates[i]; - if (key == NULL) - continue; - switch (key->type) { - case KEY_RSA_CERT: - /* for RSA we also support SHA2 signatures */ - append_hostkey_type(b, - "rsa-sha2-512-cert-v01@openssh.com"); - append_hostkey_type(b, - "rsa-sha2-256-cert-v01@openssh.com"); - /* FALLTHROUGH */ - case KEY_DSA_CERT: - case KEY_ECDSA_CERT: - case KEY_ED25519_CERT: - case KEY_ECDSA_SK_CERT: - case KEY_ED25519_SK_CERT: - case KEY_XMSS_CERT: - append_hostkey_type(b, sshkey_ssh_name(key)); - break; - } - } - if ((ret = sshbuf_dup_string(b)) == NULL) - fatal_f("sshbuf_dup_string failed"); - sshbuf_free(b); - debug_f("%s", ret); - return ret; -} - -static struct sshkey * -get_hostkey_by_type(int type, int nid, int need_private, struct ssh *ssh) -{ - u_int i; - struct sshkey *key; - - for (i = 0; i < options.num_host_key_files; i++) { - switch (type) { - case KEY_RSA_CERT: - case KEY_DSA_CERT: - case KEY_ECDSA_CERT: - case KEY_ED25519_CERT: - case KEY_ECDSA_SK_CERT: - case KEY_ED25519_SK_CERT: - case KEY_XMSS_CERT: - key = sensitive_data.host_certificates[i]; - break; - default: - key = sensitive_data.host_keys[i]; - if (key == NULL && !need_private) - key = sensitive_data.host_pubkeys[i]; - break; - } - if (key == NULL || key->type != type) - continue; - switch (type) { - case KEY_ECDSA: - case KEY_ECDSA_SK: - case KEY_ECDSA_CERT: - case KEY_ECDSA_SK_CERT: - if (key->ecdsa_nid != nid) - continue; - /* FALLTHROUGH */ - default: - return need_private ? - sensitive_data.host_keys[i] : key; - } - } - return NULL; -} - -struct sshkey * -get_hostkey_public_by_type(int type, int nid, struct ssh *ssh) -{ - return get_hostkey_by_type(type, nid, 0, ssh); -} - -struct sshkey * -get_hostkey_private_by_type(int type, int nid, struct ssh *ssh) -{ - return get_hostkey_by_type(type, nid, 1, ssh); -} - -struct sshkey * -get_hostkey_by_index(int ind) -{ - if (ind < 0 || (u_int)ind >= options.num_host_key_files) - return (NULL); - return (sensitive_data.host_keys[ind]); -} - -struct sshkey * -get_hostkey_public_by_index(int ind, struct ssh *ssh) -{ - if (ind < 0 || (u_int)ind >= options.num_host_key_files) - return (NULL); - return (sensitive_data.host_pubkeys[ind]); -} - -int -get_hostkey_index(struct sshkey *key, int compare, struct ssh *ssh) -{ - u_int i; - - for (i = 0; i < options.num_host_key_files; i++) { - if (sshkey_is_cert(key)) { - if (key == sensitive_data.host_certificates[i] || - (compare && sensitive_data.host_certificates[i] && - sshkey_equal(key, - sensitive_data.host_certificates[i]))) - return (i); - } else { - if (key == sensitive_data.host_keys[i] || - (compare && sensitive_data.host_keys[i] && - sshkey_equal(key, sensitive_data.host_keys[i]))) - return (i); - if (key == sensitive_data.host_pubkeys[i] || - (compare && sensitive_data.host_pubkeys[i] && - sshkey_equal(key, sensitive_data.host_pubkeys[i]))) - return (i); - } - } - return (-1); -} - -/* Inform the client of all hostkeys */ -static void -notify_hostkeys(struct ssh *ssh) -{ - struct sshbuf *buf; - struct sshkey *key; - u_int i, nkeys; - int r; - char *fp; - - /* Some clients cannot cope with the hostkeys message, skip those. */ - if (ssh->compat & SSH_BUG_HOSTKEYS) - return; - - if ((buf = sshbuf_new()) == NULL) - fatal_f("sshbuf_new"); - for (i = nkeys = 0; i < options.num_host_key_files; i++) { - key = get_hostkey_public_by_index(i, ssh); - if (key == NULL || key->type == KEY_UNSPEC || - sshkey_is_cert(key)) - continue; - fp = sshkey_fingerprint(key, options.fingerprint_hash, - SSH_FP_DEFAULT); - debug3_f("key %d: %s %s", i, sshkey_ssh_name(key), fp); - free(fp); - if (nkeys == 0) { - /* - * Start building the request when we find the - * first usable key. - */ - if ((r = sshpkt_start(ssh, SSH2_MSG_GLOBAL_REQUEST)) != 0 || - (r = sshpkt_put_cstring(ssh, "hostkeys-00@openssh.com")) != 0 || - (r = sshpkt_put_u8(ssh, 0)) != 0) /* want reply */ - sshpkt_fatal(ssh, r, "%s: start request", __func__); - } - /* Append the key to the request */ - sshbuf_reset(buf); - if ((r = sshkey_putb(key, buf)) != 0) - fatal_fr(r, "couldn't put hostkey %d", i); - if ((r = sshpkt_put_stringb(ssh, buf)) != 0) - sshpkt_fatal(ssh, r, "%s: append key", __func__); - nkeys++; - } - debug3_f("sent %u hostkeys", nkeys); - if (nkeys == 0) - fatal_f("no hostkeys"); - if ((r = sshpkt_send(ssh)) != 0) - sshpkt_fatal(ssh, r, "%s: send", __func__); - sshbuf_free(buf); -} - /* * returns 1 if connection should be dropped, 0 otherwise. * dropping starts at connection #max_startups_begin with a probability @@ -903,17 +360,64 @@ usage(void) exit(1); } +static struct sshbuf * +pack_hostkeys(void) +{ + struct sshbuf *keybuf = NULL, *hostkeys = NULL; + int r; + u_int i; + + if ((keybuf = sshbuf_new()) == NULL || + (hostkeys = sshbuf_new()) == NULL) + fatal_f("sshbuf_new failed"); + + /* pack hostkeys into a string. Empty key slots get empty strings */ + for (i = 0; i < options.num_host_key_files; i++) { + /* private key */ + sshbuf_reset(keybuf); + if (sensitive_data.host_keys[i] != NULL && + (r = sshkey_private_serialize(sensitive_data.host_keys[i], + keybuf)) != 0) + fatal_fr(r, "serialize hostkey private"); + if ((r = sshbuf_put_stringb(hostkeys, keybuf)) != 0) + fatal_fr(r, "compose hostkey private"); + /* public key */ + if (sensitive_data.host_pubkeys[i] != NULL) { + if ((r = sshkey_puts(sensitive_data.host_pubkeys[i], + hostkeys)) != 0) + fatal_fr(r, "compose hostkey public"); + } else { + if ((r = sshbuf_put_string(hostkeys, NULL, 0)) != 0) + fatal_fr(r, "compose hostkey empty public"); + } + /* cert */ + if (sensitive_data.host_certificates[i] != NULL) { + if ((r = sshkey_puts( + sensitive_data.host_certificates[i], + hostkeys)) != 0) + fatal_fr(r, "compose host cert"); + } else { + if ((r = sshbuf_put_string(hostkeys, NULL, 0)) != 0) + fatal_fr(r, "compose host cert empty"); + } + } + + sshbuf_free(keybuf); + return hostkeys; +} + static void send_rexec_state(int fd, struct sshbuf *conf) { - struct sshbuf *m = NULL, *inc = NULL; + struct sshbuf *m = NULL, *inc = NULL, *hostkeys = NULL; struct include_item *item = NULL; - int r; + int r, sz; debug3_f("entering fd = %d config len %zu", fd, sshbuf_len(conf)); - if ((m = sshbuf_new()) == NULL || (inc = sshbuf_new()) == NULL) + if ((m = sshbuf_new()) == NULL || + (inc = sshbuf_new()) == NULL) fatal_f("sshbuf_new failed"); /* pack includes into a string */ @@ -924,9 +428,17 @@ send_rexec_state(int fd, struct sshbuf *conf) fatal_fr(r, "compose includes"); } + hostkeys = pack_hostkeys(); + /* * Protocol from reexec master to child: * string configuration + * uint64 timing_secret + * string host_keys[] { + * string private_key + * string public_key + * string certificate + * } * string included_files[] { * string selector * string filename @@ -934,81 +446,26 @@ send_rexec_state(int fd, struct sshbuf *conf) * } */ if ((r = sshbuf_put_stringb(m, conf)) != 0 || + (r = sshbuf_put_u64(m, options.timing_secret)) != 0 || + (r = sshbuf_put_stringb(m, hostkeys)) != 0 || (r = sshbuf_put_stringb(m, inc)) != 0) fatal_fr(r, "compose config"); + + /* We need to fit the entire message inside the socket send buffer */ + sz = ROUNDUP(sshbuf_len(m) + 5, 16*1024); + if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sz, sizeof sz) == -1) + fatal_f("setsockopt SO_SNDBUF: %s", strerror(errno)); + if (ssh_msg_send(fd, 0, m) == -1) error_f("ssh_msg_send failed"); sshbuf_free(m); sshbuf_free(inc); + sshbuf_free(hostkeys); debug3_f("done"); } -static void -recv_rexec_state(int fd, struct sshbuf *conf) -{ - struct sshbuf *m, *inc; - u_char *cp, ver; - size_t len; - int r; - struct include_item *item; - - debug3_f("entering fd = %d", fd); - - if ((m = sshbuf_new()) == NULL || (inc = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - if (ssh_msg_recv(fd, m) == -1) - fatal_f("ssh_msg_recv failed"); - if ((r = sshbuf_get_u8(m, &ver)) != 0) - fatal_fr(r, "parse version"); - if (ver != 0) - fatal_f("rexec version mismatch"); - if ((r = sshbuf_get_string(m, &cp, &len)) != 0 || - (r = sshbuf_get_stringb(m, inc)) != 0) - fatal_fr(r, "parse config"); - - if (conf != NULL && (r = sshbuf_put(conf, cp, len))) - fatal_fr(r, "sshbuf_put"); - - while (sshbuf_len(inc) != 0) { - item = xcalloc(1, sizeof(*item)); - if ((item->contents = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - if ((r = sshbuf_get_cstring(inc, &item->selector, NULL)) != 0 || - (r = sshbuf_get_cstring(inc, &item->filename, NULL)) != 0 || - (r = sshbuf_get_stringb(inc, item->contents)) != 0) - fatal_fr(r, "parse includes"); - TAILQ_INSERT_TAIL(&includes, item, entry); - } - - free(cp); - sshbuf_free(m); - - debug3_f("done"); -} - -/* Accept a connection from inetd */ -static void -server_accept_inetd(int *sock_in, int *sock_out) -{ - if (rexeced_flag) { - close(REEXEC_CONFIG_PASS_FD); - *sock_in = *sock_out = dup(STDIN_FILENO); - } else { - *sock_in = dup(STDIN_FILENO); - *sock_out = dup(STDOUT_FILENO); - } - /* - * We intentionally do not close the descriptors 0, 1, and 2 - * as our code for setting the descriptors won't work if - * ttyfd happens to be one of those. - */ - if (stdfd_devnull(1, 1, !log_stderr) == -1) - error_f("stdfd_devnull failed"); - debug("inetd sockets after dupping: %d, %d", *sock_in, *sock_out); -} - /* * Listen for TCP connections */ @@ -1113,7 +570,8 @@ server_listen(void) * from this function are in a forked subprocess. */ static void -server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) +server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, + int log_stderr) { struct pollfd *pfd = NULL; int i, j, ret, npfd; @@ -1270,7 +728,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) continue; } - if (rexec_flag && socketpair(AF_UNIX, + if (socketpair(AF_UNIX, SOCK_STREAM, 0, config_s) == -1) { error("reexec socketpair: %s", strerror(errno)); @@ -1306,10 +764,8 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) close(startup_p[1]); startup_pipe = -1; pid = getpid(); - if (rexec_flag) { - send_rexec_state(config_s[0], cfg); - close(config_s[0]); - } + send_rexec_state(config_s[0], cfg); + close(config_s[0]); free(pfd); return; } @@ -1340,19 +796,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) options.log_level, options.log_facility, log_stderr); - if (rexec_flag) - close(config_s[0]); - else { - /* - * Signal parent that the preliminaries - * for this child are complete. For the - * re-exec case, this happens after the - * child has received the rexec state - * from the server. - */ - (void)atomicio(vwrite, startup_pipe, - "\0", 1); - } + close(config_s[0]); free(pfd); return; } @@ -1366,11 +810,9 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) close(startup_p[1]); - if (rexec_flag) { - close(config_s[1]); - send_rexec_state(config_s[0], cfg); - close(config_s[0]); - } + close(config_s[1]); + send_rexec_state(config_s[0], cfg); + close(config_s[0]); close(*newsock); /* @@ -1389,88 +831,6 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) } } -/* - * If IP options are supported, make sure there are none (log and - * return an error if any are found). Basically we are worried about - * source routing; it can be used to pretend you are somebody - * (ip-address) you are not. That itself may be "almost acceptable" - * under certain circumstances, but rhosts authentication is useless - * if source routing is accepted. Notice also that if we just dropped - * source routing here, the other side could use IP spoofing to do - * rest of the interaction and could still bypass security. So we - * exit here if we detect any IP options. - */ -static void -check_ip_options(struct ssh *ssh) -{ -#ifdef IP_OPTIONS - int sock_in = ssh_packet_get_connection_in(ssh); - struct sockaddr_storage from; - u_char opts[200]; - socklen_t i, option_size = sizeof(opts), fromlen = sizeof(from); - char text[sizeof(opts) * 3 + 1]; - - memset(&from, 0, sizeof(from)); - if (getpeername(sock_in, (struct sockaddr *)&from, - &fromlen) == -1) - return; - if (from.ss_family != AF_INET) - return; - /* XXX IPv6 options? */ - - if (getsockopt(sock_in, IPPROTO_IP, IP_OPTIONS, opts, - &option_size) >= 0 && option_size != 0) { - text[0] = '\0'; - for (i = 0; i < option_size; i++) - snprintf(text + i*3, sizeof(text) - i*3, - " %2.2x", opts[i]); - fatal("Connection from %.100s port %d with IP opts: %.800s", - ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), text); - } - return; -#endif /* IP_OPTIONS */ -} - -/* Set the routing domain for this process */ -static void -set_process_rdomain(struct ssh *ssh, const char *name) -{ -#if defined(HAVE_SYS_SET_PROCESS_RDOMAIN) - if (name == NULL) - return; /* default */ - - if (strcmp(name, "%D") == 0) { - /* "expands" to routing domain of connection */ - if ((name = ssh_packet_rdomain_in(ssh)) == NULL) - return; - } - /* NB. We don't pass 'ssh' to sys_set_process_rdomain() */ - return sys_set_process_rdomain(name); -#elif defined(__OpenBSD__) - int rtable, ortable = getrtable(); - const char *errstr; - - if (name == NULL) - return; /* default */ - - if (strcmp(name, "%D") == 0) { - /* "expands" to routing domain of connection */ - if ((name = ssh_packet_rdomain_in(ssh)) == NULL) - return; - } - - rtable = (int)strtonum(name, 0, 255, &errstr); - if (errstr != NULL) /* Shouldn't happen */ - fatal("Invalid routing domain \"%s\": %s", name, errstr); - if (rtable != ortable && setrtable(rtable) != 0) - fatal("Unable to set routing domain %d: %s", - rtable, strerror(errno)); - debug_f("set routing domain %d (was %d)", rtable, ortable); -#else /* defined(__OpenBSD__) */ - fatal("Unable to set routing domain: not supported in this platform"); -#endif -} - static void accumulate_host_timing_secret(struct sshbuf *server_cfg, struct sshkey *key) @@ -1520,14 +880,8 @@ prepare_proctitle(int ac, char **av) } static void -print_config(struct ssh *ssh, struct connection_info *connection_info) +print_config(struct connection_info *connection_info) { - /* - * If no connection info was provided by -C then use - * use a blank one that will cause no predicate to match. - */ - if (connection_info == NULL) - connection_info = get_connection_info(ssh, 0, 0); connection_info->test = 1; parse_server_match_config(&options, &includes, connection_info); dump_config(&options); @@ -1540,24 +894,24 @@ print_config(struct ssh *ssh, struct connection_info *connection_info) int main(int ac, char **av) { - struct ssh *ssh = NULL; extern char *optarg; extern int optind; - int r, opt, on = 1, do_dump_cfg = 0, already_daemon, remote_port; - int sock_in = -1, sock_out = -1, newsock = -1; - const char *remote_ip, *rdomain; - char *fp, *line, *laddr, *logfile = NULL; - int config_s[2] = { -1 , -1 }; + int log_stderr = 0, inetd_flag = 0, test_flag = 0, no_daemon_flag = 0; + char *config_file_name = _PATH_SERVER_CONFIG_FILE; + int r, opt, do_dump_cfg = 0, keytype, already_daemon, have_agent = 0; + int sock_in = -1, sock_out = -1, newsock = -1, rexec_argc = 0; + int config_s[2] = { -1 , -1 }, have_connection_info = 0; + int need_privsep = 1; + char *fp, *line, *logfile = NULL, **rexec_argv = NULL; + struct stat sb; u_int i, j; - u_int64_t ibytes, obytes; mode_t new_umask; struct sshkey *key; struct sshkey *pubkey; - int keytype; - Authctxt *authctxt; - struct connection_info *connection_info = NULL; + struct connection_info connection_info; sigset_t sigmask; + memset(&connection_info, 0, sizeof(connection_info)); #ifdef HAVE_SECUREWARE (void)set_auth_parameters(ac, av); #endif @@ -1629,11 +983,10 @@ main(int ac, char **av) inetd_flag = 1; break; case 'r': - rexec_flag = 0; + /* ignored */ break; case 'R': - rexeced_flag = 1; - inetd_flag = 1; + fatal("-R not supported here"); break; case 'Q': /* ignored */ @@ -1676,10 +1029,10 @@ main(int ac, char **av) test_flag = 2; break; case 'C': - connection_info = get_connection_info(ssh, 0, 0); - if (parse_server_match_testspec(connection_info, + if (parse_server_match_testspec(&connection_info, optarg) == -1) exit(1); + have_connection_info = 1; break; case 'u': utmp_len = (u_int)strtonum(optarg, 0, HOST_NAME_MAX+1+1, NULL); @@ -1704,20 +1057,25 @@ main(int ac, char **av) break; } } - if (rexeced_flag || inetd_flag) - rexec_flag = 0; - if (!test_flag && !do_dump_cfg && rexec_flag && !path_absolute(av[0])) - fatal("sshd re-exec requires execution with an absolute path"); - if (rexeced_flag) - closefrom(REEXEC_MIN_FREE_FD); - else - closefrom(REEXEC_DEVCRYPTO_RESERVED_FD); + if (!test_flag && !do_dump_cfg && !path_absolute(av[0])) + fatal("sshd requires execution with an absolute path"); + closefrom(REEXEC_DEVCRYPTO_RESERVED_FD); seed_rng(); /* If requested, redirect the logs to the specified logfile. */ - if (logfile != NULL) - log_redirect_stderr_to(logfile); + if (logfile != NULL) { + char *cp, pid_s[32]; + + snprintf(pid_s, sizeof(pid_s), "%ld", (unsigned long)getpid()); + cp = percent_expand(logfile, + "p", pid_s, + "P", "sshd", + (char *)NULL); + log_redirect_stderr_to(cp); + free(cp); + } + /* * Force logging to stderr until we have loaded the private host * key (unless started from inetd) @@ -1742,35 +1100,18 @@ main(int ac, char **av) * If we're not doing an extended test do not silently ignore connection * test params. */ - if (test_flag < 2 && connection_info != NULL) + if (test_flag < 2 && have_connection_info) fatal("Config test connection parameter (-C) provided without " "test mode (-T)"); /* Fetch our configuration */ if ((cfg = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - if (rexeced_flag) { - setproctitle("%s", "[rexeced]"); - recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg); - if (!debug_flag) { - startup_pipe = dup(REEXEC_STARTUP_PIPE_FD); - close(REEXEC_STARTUP_PIPE_FD); - /* - * Signal parent that this child is at a point where - * they can go away if they have a SIGHUP pending. - */ - (void)atomicio(vwrite, startup_pipe, "\0", 1); - } - } else if (strcasecmp(config_file_name, "none") != 0) + fatal("sshbuf_new config failed"); + if (strcasecmp(config_file_name, "none") != 0) load_server_config(config_file_name, cfg); - parse_server_config(&options, rexeced_flag ? "rexec" : config_file_name, - cfg, &includes, NULL, rexeced_flag); - -#ifdef WITH_OPENSSL - if (options.moduli_file != NULL) - dh_set_moduli_file(options.moduli_file); -#endif + parse_server_config(&options, config_file_name, cfg, + &includes, NULL, 0); /* Fill in default values for those options not explicitly set. */ fill_default_server_options(&options); @@ -1790,7 +1131,7 @@ main(int ac, char **av) /* * Check whether there is any path through configured auth methods. * Unfortunately it is not possible to verify this generally before - * daemonisation in the presence of Match block, but this catches + * daemonisation in the presence of Match blocks, but this catches * and warns for trivial misconfigurations that could break login. */ if (options.num_auth_methods != 0) { @@ -1813,20 +1154,7 @@ main(int ac, char **av) debug("sshd version %s, %s", SSH_VERSION, SSH_OPENSSL_VERSION); if (do_dump_cfg) - print_config(ssh, connection_info); - - /* Store privilege separation user for later use if required. */ - privsep_chroot = use_privsep && (getuid() == 0 || geteuid() == 0); - if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { - if (privsep_chroot || options.kerberos_authentication) - fatal("Privilege separation user %s does not exist", - SSH_PRIVSEP_USER); - } else { - privsep_pw = pwcopy(privsep_pw); - freezero(privsep_pw->pw_passwd, strlen(privsep_pw->pw_passwd)); - privsep_pw->pw_passwd = xstrdup("*"); - } - endpwent(); + print_config(&connection_info); /* load host keys */ sensitive_data.host_keys = xcalloc(options.num_host_key_files, @@ -1978,27 +1306,33 @@ main(int ac, char **av) sshkey_type(key)); } - if (privsep_chroot) { - struct stat st; + /* Ensure privsep directory is correctly configured. */ + need_privsep = ((getuid() == 0 || geteuid() == 0) || + options.kerberos_authentication); + if ((getpwnam(SSH_PRIVSEP_USER)) == NULL && need_privsep) { + fatal("Privilege separation user %s does not exist", + SSH_PRIVSEP_USER); + } + endpwent(); - if ((stat(_PATH_PRIVSEP_CHROOT_DIR, &st) == -1) || - (S_ISDIR(st.st_mode) == 0)) + if (need_privsep) { + if ((stat(_PATH_PRIVSEP_CHROOT_DIR, &sb) == -1) || + (S_ISDIR(sb.st_mode) == 0)) fatal("Missing privilege separation directory: %s", _PATH_PRIVSEP_CHROOT_DIR); - #ifdef HAVE_CYGWIN if (check_ntsec(_PATH_PRIVSEP_CHROOT_DIR) && - (st.st_uid != getuid () || - (st.st_mode & (S_IWGRP|S_IWOTH)) != 0)) + (sb.st_uid != getuid () || + (sb.st_mode & (S_IWGRP|S_IWOTH)) != 0)) #else - if (st.st_uid != 0 || (st.st_mode & (S_IWGRP|S_IWOTH)) != 0) + if (sb.st_uid != 0 || (sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) #endif fatal("%s must be owned by root and not group or " - "world-writable.", _PATH_PRIVSEP_CHROOT_DIR); + "world-writable.", _PATH_PRIVSEP_CHROOT_DIR); } if (test_flag > 1) - print_config(ssh, connection_info); + print_config(&connection_info); /* Configuration looks good, so exit if in test mode. */ if (test_flag) @@ -2014,17 +1348,22 @@ main(int ac, char **av) if (setgroups(0, NULL) < 0) debug("setgroups() failed: %.200s", strerror(errno)); - if (rexec_flag) { - if (rexec_argc < 0) - fatal("rexec_argc %d < 0", rexec_argc); - rexec_argv = xcalloc(rexec_argc + 2, sizeof(char *)); - for (i = 0; i < (u_int)rexec_argc; i++) { - debug("rexec_argv[%d]='%s'", i, saved_argv[i]); - rexec_argv[i] = saved_argv[i]; - } - rexec_argv[rexec_argc] = "-R"; - rexec_argv[rexec_argc + 1] = NULL; + /* Prepare arguments for sshd-session */ + if (rexec_argc < 0) + fatal("rexec_argc %d < 0", rexec_argc); + rexec_argv = xcalloc(rexec_argc + 3, sizeof(char *)); + /* Point to the sshd-session binary instead of sshd */ + rexec_argv[0] = options.sshd_session_path; + for (i = 1; i < (u_int)rexec_argc; i++) { + debug("rexec_argv[%d]='%s'", i, saved_argv[i]); + rexec_argv[i] = saved_argv[i]; } + rexec_argv[rexec_argc++] = "-R"; + rexec_argv[rexec_argc] = NULL; + if (stat(rexec_argv[0], &sb) != 0 || !(sb.st_mode & (S_IXOTH|S_IXUSR))) + fatal("%s does not exist or is not executable", rexec_argv[0]); + debug3("using %s for re-exec", rexec_argv[0]); + listener_proctitle = prepare_proctitle(ac, av); /* Ensure that umask disallows at least group and world write */ @@ -2032,7 +1371,7 @@ main(int ac, char **av) (void) umask(new_umask); /* Initialize the log (it is reinitialized below in case we forked). */ - if (debug_flag && (!inetd_flag || rexeced_flag)) + if (debug_flag && !inetd_flag) log_stderr = 1; log_init(__progname, options.log_level, options.log_facility, log_stderr); @@ -2067,7 +1406,11 @@ main(int ac, char **av) /* Get a connection, either from inetd or a listening TCP socket */ if (inetd_flag) { - server_accept_inetd(&sock_in, &sock_out); + /* Send configuration to ancestor sshd-session process */ + if (socketpair(AF_UNIX, SOCK_STREAM, 0, config_s) == -1) + fatal("socketpair: %s", strerror(errno)); + send_rexec_state(config_s[0], cfg); + close(config_s[0]); } else { platform_pre_listen(); server_listen(); @@ -2097,7 +1440,7 @@ main(int ac, char **av) /* Accept a connection and return in a forked child */ server_accept_loop(&sock_in, &sock_out, - &newsock, config_s); + &newsock, config_s, log_stderr); } /* This is the child processing a new connection. */ @@ -2111,358 +1454,36 @@ main(int ac, char **av) if (!debug_flag && !inetd_flag && setsid() == -1) error("setsid: %.100s", strerror(errno)); - if (rexec_flag) { - debug("rexec start in %d out %d newsock %d pipe %d sock %d", - sock_in, sock_out, newsock, startup_pipe, config_s[0]); + debug("rexec start in %d out %d newsock %d pipe %d sock %d/%d", + sock_in, sock_out, newsock, startup_pipe, config_s[0], config_s[1]); + if (!inetd_flag) { if (dup2(newsock, STDIN_FILENO) == -1) - debug3_f("dup2 stdin: %s", strerror(errno)); + debug3("dup2 stdin: %s", strerror(errno)); if (dup2(STDIN_FILENO, STDOUT_FILENO) == -1) - debug3_f("dup2 stdout: %s", strerror(errno)); - if (startup_pipe == -1) - close(REEXEC_STARTUP_PIPE_FD); - else if (startup_pipe != REEXEC_STARTUP_PIPE_FD) { - if (dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD) == -1) - debug3_f("dup2 startup_p: %s", strerror(errno)); - close(startup_pipe); - startup_pipe = REEXEC_STARTUP_PIPE_FD; - } - + debug3("dup2 stdout: %s", strerror(errno)); + } + if (config_s[1] != REEXEC_CONFIG_PASS_FD) { if (dup2(config_s[1], REEXEC_CONFIG_PASS_FD) == -1) - debug3_f("dup2 config_s: %s", strerror(errno)); + debug3("dup2 config_s: %s", strerror(errno)); close(config_s[1]); - - ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ - execv(rexec_argv[0], rexec_argv); - - /* Reexec has failed, fall back and continue */ - error("rexec of %s failed: %s", rexec_argv[0], strerror(errno)); - recv_rexec_state(REEXEC_CONFIG_PASS_FD, NULL); - log_init(__progname, options.log_level, - options.log_facility, log_stderr); - - /* Clean up fds */ - close(REEXEC_CONFIG_PASS_FD); - newsock = sock_out = sock_in = dup(STDIN_FILENO); - if (stdfd_devnull(1, 1, 0) == -1) - error_f("stdfd_devnull failed"); - debug("rexec cleanup in %d out %d newsock %d pipe %d sock %d", - sock_in, sock_out, newsock, startup_pipe, config_s[0]); - } - - /* Executed child processes don't need these. */ - fcntl(sock_out, F_SETFD, FD_CLOEXEC); - fcntl(sock_in, F_SETFD, FD_CLOEXEC); - - /* We will not restart on SIGHUP since it no longer makes sense. */ - ssh_signal(SIGALRM, SIG_DFL); - ssh_signal(SIGHUP, SIG_DFL); - ssh_signal(SIGTERM, SIG_DFL); - ssh_signal(SIGQUIT, SIG_DFL); - ssh_signal(SIGCHLD, SIG_DFL); - ssh_signal(SIGINT, SIG_DFL); - - /* - * Register our connection. This turns encryption off because we do - * not have a key. - */ - if ((ssh = ssh_packet_set_connection(NULL, sock_in, sock_out)) == NULL) - fatal("Unable to create connection"); - the_active_state = ssh; - ssh_packet_set_server(ssh); - - check_ip_options(ssh); - - /* Prepare the channels layer */ - channel_init_channels(ssh); - channel_set_af(ssh, options.address_family); - process_channel_timeouts(ssh, &options); - process_permitopen(ssh, &options); - - /* Set SO_KEEPALIVE if requested. */ - if (options.tcp_keep_alive && ssh_packet_connection_is_on_socket(ssh) && - setsockopt(sock_in, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof(on)) == -1) - error("setsockopt SO_KEEPALIVE: %.100s", strerror(errno)); - - if ((remote_port = ssh_remote_port(ssh)) < 0) { - debug("ssh_remote_port failed"); - cleanup_exit(255); - } - - if (options.routing_domain != NULL) - set_process_rdomain(ssh, options.routing_domain); - - /* - * The rest of the code depends on the fact that - * ssh_remote_ipaddr() caches the remote ip, even if - * the socket goes away. - */ - remote_ip = ssh_remote_ipaddr(ssh); - -#ifdef SSH_AUDIT_EVENTS - audit_connection_from(remote_ip, remote_port); -#endif - - rdomain = ssh_packet_rdomain_in(ssh); - - /* Log the connection. */ - laddr = get_local_ipaddr(sock_in); - verbose("Connection from %s port %d on %s port %d%s%s%s", - remote_ip, remote_port, laddr, ssh_local_port(ssh), - rdomain == NULL ? "" : " rdomain \"", - rdomain == NULL ? "" : rdomain, - rdomain == NULL ? "" : "\""); - free(laddr); - - /* - * We don't want to listen forever unless the other side - * successfully authenticates itself. So we set up an alarm which is - * cleared after successful authentication. A limit of zero - * indicates no limit. Note that we don't set the alarm in debugging - * mode; it is just annoying to have the server exit just when you - * are about to discover the bug. - */ - ssh_signal(SIGALRM, grace_alarm_handler); - if (!debug_flag) - alarm(options.login_grace_time); - - if ((r = kex_exchange_identification(ssh, -1, - options.version_addendum)) != 0) - sshpkt_fatal(ssh, r, "banner exchange"); - - ssh_packet_set_nonblocking(ssh); - - /* allocate authentication context */ - authctxt = xcalloc(1, sizeof(*authctxt)); - ssh->authctxt = authctxt; - - authctxt->loginmsg = loginmsg; - - /* XXX global for cleanup, access from other modules */ - the_authctxt = authctxt; - - /* Set default key authentication options */ - if ((auth_opts = sshauthopt_new_with_keys_defaults()) == NULL) - fatal("allocation failed"); - - /* prepare buffer to collect messages to display to user after login */ - if ((loginmsg = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - auth_debug_reset(); - - if (use_privsep) { - if (privsep_preauth(ssh) == 1) - goto authenticated; - } else if (have_agent) { - if ((r = ssh_get_authentication_socket(&auth_sock)) != 0) { - error_r(r, "Unable to get agent socket"); - have_agent = 0; - } - } - - /* perform the key exchange */ - /* authenticate user and start session */ - do_ssh2_kex(ssh); - do_authentication2(ssh); - - /* - * If we use privilege separation, the unprivileged child transfers - * the current keystate and exits - */ - if (use_privsep) { - mm_send_keystate(ssh, pmonitor); - ssh_packet_clear_keys(ssh); - exit(0); } - - authenticated: - /* - * Cancel the alarm we set to limit the time taken for - * authentication. - */ - alarm(0); - ssh_signal(SIGALRM, SIG_DFL); - authctxt->authenticated = 1; - if (startup_pipe != -1) { + if (startup_pipe == -1) + close(REEXEC_STARTUP_PIPE_FD); + else if (startup_pipe != REEXEC_STARTUP_PIPE_FD) { + if (dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD) == -1) + debug3("dup2 startup_p: %s", strerror(errno)); close(startup_pipe); - startup_pipe = -1; } -#ifdef SSH_AUDIT_EVENTS - audit_event(ssh, SSH_AUTH_SUCCESS); -#endif - -#ifdef GSSAPI - if (options.gss_authentication) { - temporarily_use_uid(authctxt->pw); - ssh_gssapi_storecreds(); - restore_uid(); - } -#endif -#ifdef USE_PAM - if (options.use_pam) { - do_pam_setcred(1); - do_pam_session(ssh); - } -#endif + ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ + execv(rexec_argv[0], rexec_argv); - /* - * In privilege separation, we fork another child and prepare - * file descriptor passing. - */ - if (use_privsep) { - privsep_postauth(ssh, authctxt); - /* the monitor process [priv] will not return */ - } - - ssh_packet_set_timeout(ssh, options.client_alive_interval, - options.client_alive_count_max); - - /* Try to send all our hostkeys to the client */ - notify_hostkeys(ssh); - - /* Start session. */ - do_authenticated(ssh, authctxt); - - /* The connection has been terminated. */ - ssh_packet_get_bytes(ssh, &ibytes, &obytes); - verbose("Transferred: sent %llu, received %llu bytes", - (unsigned long long)obytes, (unsigned long long)ibytes); - - verbose("Closing connection to %.500s port %d", remote_ip, remote_port); - -#ifdef USE_PAM - if (options.use_pam) - finish_pam(); -#endif /* USE_PAM */ - -#ifdef SSH_AUDIT_EVENTS - PRIVSEP(audit_event(ssh, SSH_CONNECTION_CLOSE)); -#endif - - ssh_packet_close(ssh); - - if (use_privsep) - mm_terminate(); - - exit(0); -} - -int -sshd_hostkey_sign(struct ssh *ssh, struct sshkey *privkey, - struct sshkey *pubkey, u_char **signature, size_t *slenp, - const u_char *data, size_t dlen, const char *alg) -{ - int r; - - if (use_privsep) { - if (privkey) { - if (mm_sshkey_sign(ssh, privkey, signature, slenp, - data, dlen, alg, options.sk_provider, NULL, - ssh->compat) < 0) - fatal_f("privkey sign failed"); - } else { - if (mm_sshkey_sign(ssh, pubkey, signature, slenp, - data, dlen, alg, options.sk_provider, NULL, - ssh->compat) < 0) - fatal_f("pubkey sign failed"); - } - } else { - if (privkey) { - if (sshkey_sign(privkey, signature, slenp, data, dlen, - alg, options.sk_provider, NULL, ssh->compat) < 0) - fatal_f("privkey sign failed"); - } else { - if ((r = ssh_agent_sign(auth_sock, pubkey, - signature, slenp, data, dlen, alg, - ssh->compat)) != 0) { - fatal_fr(r, "agent sign failed"); - } - } - } - return 0; -} - -/* SSH2 key exchange */ -static void -do_ssh2_kex(struct ssh *ssh) -{ - char *hkalgs = NULL, *myproposal[PROPOSAL_MAX]; - const char *compression = NULL; - struct kex *kex; - int r; - - if (options.rekey_limit || options.rekey_interval) - ssh_packet_set_rekey_limits(ssh, options.rekey_limit, - options.rekey_interval); - - if (options.compression == COMP_NONE) - compression = "none"; - hkalgs = list_hostkey_types(); - - kex_proposal_populate_entries(ssh, myproposal, options.kex_algorithms, - options.ciphers, options.macs, compression, hkalgs); - - free(hkalgs); - - /* start key exchange */ - if ((r = kex_setup(ssh, myproposal)) != 0) - fatal_r(r, "kex_setup"); - kex_set_server_sig_algs(ssh, options.pubkey_accepted_algos); - kex = ssh->kex; - -#ifdef WITH_OPENSSL - kex->kex[KEX_DH_GRP1_SHA1] = kex_gen_server; - kex->kex[KEX_DH_GRP14_SHA1] = kex_gen_server; - kex->kex[KEX_DH_GRP14_SHA256] = kex_gen_server; - kex->kex[KEX_DH_GRP16_SHA512] = kex_gen_server; - kex->kex[KEX_DH_GRP18_SHA512] = kex_gen_server; - kex->kex[KEX_DH_GEX_SHA1] = kexgex_server; - kex->kex[KEX_DH_GEX_SHA256] = kexgex_server; -# ifdef OPENSSL_HAS_ECC - kex->kex[KEX_ECDH_SHA2] = kex_gen_server; -# endif -#endif - kex->kex[KEX_C25519_SHA256] = kex_gen_server; - kex->kex[KEX_KEM_SNTRUP761X25519_SHA512] = kex_gen_server; - kex->load_host_public_key=&get_hostkey_public_by_type; - kex->load_host_private_key=&get_hostkey_private_by_type; - kex->host_key_index=&get_hostkey_index; - kex->sign = sshd_hostkey_sign; - - ssh_dispatch_run_fatal(ssh, DISPATCH_BLOCK, &kex->done); - kex_proposal_free_entries(myproposal); - -#ifdef DEBUG_KEXDH - /* send 1st encrypted/maced/compressed message */ - if ((r = sshpkt_start(ssh, SSH2_MSG_IGNORE)) != 0 || - (r = sshpkt_put_cstring(ssh, "markus")) != 0 || - (r = sshpkt_send(ssh)) != 0 || - (r = ssh_packet_write_wait(ssh)) != 0) - fatal_fr(r, "send test"); -#endif - debug("KEX done"); + fatal("rexec of %s failed: %s", rexec_argv[0], strerror(errno)); } /* server specific fatal cleanup */ void cleanup_exit(int i) { - if (the_active_state != NULL && the_authctxt != NULL) { - do_cleanup(the_active_state, the_authctxt); - if (use_privsep && privsep_is_preauth && - pmonitor != NULL && pmonitor->m_pid > 1) { - debug("Killing privsep child %d", pmonitor->m_pid); - if (kill(pmonitor->m_pid, SIGKILL) != 0 && - errno != ESRCH) { - error_f("kill(%d): %s", pmonitor->m_pid, - strerror(errno)); - } - } - } -#ifdef SSH_AUDIT_EVENTS - /* done after do_cleanup so it can cancel the PAM auth 'thread' */ - if (the_active_state != NULL && (!use_privsep || mm_is_monitor())) - audit_event(the_active_state, SSH_CONNECTION_ABANDON); -#endif _exit(i); } From c0416035c5eaf70a8450d11c8833c5f7068ee7ad Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 17 May 2024 00:32:32 +0000 Subject: [PATCH 060/172] upstream: missing files from previous OpenBSD-Commit-ID: 4b7be4434d8799f02365552b641a7a70a7ebeb2f --- auth2-methods.c | 135 ++++++++++++++++++++ kex-names.c | 330 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 465 insertions(+) create mode 100644 auth2-methods.c create mode 100644 kex-names.c diff --git a/auth2-methods.c b/auth2-methods.c new file mode 100644 index 000000000000..cddcf0ff518a --- /dev/null +++ b/auth2-methods.c @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2012,2023 Damien Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "includes.h" + +#include +#include + +#include +#include + +#include "log.h" +#include "misc.h" +#include "servconf.h" +#include "xmalloc.h" +#include "hostfile.h" +#include "auth.h" + +extern ServerOptions options; + +/* + * Configuration of enabled authentication methods. Separate to the rest of + * auth2-*.c because we want to query it during server configuration validity + * checking in the sshd listener process without pulling all the auth code in + * too. + */ + +/* "none" is allowed only one time and it cleared by userauth_none() later */ +int none_enabled = 1; +struct authmethod_cfg methodcfg_none = { + "none", + NULL, + &none_enabled +}; +struct authmethod_cfg methodcfg_pubkey = { + "publickey", + "publickey-hostbound-v00@openssh.com", + &options.pubkey_authentication +}; +#ifdef GSSAPI +struct authmethod_cfg methodcfg_gssapi = { + "gssapi-with-mic", + NULL, + &options.gss_authentication +}; +#endif +struct authmethod_cfg methodcfg_passwd = { + "password", + NULL, + &options.password_authentication +}; +struct authmethod_cfg methodcfg_kbdint = { + "keyboard-interactive", + NULL, + &options.kbd_interactive_authentication +}; +struct authmethod_cfg methodcfg_hostbased = { + "hostbased", + NULL, + &options.hostbased_authentication +}; + +static struct authmethod_cfg *authmethod_cfgs[] = { + &methodcfg_none, + &methodcfg_pubkey, +#ifdef GSSAPI + &methodcfg_gssapi, +#endif + &methodcfg_passwd, + &methodcfg_kbdint, + &methodcfg_hostbased, + NULL +}; + +/* + * Check a comma-separated list of methods for validity. Is need_enable is + * non-zero, then also require that the methods are enabled. + * Returns 0 on success or -1 if the methods list is invalid. + */ +int +auth2_methods_valid(const char *_methods, int need_enable) +{ + char *methods, *omethods, *method, *p; + u_int i, found; + int ret = -1; + const struct authmethod_cfg *cfg; + + if (*_methods == '\0') { + error("empty authentication method list"); + return -1; + } + omethods = methods = xstrdup(_methods); + while ((method = strsep(&methods, ",")) != NULL) { + for (found = i = 0; !found && authmethod_cfgs[i] != NULL; i++) { + cfg = authmethod_cfgs[i]; + if ((p = strchr(method, ':')) != NULL) + *p = '\0'; + if (strcmp(method, cfg->name) != 0) + continue; + if (need_enable) { + if (cfg->enabled == NULL || + *(cfg->enabled) == 0) { + error("Disabled method \"%s\" in " + "AuthenticationMethods list \"%s\"", + method, _methods); + goto out; + } + } + found = 1; + break; + } + if (!found) { + error("Unknown authentication method \"%s\" in list", + method); + goto out; + } + } + ret = 0; + out: + free(omethods); + return ret; +} diff --git a/kex-names.c b/kex-names.c new file mode 100644 index 000000000000..339eb1c23cc4 --- /dev/null +++ b/kex-names.c @@ -0,0 +1,330 @@ +/* $OpenBSD: kex-names.c,v 1.1 2024/05/17 00:32:32 djm Exp $ */ +/* + * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "includes.h" + +#include +#include +#include +#include +#include + +#ifdef WITH_OPENSSL +#include +#include +#endif + +#include "kex.h" +#include "log.h" +#include "match.h" +#include "digest.h" +#include "misc.h" + +#include "ssherr.h" +#include "xmalloc.h" + +struct kexalg { + char *name; + u_int type; + int ec_nid; + int hash_alg; +}; +static const struct kexalg kexalgs[] = { +#ifdef WITH_OPENSSL + { KEX_DH1, KEX_DH_GRP1_SHA1, 0, SSH_DIGEST_SHA1 }, + { KEX_DH14_SHA1, KEX_DH_GRP14_SHA1, 0, SSH_DIGEST_SHA1 }, + { KEX_DH14_SHA256, KEX_DH_GRP14_SHA256, 0, SSH_DIGEST_SHA256 }, + { KEX_DH16_SHA512, KEX_DH_GRP16_SHA512, 0, SSH_DIGEST_SHA512 }, + { KEX_DH18_SHA512, KEX_DH_GRP18_SHA512, 0, SSH_DIGEST_SHA512 }, + { KEX_DHGEX_SHA1, KEX_DH_GEX_SHA1, 0, SSH_DIGEST_SHA1 }, +#ifdef HAVE_EVP_SHA256 + { KEX_DHGEX_SHA256, KEX_DH_GEX_SHA256, 0, SSH_DIGEST_SHA256 }, +#endif /* HAVE_EVP_SHA256 */ +#ifdef OPENSSL_HAS_ECC + { KEX_ECDH_SHA2_NISTP256, KEX_ECDH_SHA2, + NID_X9_62_prime256v1, SSH_DIGEST_SHA256 }, + { KEX_ECDH_SHA2_NISTP384, KEX_ECDH_SHA2, NID_secp384r1, + SSH_DIGEST_SHA384 }, +# ifdef OPENSSL_HAS_NISTP521 + { KEX_ECDH_SHA2_NISTP521, KEX_ECDH_SHA2, NID_secp521r1, + SSH_DIGEST_SHA512 }, +# endif /* OPENSSL_HAS_NISTP521 */ +#endif /* OPENSSL_HAS_ECC */ +#endif /* WITH_OPENSSL */ +#if defined(HAVE_EVP_SHA256) || !defined(WITH_OPENSSL) + { KEX_CURVE25519_SHA256, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, + { KEX_CURVE25519_SHA256_OLD, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, +#ifdef USE_SNTRUP761X25519 + { KEX_SNTRUP761X25519_SHA512, KEX_KEM_SNTRUP761X25519_SHA512, 0, + SSH_DIGEST_SHA512 }, +#endif +#endif /* HAVE_EVP_SHA256 || !WITH_OPENSSL */ + { NULL, 0, -1, -1}, +}; + +char * +kex_alg_list(char sep) +{ + char *ret = NULL, *tmp; + size_t nlen, rlen = 0; + const struct kexalg *k; + + for (k = kexalgs; k->name != NULL; k++) { + if (ret != NULL) + ret[rlen++] = sep; + nlen = strlen(k->name); + if ((tmp = realloc(ret, rlen + nlen + 2)) == NULL) { + free(ret); + return NULL; + } + ret = tmp; + memcpy(ret + rlen, k->name, nlen + 1); + rlen += nlen; + } + return ret; +} + +static const struct kexalg * +kex_alg_by_name(const char *name) +{ + const struct kexalg *k; + + for (k = kexalgs; k->name != NULL; k++) { + if (strcmp(k->name, name) == 0) + return k; + } + return NULL; +} + +int +kex_name_valid(const char *name) +{ + return kex_alg_by_name(name) != NULL; +} + +u_int +kex_type_from_name(const char *name) +{ + const struct kexalg *k; + + if ((k = kex_alg_by_name(name)) == NULL) + return 0; + return k->type; +} + +int +kex_hash_from_name(const char *name) +{ + const struct kexalg *k; + + if ((k = kex_alg_by_name(name)) == NULL) + return -1; + return k->hash_alg; +} + +int +kex_nid_from_name(const char *name) +{ + const struct kexalg *k; + + if ((k = kex_alg_by_name(name)) == NULL) + return -1; + return k->ec_nid; +} + +/* Validate KEX method name list */ +int +kex_names_valid(const char *names) +{ + char *s, *cp, *p; + + if (names == NULL || strcmp(names, "") == 0) + return 0; + if ((s = cp = strdup(names)) == NULL) + return 0; + for ((p = strsep(&cp, ",")); p && *p != '\0'; + (p = strsep(&cp, ","))) { + if (kex_alg_by_name(p) == NULL) { + error("Unsupported KEX algorithm \"%.100s\"", p); + free(s); + return 0; + } + } + debug3("kex names ok: [%s]", names); + free(s); + return 1; +} + +/* returns non-zero if proposal contains any algorithm from algs */ +int +kex_has_any_alg(const char *proposal, const char *algs) +{ + char *cp; + + if ((cp = match_list(proposal, algs, NULL)) == NULL) + return 0; + free(cp); + return 1; +} + +/* + * Concatenate algorithm names, avoiding duplicates in the process. + * Caller must free returned string. + */ +char * +kex_names_cat(const char *a, const char *b) +{ + char *ret = NULL, *tmp = NULL, *cp, *p; + size_t len; + + if (a == NULL || *a == '\0') + return strdup(b); + if (b == NULL || *b == '\0') + return strdup(a); + if (strlen(b) > 1024*1024) + return NULL; + len = strlen(a) + strlen(b) + 2; + if ((tmp = cp = strdup(b)) == NULL || + (ret = calloc(1, len)) == NULL) { + free(tmp); + return NULL; + } + strlcpy(ret, a, len); + for ((p = strsep(&cp, ",")); p && *p != '\0'; (p = strsep(&cp, ","))) { + if (kex_has_any_alg(ret, p)) + continue; /* Algorithm already present */ + if (strlcat(ret, ",", len) >= len || + strlcat(ret, p, len) >= len) { + free(tmp); + free(ret); + return NULL; /* Shouldn't happen */ + } + } + free(tmp); + return ret; +} + +/* + * Assemble a list of algorithms from a default list and a string from a + * configuration file. The user-provided string may begin with '+' to + * indicate that it should be appended to the default, '-' that the + * specified names should be removed, or '^' that they should be placed + * at the head. + */ +int +kex_assemble_names(char **listp, const char *def, const char *all) +{ + char *cp, *tmp, *patterns; + char *list = NULL, *ret = NULL, *matching = NULL, *opatterns = NULL; + int r = SSH_ERR_INTERNAL_ERROR; + + if (listp == NULL || def == NULL || all == NULL) + return SSH_ERR_INVALID_ARGUMENT; + + if (*listp == NULL || **listp == '\0') { + if ((*listp = strdup(def)) == NULL) + return SSH_ERR_ALLOC_FAIL; + return 0; + } + + list = *listp; + *listp = NULL; + if (*list == '+') { + /* Append names to default list */ + if ((tmp = kex_names_cat(def, list + 1)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto fail; + } + free(list); + list = tmp; + } else if (*list == '-') { + /* Remove names from default list */ + if ((*listp = match_filter_denylist(def, list + 1)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto fail; + } + free(list); + /* filtering has already been done */ + return 0; + } else if (*list == '^') { + /* Place names at head of default list */ + if ((tmp = kex_names_cat(list + 1, def)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto fail; + } + free(list); + list = tmp; + } else { + /* Explicit list, overrides default - just use "list" as is */ + } + + /* + * The supplied names may be a pattern-list. For the -list case, + * the patterns are applied above. For the +list and explicit list + * cases we need to do it now. + */ + ret = NULL; + if ((patterns = opatterns = strdup(list)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto fail; + } + /* Apply positive (i.e. non-negated) patterns from the list */ + while ((cp = strsep(&patterns, ",")) != NULL) { + if (*cp == '!') { + /* negated matches are not supported here */ + r = SSH_ERR_INVALID_ARGUMENT; + goto fail; + } + free(matching); + if ((matching = match_filter_allowlist(all, cp)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto fail; + } + if ((tmp = kex_names_cat(ret, matching)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto fail; + } + free(ret); + ret = tmp; + } + if (ret == NULL || *ret == '\0') { + /* An empty name-list is an error */ + /* XXX better error code? */ + r = SSH_ERR_INVALID_ARGUMENT; + goto fail; + } + + /* success */ + *listp = ret; + ret = NULL; + r = 0; + + fail: + free(matching); + free(opatterns); + free(list); + free(ret); + return r; +} From 02e679a2cb3f6df8e9dbb1519ed578226485157f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 17 May 2024 12:21:27 +1000 Subject: [PATCH 061/172] Makefile support for sshd-session --- .depend | 12 ++++--- Makefile.in | 25 ++++++++++---- platform-listen.c | 84 +++++++++++++++++++++++++++++++++++++++++++++++ platform.c | 60 ++------------------------------- 4 files changed, 113 insertions(+), 68 deletions(-) create mode 100644 platform-listen.c diff --git a/.depend b/.depend index 71757cc32429..703b01cdc568 100644 --- a/.depend +++ b/.depend @@ -23,6 +23,7 @@ auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-com auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h auth2-hostbased.o: monitor_wrap.h pathnames.h match.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h +auth2-methods.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h xmalloc.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h @@ -60,6 +61,7 @@ gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-comp hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h +kex-names.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kex.h mac.h crypto_api.h log.h ssherr.h match.h digest.h misc.h xmalloc.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h @@ -82,7 +84,7 @@ monitor.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api monitor.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h openbsd-compat/openssl-compat.h atomicio.h xmalloc.h ssh.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h audit.h loginrec.h cipher.h cipher-chachapoly.h monitor_fdpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h monitor_fdpass.h monitor_wrap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h -monitor_wrap.o: loginrec.h auth-options.h packet.h dispatch.h log.h ssherr.h monitor.h monitor_wrap.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h +monitor_wrap.o: loginrec.h auth-options.h packet.h dispatch.h log.h ssherr.h monitor.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h monitor_wrap.h msg.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h ssherr.h log.h atomicio.h msg.h misc.h mux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h log.h ssherr.h ssh.h ssh2.h pathnames.h misc.h match.h sshbuf.h channels.h msg.h packet.h dispatch.h monitor_fdpass.h sshpty.h sshkey.h readconf.h clientloop.h nchan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h ssh2.h sshbuf.h ssherr.h packet.h dispatch.h channels.h compat.h log.h @@ -146,7 +148,7 @@ ssh-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat ssh-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h canohost.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h packet.h dispatch.h sshbuf.h channels.h ssh.o: sshkey.h authfd.h authfile.h pathnames.h clientloop.h log.h ssherr.h misc.h readconf.h sshconnect.h kex.h mac.h crypto_api.h sshpty.h match.h msg.h version.h myproposal.h utf8.h -ssh_api.o: authfile.h misc.h version.h myproposal.h sshbuf.h openbsd-compat/openssl-compat.h +ssh_api.o: authfile.h dh.h misc.h version.h myproposal.h sshbuf.h openbsd-compat/openssl-compat.h ssh_api.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh_api.h openbsd-compat/sys-queue.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h ssh.h ssh2.h packet.h dispatch.h compat.h log.h ssherr.h sshbuf-getput-basic.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -157,8 +159,10 @@ sshconnect.o: authfd.h kex.h mac.h crypto_api.h sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h match.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h -sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h -sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h +sshd-session.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h +sshd-session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h +sshd.o: audit.h loginrec.h authfd.h msg.h version.h sk-api.h srclimit.h +sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshpty.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h digest.h sshkey.h authfile.h pathnames.h canohost.h hostfile.h auth.h auth-pam.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h openbsd-compat/openssl-compat.h diff --git a/Makefile.in b/Makefile.in index 1efe11f6f27b..e1b77ebc6495 100644 --- a/Makefile.in +++ b/Makefile.in @@ -24,6 +24,7 @@ SSH_PROGRAM=@bindir@/ssh ASKPASS_PROGRAM=$(libexecdir)/ssh-askpass SFTP_SERVER=$(libexecdir)/sftp-server SSH_KEYSIGN=$(libexecdir)/ssh-keysign +SSHD_SESSION=$(libexecdir)/sshd-session SSH_PKCS11_HELPER=$(libexecdir)/ssh-pkcs11-helper SSH_SK_HELPER=$(libexecdir)/ssh-sk-helper PRIVSEP_PATH=@PRIVSEP_PATH@ @@ -37,6 +38,7 @@ PATHS= -DSSHDIR=\"$(sysconfdir)\" \ -D_PATH_SSH_ASKPASS_DEFAULT=\"$(ASKPASS_PROGRAM)\" \ -D_PATH_SFTP_SERVER=\"$(SFTP_SERVER)\" \ -D_PATH_SSH_KEY_SIGN=\"$(SSH_KEYSIGN)\" \ + -D_PATH_SSHD_SESSION=\"$(SSHD_SESSION)\" \ -D_PATH_SSH_PKCS11_HELPER=\"$(SSH_PKCS11_HELPER)\" \ -D_PATH_SSH_SK_HELPER=\"$(SSH_SK_HELPER)\" \ -D_PATH_SSH_PIDDIR=\"$(piddir)\" \ @@ -69,7 +71,7 @@ MKDIR_P=@MKDIR_P@ .SUFFIXES: .lo -TARGETS=ssh$(EXEEXT) sshd$(EXEEXT) ssh-add$(EXEEXT) ssh-keygen$(EXEEXT) ssh-keyscan${EXEEXT} ssh-keysign${EXEEXT} ssh-pkcs11-helper$(EXEEXT) ssh-agent$(EXEEXT) scp$(EXEEXT) sftp-server$(EXEEXT) sftp$(EXEEXT) ssh-sk-helper$(EXEEXT) +TARGETS=ssh$(EXEEXT) sshd$(EXEEXT) sshd-session$(EXEEXT) ssh-add$(EXEEXT) ssh-keygen$(EXEEXT) ssh-keyscan${EXEEXT} ssh-keysign${EXEEXT} ssh-pkcs11-helper$(EXEEXT) ssh-agent$(EXEEXT) scp$(EXEEXT) sftp-server$(EXEEXT) sftp$(EXEEXT) ssh-sk-helper$(EXEEXT) XMSS_OBJS=\ ssh-xmss.o \ @@ -107,7 +109,7 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \ poly1305.o chacha.o cipher-chachapoly.o cipher-chachapoly-libcrypto.o \ ssh-ed25519.o digest-openssl.o digest-libc.o \ hmac.o ed25519.o hash.o \ - kex.o kexdh.o kexgex.o kexecdh.o kexc25519.o \ + kex.o kex-names.o kexdh.o kexgex.o kexecdh.o kexc25519.o \ kexgexc.o kexgexs.o \ kexsntrup761x25519.o sntrup761.o kexgen.o \ sftp-realpath.o platform-pledge.o platform-tracing.o platform-misc.o \ @@ -118,17 +120,23 @@ SKOBJS= ssh-sk-client.o SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \ sshconnect.o sshconnect2.o mux.o $(SKOBJS) -SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o \ +SSHDOBJS=sshd.o \ + platform-listen.o \ + servconf.o sshpty.o srclimit.o groupaccess.o auth2-methods.o \ + dns.o fatal.o compat.o utf8.o authfd.o canohost.o \ + $(SKOBJS) + +SSHD_SESSION_OBJS=sshd-session.o auth-rhosts.o auth-passwd.o \ audit.o audit-bsm.o audit-linux.o platform.o \ sshpty.o sshlogin.o servconf.o serverloop.o \ - auth.o auth2.o auth-options.o session.o \ + auth.o auth2.o auth2-methods.o auth-options.o session.o \ auth2-chall.o groupaccess.o \ auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ auth2-none.o auth2-passwd.o auth2-pubkey.o auth2-pubkeyfile.o \ monitor.o monitor_wrap.o auth-krb5.o \ auth2-gss.o gss-serv.o gss-serv-krb5.o \ loginrec.o auth-pam.o auth-shadow.o auth-sia.o \ - srclimit.o sftp-server.o sftp-common.o \ + sftp-server.o sftp-common.o \ sandbox-null.o sandbox-rlimit.o sandbox-systrace.o sandbox-darwin.o \ sandbox-seccomp-filter.o sandbox-capsicum.o sandbox-pledge.o \ sandbox-solaris.o uidswap.o $(SKOBJS) @@ -207,7 +215,10 @@ ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS) $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(GSSLIBS) $(CHANNELLIBS) sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS) - $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) $(CHANNELLIBS) + $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(CHANNELLIBS) + +sshd-session$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHD_SESSION_OBJS) + $(LD) -o $@ $(SSHD_SESSION_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) $(CHANNELLIBS) scp$(EXEEXT): $(LIBCOMPAT) libssh.a $(SCP_OBJS) $(LD) -o $@ $(SCP_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) @@ -399,6 +410,7 @@ install-files: $(INSTALL) -m 0755 $(STRIP_OPT) ssh-keygen$(EXEEXT) $(DESTDIR)$(bindir)/ssh-keygen$(EXEEXT) $(INSTALL) -m 0755 $(STRIP_OPT) ssh-keyscan$(EXEEXT) $(DESTDIR)$(bindir)/ssh-keyscan$(EXEEXT) $(INSTALL) -m 0755 $(STRIP_OPT) sshd$(EXEEXT) $(DESTDIR)$(sbindir)/sshd$(EXEEXT) + $(INSTALL) -m 0755 $(STRIP_OPT) sshd-session$(EXEEXT) $(DESTDIR)$(SSHD_SESSION)$(EXEEXT) $(INSTALL) -m 4711 $(STRIP_OPT) ssh-keysign$(EXEEXT) $(DESTDIR)$(SSH_KEYSIGN)$(EXEEXT) $(INSTALL) -m 0755 $(STRIP_OPT) ssh-pkcs11-helper$(EXEEXT) $(DESTDIR)$(SSH_PKCS11_HELPER)$(EXEEXT) $(INSTALL) -m 0755 $(STRIP_OPT) ssh-sk-helper$(EXEEXT) $(DESTDIR)$(SSH_SK_HELPER)$(EXEEXT) @@ -741,6 +753,7 @@ interop-tests t-exec file-tests extra-tests: regress-prep regress-binaries $(TAR TEST_SSH_SCP="$(BUILDDIR)/scp" \ TEST_SSH_SSH="$(BUILDDIR)/ssh" \ TEST_SSH_SSHD="$(BUILDDIR)/sshd" \ + TEST_SSH_SSHD_SESSION="$(BUILDDIR)/sshd-session" \ TEST_SSH_SSHAGENT="$(BUILDDIR)/ssh-agent" \ TEST_SSH_SSHADD="$(BUILDDIR)/ssh-add" \ TEST_SSH_SSHKEYGEN="$(BUILDDIR)/ssh-keygen" \ diff --git a/platform-listen.c b/platform-listen.c new file mode 100644 index 000000000000..42c4040f0c81 --- /dev/null +++ b/platform-listen.c @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2006 Darren Tucker. All rights reserved. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "includes.h" + +#include +#include +#include +#include + +#include "log.h" +#include "misc.h" +#include "platform.h" + +#include "openbsd-compat/openbsd-compat.h" + +void +platform_pre_listen(void) +{ +#ifdef LINUX_OOM_ADJUST + /* Adjust out-of-memory killer so listening process is not killed */ + oom_adjust_setup(); +#endif +} + +void +platform_post_listen(void) +{ +#ifdef SYSTEMD_NOTIFY + ssh_systemd_notify_ready(); +#endif +} + +void +platform_pre_fork(void) +{ +#ifdef USE_SOLARIS_PROCESS_CONTRACTS + solaris_contract_pre_fork(); +#endif +} + +void +platform_pre_restart(void) +{ +#ifdef SYSTEMD_NOTIFY + ssh_systemd_notify_reload(); +#endif +#ifdef LINUX_OOM_ADJUST + oom_adjust_restore(); +#endif +} + +void +platform_post_fork_parent(pid_t child_pid) +{ +#ifdef USE_SOLARIS_PROCESS_CONTRACTS + solaris_contract_post_fork_parent(child_pid); +#endif +} + +void +platform_post_fork_child(void) +{ +#ifdef USE_SOLARIS_PROCESS_CONTRACTS + solaris_contract_post_fork_child(); +#endif +#ifdef LINUX_OOM_ADJUST + oom_adjust_restore(); +#endif +} + diff --git a/platform.c b/platform.c index 9cf81815324c..4c4fe57ea09a 100644 --- a/platform.c +++ b/platform.c @@ -32,64 +32,8 @@ #include "openbsd-compat/openbsd-compat.h" -extern int use_privsep; extern ServerOptions options; -void -platform_pre_listen(void) -{ -#ifdef LINUX_OOM_ADJUST - /* Adjust out-of-memory killer so listening process is not killed */ - oom_adjust_setup(); -#endif -} - -void -platform_post_listen(void) -{ -#ifdef SYSTEMD_NOTIFY - ssh_systemd_notify_ready(); -#endif -} - -void -platform_pre_fork(void) -{ -#ifdef USE_SOLARIS_PROCESS_CONTRACTS - solaris_contract_pre_fork(); -#endif -} - -void -platform_pre_restart(void) -{ -#ifdef SYSTEMD_NOTIFY - ssh_systemd_notify_reload(); -#endif -#ifdef LINUX_OOM_ADJUST - oom_adjust_restore(); -#endif -} - -void -platform_post_fork_parent(pid_t child_pid) -{ -#ifdef USE_SOLARIS_PROCESS_CONTRACTS - solaris_contract_post_fork_parent(child_pid); -#endif -} - -void -platform_post_fork_child(void) -{ -#ifdef USE_SOLARIS_PROCESS_CONTRACTS - solaris_contract_post_fork_child(); -#endif -#ifdef LINUX_OOM_ADJUST - oom_adjust_restore(); -#endif -} - /* return 1 if we are running with privilege to swap UIDs, 0 otherwise */ int platform_privileged_uidswap(void) @@ -136,7 +80,7 @@ platform_setusercontext(struct passwd *pw) */ if (getuid() == 0 || geteuid() == 0) { if (options.use_pam) { - do_pam_setcred(use_privsep); + do_pam_setcred(); } } # endif /* USE_PAM */ @@ -164,7 +108,7 @@ platform_setusercontext_post_groups(struct passwd *pw) * Reestablish them here. */ if (options.use_pam) { - do_pam_setcred(use_privsep); + do_pam_setcred(); } #endif /* USE_PAM */ From 4ad72878af7b6ec28da6e230e36a91650ebe84c1 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Fri, 17 May 2024 00:33:25 +0000 Subject: [PATCH 062/172] upstream: construct and install a relink-kit for sshd-session ok djm OpenBSD-Commit-ID: 8b3820adb4da4e139c4b3cffbcc0bde9f08bf0c6 --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 1fc4378d9205..a6516ab9cfa5 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -32,6 +32,7 @@ e1dc11143f83082e3154d6094f9136d0dc2637ad more relinking makefile tweaks ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes 2fe8d707ae35ba23c7916adcb818bb5b66837ba0 ssh-agent relink kit 866cfcc1955aef8f3fc32da0b70c353a1b859f2e ssh-agent relink changes +8b3820adb4da4e139c4b3cffbcc0bde9f08bf0c6 sshd-session relink kit Old upstream tree: From 92e55890314ce2b0be21a43ebcbc043b4abc232f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 17 May 2024 01:17:40 +0000 Subject: [PATCH 063/172] upstream: fix incorrect debug option name introduce in previous commit OpenBSD-Commit-ID: 66d69e22b1c072c694a7267c847f212284614ed3 --- servconf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/servconf.c b/servconf.c index 5b38bb0dce80..24d547180436 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.406 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.407 2024/05/17 01:17:40 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -528,7 +528,7 @@ typedef enum { sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, sRequiredRSASize, sChannelTimeout, sUnusedConnectionTimeout, - sSshdMonitorPath, + sSshdSessionPath, sDeprecated, sIgnore, sUnsupported } ServerOpCodes; @@ -691,7 +691,7 @@ static struct { { "requiredrsasize", sRequiredRSASize, SSHCFG_ALL }, { "channeltimeout", sChannelTimeout, SSHCFG_ALL }, { "unusedconnectiontimeout", sUnusedConnectionTimeout, SSHCFG_ALL }, - { "sshdmonitorpath", sSshdMonitorPath, SSHCFG_GLOBAL }, + { "sshdsessionpath", sSshdSessionPath, SSHCFG_GLOBAL }, { NULL, sBadOption, 0 } }; @@ -2503,7 +2503,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, } goto parse_time; - case sSshdMonitorPath: + case sSshdSessionPath: charptr = &options->sshd_session_path; goto parse_filename; @@ -3081,7 +3081,7 @@ dump_config(ServerOptions *o) #if defined(__OpenBSD__) || defined(HAVE_SYS_SET_PROCESS_RDOMAIN) dump_cfg_string(sRDomain, o->routing_domain); #endif - dump_cfg_string(sSshdMonitorPath, o->sshd_session_path); + dump_cfg_string(sSshdSessionPath, o->sshd_session_path); /* string arguments requiring a lookup */ dump_cfg_string(sLogLevel, log_level_name(o->log_level)); From a68f80f2511f0e0c5cef737a8284cc2dfabad818 Mon Sep 17 00:00:00 2001 From: "anton@openbsd.org" Date: Wed, 3 Apr 2024 06:01:11 +0000 Subject: [PATCH 064/172] upstream: Since ssh-agent(1) is only readable by root by now, use ssh(1) while generating data in tests. OpenBSD-Regress-ID: 24eb40de2e6b0ace185caaba35e2d470331ffe68 --- regress/test-exec.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index d7b9f6ca8efd..eae286ebfe22 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.109 2024/03/25 01:28:29 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.110 2024/04/03 06:01:11 anton Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -348,7 +348,7 @@ ssh_logfile () # [kbytes] to ensure the file is at least that large. DATANAME=data DATA=$OBJ/${DATANAME} -cat ${SSHAGENT_BIN} >${DATA} +cat ${SSH_BIN} >${DATA} chmod u+w ${DATA} COPY=$OBJ/copy rm -f ${COPY} @@ -356,7 +356,7 @@ rm -f ${COPY} increase_datafile_size() { while [ `du -k ${DATA} | cut -f1` -lt $1 ]; do - cat ${SSHAGENT_BIN} >>${DATA} + cat ${SSH_BIN} >>${DATA} done } From b88b690e99145a021fc1a1a116a11e0bce0594e7 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 17 May 2024 01:45:22 +0000 Subject: [PATCH 065/172] upstream: allow overriding the sshd-session binary path OpenBSD-Regress-ID: 5058cd1c4b6ca1a15474e33546142931d9f964da --- regress/test-exec.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index eae286ebfe22..85e75d24ba37 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.110 2024/04/03 06:01:11 anton Exp $ +# $OpenBSD: test-exec.sh,v 1.111 2024/05/17 01:45:22 djm Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -90,6 +90,7 @@ SSHKEYGEN=ssh-keygen SSHKEYSCAN=ssh-keyscan SFTP=sftp SFTPSERVER=/usr/libexec/openssh/sftp-server +SSHD_SESSION=/usr/libexec/sshd-session SCP=scp # Set by make_tmpdir() on demand (below). @@ -115,6 +116,9 @@ NC=$OBJ/netcat if [ "x$TEST_SSH_SSH" != "x" ]; then SSH="${TEST_SSH_SSH}" fi +if [ "x$TEST_SSH_SSHD_SESSION" != "x" ]; then + SSHD_SESSION="${TEST_SSH_SSHD_SESSION}" +fi if [ "x$TEST_SSH_SSHD" != "x" ]; then SSHD="${TEST_SSH_SSHD}" fi @@ -617,6 +621,7 @@ cat << EOF > $OBJ/sshd_config AcceptEnv _XXX_TEST_* AcceptEnv _XXX_TEST Subsystem sftp $SFTPSERVER + SshdSessionPath $SSHD_SESSION EOF # This may be necessary if /usr/src and/or /usr/obj are group-writable, From 01fb82eb2aa0a4eaf5c394ea8bb37ea4c26f8a3f Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Fri, 17 May 2024 02:39:11 +0000 Subject: [PATCH 066/172] upstream: spelling; ok djm@ OpenBSD-Commit-ID: bdea29bb3ed2a5a7782999c4c663b219d2270483 --- cipher.c | 4 ++-- ed25519.sh | 4 ++-- readconf.c | 4 ++-- sftp-client.c | 4 ++-- sshd-session.c | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cipher.c b/cipher.c index 90b139c89985..f12daa123438 100644 --- a/cipher.c +++ b/cipher.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cipher.c,v 1.120 2023/10/10 06:49:54 tb Exp $ */ +/* $OpenBSD: cipher.c,v 1.121 2024/05/17 02:39:11 jsg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -372,7 +372,7 @@ cipher_crypt(struct sshcipher_ctx *cc, u_int seqnr, u_char *dest, if (!EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_IV_GEN, 1, lastiv)) return SSH_ERR_LIBCRYPTO_ERROR; - /* set tag on decyption */ + /* set tag on decryption */ if (!cc->encrypt && !EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_SET_TAG, authlen, (u_char *)src + aadlen + len)) diff --git a/ed25519.sh b/ed25519.sh index 8722338dba3b..9e6cbc9c312d 100644 --- a/ed25519.sh +++ b/ed25519.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $OpenBSD: ed25519.sh,v 1.1 2023/01/15 23:05:32 djm Exp $ +# $OpenBSD: ed25519.sh,v 1.2 2024/05/17 02:39:11 jsg Exp $ # Placed in the Public Domain. # AUTHOR="supercop-20221122/crypto_sign/ed25519/ref/implementors" @@ -74,7 +74,7 @@ for i in $FILES; do sed -e "s/crypto_sign_open/crypto_sign_ed25519_open/g" ;; */crypto_sign/ed25519/ref/fe25519.*) - # avoid a couple of name collions with other files + # avoid a couple of name collisions with other files sed -e "s/reduce_add_sub/fe25519_reduce_add_sub/g" \ -e "s/ equal[(]/ fe25519_equal(/g" \ -e "s/^int /static int /g" diff --git a/readconf.c b/readconf.c index 3a64a0441641..4e3791cb7cc6 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.386 2024/03/04 04:13:18 djm Exp $ */ +/* $OpenBSD: readconf.c,v 1.387 2024/05/17 02:39:11 jsg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -3337,7 +3337,7 @@ parse_ssh_uri(const char *uri, char **userp, char **hostp, int *portp) return r; } -/* XXX the following is a near-vebatim copy from servconf.c; refactor */ +/* XXX the following is a near-verbatim copy from servconf.c; refactor */ static const char * fmt_multistate_int(int val, const struct multistate *m) { diff --git a/sftp-client.c b/sftp-client.c index 5cc8bb539a6e..be40d2097d1a 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.175 2023/11/13 09:18:19 tobhe Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.176 2024/05/17 02:39:11 jsg Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -2440,7 +2440,7 @@ handle_dest_replies(struct sftp_conn *to, const char *to_path, int synchronous, * server not to have reordered replies that could have * inserted holes where none existed in the source file. * - * XXX we could get a more accutate progress bar if we updated + * XXX we could get a more accurate progress bar if we updated * the counter based on the reply from the destination... */ (*nreqsp)--; diff --git a/sshd-session.c b/sshd-session.c index 238cbff8a236..d669a03f1d72 100644 --- a/sshd-session.c +++ b/sshd-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd-session.c,v 1.1 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: sshd-session.c,v 1.2 2024/05/17 02:39:11 jsg Exp $ */ /* * SSH2 implementation: * Privilege Separation: @@ -1132,7 +1132,7 @@ main(int ac, char **av) } } if (!have_key) - fatal("internal error: monitor recieved no hostkeys"); + fatal("internal error: monitor received no hostkeys"); /* Ensure that umask disallows at least group and world write */ new_umask = umask(0077) | 0022; From 17b566eeb7a0c6acc9c48b35c08885901186f861 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 17 May 2024 04:42:13 +0000 Subject: [PATCH 067/172] upstream: g/c unused variable OpenBSD-Commit-ID: aa6ef0778a1f1bde0d73efba72a777c48d2bd010 --- auth2-gss.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/auth2-gss.c b/auth2-gss.c index d24287d34656..75eb4e3a357b 100644 --- a/auth2-gss.c +++ b/auth2-gss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-gss.c,v 1.35 2024/05/17 00:30:23 djm Exp $ */ +/* $OpenBSD: auth2-gss.c,v 1.36 2024/05/17 04:42:13 djm Exp $ */ /* * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. @@ -255,7 +255,6 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh) { Authctxt *authctxt = ssh->authctxt; int r, authenticated; - const char *displayname; if (authctxt == NULL) fatal("No authentication or GSSAPI context"); @@ -287,7 +286,6 @@ input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh) int r, authenticated = 0; struct sshbuf *b; gss_buffer_desc mic, gssbuf; - const char *displayname; u_char *p; size_t len; From 24a1f3e5ad6f4a49377d4c74c36637e9a239efd0 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 17 May 2024 14:50:43 +1000 Subject: [PATCH 068/172] attempt at updating RPM specs for sshd-session --- contrib/redhat/openssh.spec | 1 + contrib/suse/openssh.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index b2309716f224..b8d429da39aa 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec @@ -393,6 +393,7 @@ fi %defattr(-,root,root) %dir %attr(0111,root,root) %{_var}/empty/sshd %attr(0755,root,root) %{_sbindir}/sshd +%attr(0755,root,root) %{_libexecdir}/openssh/sshd-session %attr(0755,root,root) %{_libexecdir}/openssh/sftp-server %attr(0644,root,root) %{_mandir}/man8/sshd.8* %attr(0644,root,root) %{_mandir}/man5/moduli.5* diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index 7dbe4db6edc5..06c2c2c35567 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec @@ -211,6 +211,7 @@ rm -rf $RPM_BUILD_ROOT %attr(0755,root,root) %{_sbindir}/sshd %attr(0755,root,root) %dir %{_libdir}/ssh %attr(0755,root,root) %{_libdir}/ssh/sftp-server +%attr(0755,root,root) %{_libdir}/ssh/sshd-session %attr(4711,root,root) %{_libdir}/ssh/ssh-keysign %attr(0755,root,root) %{_libdir}/ssh/ssh-pkcs11-helper %attr(0755,root,root) %{_libdir}/ssh/ssh-sk-helper From f3e4db4601ef7d2feb1d6f7447e432aaf353a616 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Fri, 17 May 2024 06:11:17 +0000 Subject: [PATCH 069/172] upstream: -Werror was turned on (probably just for development), and this is a simple way to satisfy older gcc. OpenBSD-Commit-ID: 7f698df54384b437ce33ab7405f0b86c87019e86 --- misc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc.c b/misc.c index 133ac0ece39e..0a00d09629b0 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.194 2024/05/17 00:30:23 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.195 2024/05/17 06:11:17 deraadt Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -596,7 +596,7 @@ int convtime(const char *s) { int secs, total = 0, multiplier; - char *p, *os, *np, c; + char *p, *os, *np, c = 0; const char *errstr; if (s == NULL || *s == '\0') From 6454a05e7c6574d70adf17efe505a8581a86ca4f Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Fri, 17 May 2024 06:38:00 +0000 Subject: [PATCH 070/172] upstream: remove externs for removed vars; ok djm@ OpenBSD-Commit-ID: f51ea791d45c15d4927eb4ae7d877ccc1e5a2aab --- sshconnect2.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sshconnect2.c b/sshconnect2.c index 745c2a0517f3..e63bb5ec6eb1 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.372 2024/01/08 00:34:34 djm Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.373 2024/05/17 06:38:00 jsg Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -80,8 +80,6 @@ #endif /* import */ -extern char *client_version_string; -extern char *server_version_string; extern Options options; /* From dcd79fa141311c287e0595ede684b7116122fae0 Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Fri, 17 May 2024 06:42:04 +0000 Subject: [PATCH 071/172] upstream: remove prototypes with no matching function; ok djm@ OpenBSD-Commit-ID: 6d9065dadea5f14a01bece0dbfe2fba1be31c693 --- auth.h | 5 +---- channels.h | 3 +-- clientloop.c | 3 +-- clientloop.h | 3 +-- monitor.c | 4 +--- monitor_wrap.h | 6 +----- packet.h | 4 +--- servconf.h | 4 +--- ssh-gss.h | 3 +-- sshkey.h | 3 +-- 10 files changed, 10 insertions(+), 28 deletions(-) diff --git a/auth.h b/auth.h index 33370eaceb86..98bb23d4c5ce 100644 --- a/auth.h +++ b/auth.h @@ -1,4 +1,4 @@ -/* $OpenBSD: auth.h,v 1.107 2024/05/17 00:30:23 djm Exp $ */ +/* $OpenBSD: auth.h,v 1.108 2024/05/17 06:42:04 jsg Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. @@ -155,8 +155,6 @@ void auth2_record_info(Authctxt *authctxt, const char *, ...) void auth2_update_session_info(Authctxt *, const char *, const char *); #ifdef KRB5 -int auth_krb5(Authctxt *authctxt, krb5_data *auth, char **client, krb5_data *); -int auth_krb5_tgt(Authctxt *authctxt, krb5_data *tgt); int auth_krb5_password(Authctxt *authctxt, const char *password); void krb5_cleanup_proc(Authctxt *authctxt); #endif /* KRB5 */ @@ -215,7 +213,6 @@ int sshd_hostkey_sign(struct ssh *, struct sshkey *, struct sshkey *, u_char **, size_t *, const u_char *, size_t, const char *); /* Key / cert options linkage to auth layer */ -const struct sshauthopt *auth_options(struct ssh *); int auth_activate_options(struct ssh *, struct sshauthopt *); void auth_restrict_session(struct ssh *); void auth_log_authopts(const char *, const struct sshauthopt *, int); diff --git a/channels.h b/channels.h index bb2650f6b877..1ff90bbe1c8c 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.154 2023/12/18 14:47:20 djm Exp $ */ +/* $OpenBSD: channels.h,v 1.155 2024/05/17 06:42:04 jsg Exp $ */ /* * Author: Tatu Ylonen @@ -325,7 +325,6 @@ int channel_input_ieof(int, u_int32_t, struct ssh *); int channel_input_oclose(int, u_int32_t, struct ssh *); int channel_input_open_confirmation(int, u_int32_t, struct ssh *); int channel_input_open_failure(int, u_int32_t, struct ssh *); -int channel_input_port_open(int, u_int32_t, struct ssh *); int channel_input_window_adjust(int, u_int32_t, struct ssh *); int channel_input_status_confirm(int, u_int32_t, struct ssh *); diff --git a/clientloop.c b/clientloop.c index a30d1fdbb53a..0b6f3c9be02a 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.406 2024/05/09 09:46:47 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.407 2024/05/17 06:42:04 jsg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -193,7 +193,6 @@ TAILQ_HEAD(global_confirms, global_confirm); static struct global_confirms global_confirms = TAILQ_HEAD_INITIALIZER(global_confirms); -void ssh_process_session2_setup(int, int, int, struct sshbuf *); static void quit_message(const char *fmt, ...) __attribute__((__format__ (printf, 1, 2))); diff --git a/clientloop.h b/clientloop.h index 31630551b23c..4bc7bcd7c4f2 100644 --- a/clientloop.h +++ b/clientloop.h @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.h,v 1.37 2020/04/03 02:40:32 djm Exp $ */ +/* $OpenBSD: clientloop.h,v 1.38 2024/05/17 06:42:04 jsg Exp $ */ /* * Author: Tatu Ylonen @@ -43,7 +43,6 @@ struct ssh; int client_loop(struct ssh *, int, int, int); int client_x11_get_proto(struct ssh *, const char *, const char *, u_int, u_int, char **, char **); -void client_global_request_reply_fwd(int, u_int32_t, void *); void client_session2_setup(struct ssh *, int, int, int, const char *, struct termios *, int, struct sshbuf *, char **); char *client_request_tun_fwd(struct ssh *, int, int, int, diff --git a/monitor.c b/monitor.c index 77ea40479566..e6b009c8dfa0 100644 --- a/monitor.c +++ b/monitor.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.c,v 1.238 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: monitor.c,v 1.239 2024/05/17 06:42:04 jsg Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -125,8 +125,6 @@ int mm_answer_keyverify(struct ssh *, int, struct sshbuf *); int mm_answer_pty(struct ssh *, int, struct sshbuf *); int mm_answer_pty_cleanup(struct ssh *, int, struct sshbuf *); int mm_answer_term(struct ssh *, int, struct sshbuf *); -int mm_answer_sesskey(struct ssh *, int, struct sshbuf *); -int mm_answer_sessid(struct ssh *, int, struct sshbuf *); #ifdef USE_PAM int mm_answer_pam_start(struct ssh *, int, struct sshbuf *); diff --git a/monitor_wrap.h b/monitor_wrap.h index 527eaf158f99..e768036ed438 100644 --- a/monitor_wrap.h +++ b/monitor_wrap.h @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.h,v 1.50 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: monitor_wrap.h,v 1.51 2024/05/17 06:42:04 jsg Exp $ */ /* * Copyright 2002 Niels Provos @@ -88,10 +88,6 @@ void mm_terminate(void); int mm_pty_allocate(int *, int *, char *, size_t); void mm_session_pty_cleanup2(struct Session *); -/* Key export functions */ -struct newkeys *mm_newkeys_from_blob(u_char *, int); -int mm_newkeys_to_blob(int, u_char **, u_int *); - void mm_send_keystate(struct ssh *, struct monitor*); /* bsdauth */ diff --git a/packet.h b/packet.h index ff4c8361cfa5..5ab1f409a2c9 100644 --- a/packet.h +++ b/packet.h @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.h,v 1.97 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: packet.h,v 1.98 2024/05/17 06:42:04 jsg Exp $ */ /* * Author: Tatu Ylonen @@ -124,14 +124,12 @@ int ssh_packet_send2_wrapped(struct ssh *); int ssh_packet_send2(struct ssh *); int ssh_packet_read(struct ssh *); -int ssh_packet_read_poll(struct ssh *); int ssh_packet_read_poll2(struct ssh *, u_char *, u_int32_t *seqnr_p); int ssh_packet_process_incoming(struct ssh *, const char *buf, u_int len); int ssh_packet_process_read(struct ssh *, int); int ssh_packet_read_seqnr(struct ssh *, u_char *, u_int32_t *seqnr_p); int ssh_packet_read_poll_seqnr(struct ssh *, u_char *, u_int32_t *seqnr_p); -const void *ssh_packet_get_string_ptr(struct ssh *, u_int *length_ptr); void ssh_packet_disconnect(struct ssh *, const char *fmt, ...) __attribute__((format(printf, 2, 3))) __attribute__((noreturn)); diff --git a/servconf.h b/servconf.h index c446081836a4..56070d6b28ab 100644 --- a/servconf.h +++ b/servconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.h,v 1.161 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: servconf.h,v 1.162 2024/05/17 06:42:04 jsg Exp $ */ /* * Author: Tatu Ylonen @@ -303,9 +303,7 @@ void parse_server_config(ServerOptions *, const char *, struct sshbuf *, struct include_list *includes, struct connection_info *, int); void parse_server_match_config(ServerOptions *, struct include_list *includes, struct connection_info *); -int parse_channel_timeout(const char *, char **, u_int *); int parse_server_match_testspec(struct connection_info *, char *); -int server_match_spec_complete(struct connection_info *); void servconf_merge_subsystems(ServerOptions *, ServerOptions *); void copy_set_server_options(ServerOptions *, ServerOptions *, int); void dump_config(ServerOptions *); diff --git a/ssh-gss.h b/ssh-gss.h index a8af117d2ef2..7b14e74a8e0b 100644 --- a/ssh-gss.h +++ b/ssh-gss.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-gss.h,v 1.15 2021/01/27 10:05:28 djm Exp $ */ +/* $OpenBSD: ssh-gss.h,v 1.16 2024/05/17 06:42:04 jsg Exp $ */ /* * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. * @@ -103,7 +103,6 @@ int ssh_gssapi_check_oid(Gssctxt *, void *, size_t); void ssh_gssapi_set_oid_data(Gssctxt *, void *, size_t); void ssh_gssapi_set_oid(Gssctxt *, gss_OID); void ssh_gssapi_supported_oids(gss_OID_set *); -ssh_gssapi_mech *ssh_gssapi_get_ctype(Gssctxt *); void ssh_gssapi_prepare_supported_oids(void); OM_uint32 ssh_gssapi_test_oid_supported(OM_uint32 *, gss_OID, int *); diff --git a/sshkey.h b/sshkey.h index 708f2da86778..32933bbbdb8a 100644 --- a/sshkey.h +++ b/sshkey.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sshkey.h,v 1.62 2023/06/21 05:10:26 djm Exp $ */ +/* $OpenBSD: sshkey.h,v 1.63 2024/05/17 06:42:04 jsg Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. @@ -316,7 +316,6 @@ int ssh_rsa_complete_crt_parameters(struct sshkey *, const BIGNUM *); int sshkey_set_filename(struct sshkey *, const char *); int sshkey_enable_maxsign(struct sshkey *, u_int32_t); u_int32_t sshkey_signatures_left(const struct sshkey *); -int sshkey_forward_state(const struct sshkey *, u_int32_t, int); int sshkey_private_serialize_maxsign(struct sshkey *key, struct sshbuf *buf, u_int32_t maxsign, int); From beccb7319c5449f6454889013403c336446d622e Mon Sep 17 00:00:00 2001 From: "naddy@openbsd.org" Date: Fri, 17 May 2024 14:42:00 +0000 Subject: [PATCH 072/172] upstream: remove duplicate copy of relink kit for sshd-session OpenBSD-Commit-ID: 6d2ded4cd91d4d727c2b26e099b91ea935bed504 --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index a6516ab9cfa5..50beba8eaf05 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -33,6 +33,7 @@ ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes 2fe8d707ae35ba23c7916adcb818bb5b66837ba0 ssh-agent relink kit 866cfcc1955aef8f3fc32da0b70c353a1b859f2e ssh-agent relink changes 8b3820adb4da4e139c4b3cffbcc0bde9f08bf0c6 sshd-session relink kit +6d2ded4cd91d4d727c2b26e099b91ea935bed504 relink kit Old upstream tree: From fd4816791beaed2fdae7eea3e1494d1972b2a39d Mon Sep 17 00:00:00 2001 From: "anton@openbsd.org" Date: Sun, 19 May 2024 19:10:01 +0000 Subject: [PATCH 073/172] upstream: Add missing kex-names.c source file required since the ssh split. OpenBSD-Regress-ID: ca666223f828fc4b069cb9016bff1eb50faf9fbb --- regress/unittests/kex/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regress/unittests/kex/Makefile b/regress/unittests/kex/Makefile index 981affe3cbee..3c898408f192 100644 --- a/regress/unittests/kex/Makefile +++ b/regress/unittests/kex/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.14 2023/02/02 12:12:52 djm Exp $ +# $OpenBSD: Makefile,v 1.15 2024/05/19 19:10:01 anton Exp $ PROG=test_kex SRCS=tests.c test_kex.c test_proposal.c @@ -14,6 +14,7 @@ SRCS+=cipher-chachapoly.c chacha.c poly1305.c ssh-ecdsa-sk.c ssh-sk.c SRCS+=ssh-ed25519-sk.c sk-usbhid.c SRCS+= kex.c +SRCS+= kex-names.c SRCS+= dh.c SRCS+= kexdh.c SRCS+= kexecdh.c From fc5dc092830de23767c6ef67baa18310a64ee533 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 22 May 2024 04:20:00 +0000 Subject: [PATCH 074/172] upstream: this test has been broken since 2014, and has been testing the same key exchange algorithm repeatedly instead of testing all of them. Spotted by nreilly AT blackberry.com in bz3692 Who broke the test? me. OpenBSD-Regress-ID: 48f4f5946276f975667141957d25441b3c9a50e2 --- regress/rekey.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regress/rekey.sh b/regress/rekey.sh index 61723cd86608..8005a86ad39e 100644 --- a/regress/rekey.sh +++ b/regress/rekey.sh @@ -1,4 +1,4 @@ -# $OpenBSD: rekey.sh,v 1.19 2021/07/19 05:08:54 dtucker Exp $ +# $OpenBSD: rekey.sh,v 1.20 2024/05/22 04:20:00 djm Exp $ # Placed in the Public Domain. tid="rekey" @@ -14,7 +14,7 @@ ssh_data_rekeying() { _kexopt=$1 ; shift _opts="$@" - if ! test -z "$_kexopts" ; then + if ! test -z "$_kexopt" ; then cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy echo "$_kexopt" >> $OBJ/sshd_proxy _opts="$_opts -o$_kexopt" From 435844f5675245b4271f8581f15e6d1f34fde3bc Mon Sep 17 00:00:00 2001 From: "miod@openbsd.org" Date: Wed, 22 May 2024 11:49:36 +0000 Subject: [PATCH 075/172] upstream: Do not pass -Werror if building with gcc 3, for asn1.h and bio.h cause (admittedly bogus) warnings with gcc 3. OpenBSD-Commit-ID: fb39324748824cb0387e9d67c41d1bef945c54ea --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 50beba8eaf05..ce037b8c73c6 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -34,6 +34,7 @@ ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes 866cfcc1955aef8f3fc32da0b70c353a1b859f2e ssh-agent relink changes 8b3820adb4da4e139c4b3cffbcc0bde9f08bf0c6 sshd-session relink kit 6d2ded4cd91d4d727c2b26e099b91ea935bed504 relink kit +fb39324748824cb0387e9d67c41d1bef945c54ea Makefile change Old upstream tree: From 2477a98c3ef78e63b11a1393656e00288f52ae97 Mon Sep 17 00:00:00 2001 From: "naddy@openbsd.org" Date: Wed, 22 May 2024 15:24:55 +0000 Subject: [PATCH 076/172] upstream: Do not pass -Werror twice when building with clang. OpenBSD-Commit-ID: 5f378c38ad8976d507786dc4db9283a879ec8cd0 --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index ce037b8c73c6..833cab52c878 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -35,6 +35,7 @@ ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes 8b3820adb4da4e139c4b3cffbcc0bde9f08bf0c6 sshd-session relink kit 6d2ded4cd91d4d727c2b26e099b91ea935bed504 relink kit fb39324748824cb0387e9d67c41d1bef945c54ea Makefile change +5f378c38ad8976d507786dc4db9283a879ec8cd0 Makefile change Old upstream tree: From f0b9261d7fdd0ef86806b49fe76344bd16770cd0 Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Thu, 23 May 2024 23:47:16 +0000 Subject: [PATCH 077/172] upstream: remove unused struct fwd_perm_list, no decl with complete type ok djm@ OpenBSD-Commit-ID: 416fb3970b7e73c76d2963c4f00cf96f2b2ee2fb --- channels.h | 3 +-- servconf.h | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/channels.h b/channels.h index 1ff90bbe1c8c..fdea9f574d66 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.155 2024/05/17 06:42:04 jsg Exp $ */ +/* $OpenBSD: channels.h,v 1.156 2024/05/23 23:47:16 jsg Exp $ */ /* * Author: Tatu Ylonen @@ -85,7 +85,6 @@ struct ssh; struct Channel; typedef struct Channel Channel; -struct fwd_perm_list; typedef void channel_open_fn(struct ssh *, int, int, void *); typedef void channel_callback_fn(struct ssh *, int, int, void *); diff --git a/servconf.h b/servconf.h index 56070d6b28ab..64fb268e2616 100644 --- a/servconf.h +++ b/servconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.h,v 1.162 2024/05/17 06:42:04 jsg Exp $ */ +/* $OpenBSD: servconf.h,v 1.163 2024/05/23 23:47:16 jsg Exp $ */ /* * Author: Tatu Ylonen @@ -47,7 +47,6 @@ #define PUBKEYAUTH_VERIFY_REQUIRED (1<<1) struct ssh; -struct fwd_perm_list; /* * Used to store addresses from ListenAddr directives. These may be From 210d4239733da6180ce853538aeb9413d5c62ad5 Mon Sep 17 00:00:00 2001 From: "naddy@openbsd.org" Date: Sun, 26 May 2024 20:35:12 +0000 Subject: [PATCH 078/172] upstream: remove references to SSH1 and DSA server keys OpenBSD-Commit-ID: 57cc1c98d4f998981473734f144b904af7d178a2 --- ssh.1 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ssh.1 b/ssh.1 index 4f5fd07a6f32..61a154c2a147 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.439 2024/03/14 06:23:14 job Exp $ -.Dd $Mdocdate: March 14 2024 $ +.\" $OpenBSD: ssh.1,v 1.440 2024/05/26 20:35:12 naddy Exp $ +.Dd $Mdocdate: May 26 2024 $ .Dt SSH 1 .Os .Sh NAME @@ -1633,8 +1633,6 @@ Systemwide configuration file. The file format and configuration options are described in .Xr ssh_config 5 . .Pp -.It Pa /etc/ssh/ssh_host_key -.It Pa /etc/ssh/ssh_host_dsa_key .It Pa /etc/ssh/ssh_host_ecdsa_key .It Pa /etc/ssh/ssh_host_ed25519_key .It Pa /etc/ssh/ssh_host_rsa_key From 8054b906983ceaed01fabd8188d3dac24c05ba39 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 27 May 2024 01:52:26 +0000 Subject: [PATCH 079/172] upstream: don't need sys/queue.h here OpenBSD-Commit-ID: dd137396828171eb19e4911581812ca58de6c578 --- auth2-methods.c | 1 - 1 file changed, 1 deletion(-) diff --git a/auth2-methods.c b/auth2-methods.c index cddcf0ff518a..8652510f28a0 100644 --- a/auth2-methods.c +++ b/auth2-methods.c @@ -17,7 +17,6 @@ #include "includes.h" #include -#include #include #include From a4b5bc246cbca476deeeb4462aa31746a56e3021 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 May 2024 08:49:35 +0000 Subject: [PATCH 080/172] upstream: typos OpenBSD-Commit-ID: edfa72eb06bfa65da30fabf7d2fe76d2d33f77bf --- auth2-methods.c | 6 +++--- packet.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/auth2-methods.c b/auth2-methods.c index 8652510f28a0..99637a89bf6f 100644 --- a/auth2-methods.c +++ b/auth2-methods.c @@ -31,13 +31,13 @@ extern ServerOptions options; /* - * Configuration of enabled authentication methods. Separate to the rest of + * Configuration of enabled authentication methods. Separate from the rest of * auth2-*.c because we want to query it during server configuration validity * checking in the sshd listener process without pulling all the auth code in * too. */ -/* "none" is allowed only one time and it cleared by userauth_none() later */ +/* "none" is allowed only one time and it is cleared by userauth_none() later */ int none_enabled = 1; struct authmethod_cfg methodcfg_none = { "none", @@ -85,7 +85,7 @@ static struct authmethod_cfg *authmethod_cfgs[] = { }; /* - * Check a comma-separated list of methods for validity. Is need_enable is + * Check a comma-separated list of methods for validity. If need_enable is * non-zero, then also require that the methods are enabled. * Returns 0 on success or -1 if the methods list is invalid. */ diff --git a/packet.c b/packet.c index b88363988f04..4fca8d66044f 100644 --- a/packet.c +++ b/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.314 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: packet.c,v 1.315 2024/05/31 08:49:35 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -539,7 +539,7 @@ ssh_remote_ipaddr(struct ssh *ssh) * be freed. NB. this will usually trigger a DNS query. Return value is on * heap and no caching is performed. * This function does additional checks on the hostname to mitigate some - * attacks on based on conflation of hostnames and addresses and will + * attacks based on conflation of hostnames and addresses and will * fall back to returning an address on error. */ From b21d271f651d2536dca819cc6d74032fe98634db Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 May 2024 09:01:08 +0000 Subject: [PATCH 081/172] upstream: warn when -r (deprecated option to disable re-exec) is passed OpenBSD-Commit-ID: 73145ef5150edbe3ce7889f0844ed8fa6155f551 --- sshd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sshd.c b/sshd.c index e4ad60218527..12847d2754e1 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.603 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.604 2024/05/31 09:01:08 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -983,7 +983,7 @@ main(int ac, char **av) inetd_flag = 1; break; case 'r': - /* ignored */ + logit("-r option is deprecated"); break; case 'R': fatal("-R not supported here"); From e68a95142e5024b144f8eeccd5ffdee42c34f44c Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 31 May 2024 19:05:34 +1000 Subject: [PATCH 082/172] remove remaining use_privsep mention --- sshd-session.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sshd-session.c b/sshd-session.c index d669a03f1d72..53478f0047c4 100644 --- a/sshd-session.c +++ b/sshd-session.c @@ -1465,7 +1465,7 @@ cleanup_exit(int i) } #ifdef SSH_AUDIT_EVENTS /* done after do_cleanup so it can cancel the PAM auth 'thread' */ - if (the_active_state != NULL && (!use_privsep || mm_is_monitor())) + if (the_active_state != NULL && mm_is_monitor()) audit_event(the_active_state, SSH_CONNECTION_ABANDON); #endif _exit(i); From 94b4866cb1f4b0ed29a9f367047b30f81002316f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 31 May 2024 19:11:14 +1000 Subject: [PATCH 083/172] rename need_privsep to need_chroot privsep is mandatory, chroot is optional (disabled when running sshd as non-root) --- sshd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sshd.c b/sshd.c index 12847d2754e1..58300783d34a 100644 --- a/sshd.c +++ b/sshd.c @@ -901,7 +901,7 @@ main(int ac, char **av) int r, opt, do_dump_cfg = 0, keytype, already_daemon, have_agent = 0; int sock_in = -1, sock_out = -1, newsock = -1, rexec_argc = 0; int config_s[2] = { -1 , -1 }, have_connection_info = 0; - int need_privsep = 1; + int need_chroot = 1; char *fp, *line, *logfile = NULL, **rexec_argv = NULL; struct stat sb; u_int i, j; @@ -1307,15 +1307,15 @@ main(int ac, char **av) } /* Ensure privsep directory is correctly configured. */ - need_privsep = ((getuid() == 0 || geteuid() == 0) || + need_chroot = ((getuid() == 0 || geteuid() == 0) || options.kerberos_authentication); - if ((getpwnam(SSH_PRIVSEP_USER)) == NULL && need_privsep) { + if ((getpwnam(SSH_PRIVSEP_USER)) == NULL && need_chroot) { fatal("Privilege separation user %s does not exist", SSH_PRIVSEP_USER); } endpwent(); - if (need_privsep) { + if (need_chroot) { if ((stat(_PATH_PRIVSEP_CHROOT_DIR, &sb) == -1) || (S_ISDIR(sb.st_mode) == 0)) fatal("Missing privilege separation directory: %s", From f1c8918cb98459910fb159373baea053ba4108c0 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 31 May 2024 19:12:26 +1000 Subject: [PATCH 084/172] depend --- .depend | 1 + 1 file changed, 1 insertion(+) diff --git a/.depend b/.depend index 703b01cdc568..b09a780615f8 100644 --- a/.depend +++ b/.depend @@ -90,6 +90,7 @@ mux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h nchan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h ssh2.h sshbuf.h ssherr.h packet.h dispatch.h channels.h compat.h log.h packet.o: channels.h ssh.h packet.h dispatch.h sshbuf.h packet.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h compat.h ssh2.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h digest.h log.h ssherr.h canohost.h misc.h +platform-listen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h platform-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h platform-pledge.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h From 8785491123d4d722b310c20f383570be758f8263 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sat, 1 Jun 2024 07:03:37 +0000 Subject: [PATCH 085/172] upstream: be really strict with fds reserved for communication with the separate sshd-session process - reserve them early and fatal if we can't dup2(2) them later. The pre-split fallback to re-reading the configuration files is not possible, so sshd-session absolutely requires the fd the configuration is passed over to be in order. ok deraadt@ OpenBSD-Commit-ID: 308a98ef3c8a6665ebf92c7c9a0fc9600ccd7065 --- sshd.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/sshd.c b/sshd.c index 58300783d34a..36e3773ce5df 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.604 2024/05/31 09:01:08 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.605 2024/06/01 07:03:37 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -900,7 +900,7 @@ main(int ac, char **av) char *config_file_name = _PATH_SERVER_CONFIG_FILE; int r, opt, do_dump_cfg = 0, keytype, already_daemon, have_agent = 0; int sock_in = -1, sock_out = -1, newsock = -1, rexec_argc = 0; - int config_s[2] = { -1 , -1 }, have_connection_info = 0; + int devnull, config_s[2] = { -1 , -1 }, have_connection_info = 0; int need_chroot = 1; char *fp, *line, *logfile = NULL, **rexec_argv = NULL; struct stat sb; @@ -1059,7 +1059,16 @@ main(int ac, char **av) } if (!test_flag && !do_dump_cfg && !path_absolute(av[0])) fatal("sshd requires execution with an absolute path"); - closefrom(REEXEC_DEVCRYPTO_RESERVED_FD); + + closefrom(STDERR_FILENO + 1); + + /* Reserve fds we'll need later for reexec things */ + if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1) + fatal("open %s: %s", _PATH_DEVNULL, strerror(errno)); + while (devnull < REEXEC_MIN_FREE_FD) { + if ((devnull = dup(devnull)) == -1) + fatal("dup %s: %s", _PATH_DEVNULL, strerror(errno)); + } seed_rng(); @@ -1458,22 +1467,25 @@ main(int ac, char **av) sock_in, sock_out, newsock, startup_pipe, config_s[0], config_s[1]); if (!inetd_flag) { if (dup2(newsock, STDIN_FILENO) == -1) - debug3("dup2 stdin: %s", strerror(errno)); + fatal("dup2 stdin: %s", strerror(errno)); if (dup2(STDIN_FILENO, STDOUT_FILENO) == -1) - debug3("dup2 stdout: %s", strerror(errno)); + fatal("dup2 stdout: %s", strerror(errno)); + if (newsock > STDOUT_FILENO) + close(newsock); } if (config_s[1] != REEXEC_CONFIG_PASS_FD) { if (dup2(config_s[1], REEXEC_CONFIG_PASS_FD) == -1) - debug3("dup2 config_s: %s", strerror(errno)); + fatal("dup2 config_s: %s", strerror(errno)); close(config_s[1]); } if (startup_pipe == -1) close(REEXEC_STARTUP_PIPE_FD); else if (startup_pipe != REEXEC_STARTUP_PIPE_FD) { if (dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD) == -1) - debug3("dup2 startup_p: %s", strerror(errno)); + fatal("dup2 startup_p: %s", strerror(errno)); close(startup_pipe); } + closefrom(REEXEC_MIN_FREE_FD); ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ execv(rexec_argv[0], rexec_argv); From cc80d51d034bcb24fd0f2564a4bdf1612000a2a2 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 5 Jun 2024 02:21:30 +1000 Subject: [PATCH 086/172] remove PRIVSEP macros for osx --- session.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/session.c b/session.c index c998e038c2b7..7cf22a722677 100644 --- a/session.c +++ b/session.c @@ -706,13 +706,13 @@ do_exec(struct ssh *ssh, Session *s, const char *command) #ifdef SSH_AUDIT_EVENTS if (command != NULL) - PRIVSEP(audit_run_command(command)); + mm_audit_run_command(command); else if (s->ttyfd == -1) { char *shell = s->pw->pw_shell; if (shell[0] == '\0') /* empty shell means /bin/sh */ shell =_PATH_BSHELL; - PRIVSEP(audit_run_command(shell)); + mm_audit_run_command(shell); } #endif if (s->ttyfd != -1) From 49b55e44182b8294419aa580cbf043d5b9e3d953 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 4 Jun 2024 15:14:45 +0000 Subject: [PATCH 087/172] upstream: enable -fret-clean on amd64, for libc libcrypto ld.so kernel, and all the ssh tools. The dynamic objects are entirely ret-clean, static binaries will contain a blend of cleaning and non-cleaning callers. OpenBSD-Commit-ID: 112aacedd3b61cc5c34b1fa6d9fb759214179172 --- .skipped-commit-ids | 1 + 1 file changed, 1 insertion(+) diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 833cab52c878..ec7831e5ff53 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids @@ -36,6 +36,7 @@ ef9341d5a50f0d33e3a6fbe995e92964bc7ef2d3 Makefile relinking changes 6d2ded4cd91d4d727c2b26e099b91ea935bed504 relink kit fb39324748824cb0387e9d67c41d1bef945c54ea Makefile change 5f378c38ad8976d507786dc4db9283a879ec8cd0 Makefile change +112aacedd3b61cc5c34b1fa6d9fb759214179172 Makefile change Old upstream tree: From 916b0b6174e203cf2c5ec9bcf409472eb7ffbf43 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 7 Jun 2024 03:31:02 +1000 Subject: [PATCH 088/172] whitespace --- sshd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sshd.c b/sshd.c index 36e3773ce5df..1cc438a71c64 100644 --- a/sshd.c +++ b/sshd.c @@ -1337,7 +1337,7 @@ main(int ac, char **av) if (sb.st_uid != 0 || (sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) #endif fatal("%s must be owned by root and not group or " - "world-writable.", _PATH_PRIVSEP_CHROOT_DIR); + "world-writable.", _PATH_PRIVSEP_CHROOT_DIR); } if (test_flag > 1) From 81c1099d22b81ebfd20a334ce986c4f753b0db29 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 17:15:25 +0000 Subject: [PATCH 089/172] upstream: Add a facility to sshd(8) to penalise particular problematic client behaviours, controlled by two new sshd_config(5) options: PerSourcePenalties and PerSourcePenaltyExemptList. When PerSourcePenalties are enabled, sshd(8) will monitor the exit status of its child pre-auth session processes. Through the exit status, it can observe situations where the session did not authenticate as expected. These conditions include when the client repeatedly attempted authentication unsucessfully (possibly indicating an attack against one or more accounts, e.g. password guessing), or when client behaviour caused sshd to crash (possibly indicating attempts to exploit sshd). When such a condition is observed, sshd will record a penalty of some duration (e.g. 30 seconds) against the client's address. If this time is above a minimum threshold specified by the PerSourcePenalties, then connections from the client address will be refused (along with any others in the same PerSourceNetBlockSize CIDR range). Repeated offenses by the same client address will accrue greater penalties, up to a configurable maximum. A PerSourcePenaltyExemptList option allows certain address ranges to be exempt from all penalties. We hope these options will make it significantly more difficult for attackers to find accounts with weak/guessable passwords or exploit bugs in sshd(8) itself. PerSourcePenalties is off by default, but we expect to enable it automatically in the near future. much feedback markus@ and others, ok markus@ OpenBSD-Commit-ID: 89ded70eccb2b4926ef0366a4d58a693de366cca --- .depend | 6 +- misc.c | 18 ++- misc.h | 3 +- monitor.c | 8 +- monitor_wrap.c | 35 +++- servconf.c | 134 +++++++++++++++- servconf.h | 18 ++- srclimit.c | 322 +++++++++++++++++++++++++++++++++++-- srclimit.h | 22 ++- sshd-session.c | 15 +- sshd.c | 428 ++++++++++++++++++++++++++++++++++++++++++------- sshd_config.5 | 66 +++++++- 12 files changed, 982 insertions(+), 93 deletions(-) diff --git a/.depend b/.depend index b09a780615f8..1d7d0606c657 100644 --- a/.depend +++ b/.depend @@ -84,7 +84,7 @@ monitor.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api monitor.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h openbsd-compat/openssl-compat.h atomicio.h xmalloc.h ssh.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h audit.h loginrec.h cipher.h cipher-chachapoly.h monitor_fdpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h monitor_fdpass.h monitor_wrap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h -monitor_wrap.o: loginrec.h auth-options.h packet.h dispatch.h log.h ssherr.h monitor.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h monitor_wrap.h +monitor_wrap.o: loginrec.h auth-options.h packet.h dispatch.h log.h ssherr.h monitor.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h monitor_wrap.h srclimit.h msg.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h ssherr.h log.h atomicio.h msg.h misc.h mux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h log.h ssherr.h ssh.h ssh2.h pathnames.h misc.h match.h sshbuf.h channels.h msg.h packet.h dispatch.h monitor_fdpass.h sshpty.h sshkey.h readconf.h clientloop.h nchan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h ssh2.h sshbuf.h ssherr.h packet.h dispatch.h channels.h compat.h log.h @@ -126,7 +126,7 @@ sftp-usergroup.o: includes.h config.h defines.h platform.h openbsd-compat/openbs sftp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h pathnames.h misc.h utf8.h sftp.h sshbuf.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-usergroup.h sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h +srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h servconf.h openbsd-compat/sys-queue.h match.h ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -162,7 +162,7 @@ sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h sshd-session.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h sshd-session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h -sshd.o: audit.h loginrec.h authfd.h msg.h version.h sk-api.h srclimit.h +sshd.o: audit.h loginrec.h authfd.h msg.h version.h sk-api.h addr.h srclimit.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshpty.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h digest.h sshkey.h authfile.h pathnames.h canohost.h hostfile.h auth.h auth-pam.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h diff --git a/misc.c b/misc.c index 0a00d09629b0..afdf5142ec0d 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.195 2024/05/17 06:11:17 deraadt Exp $ */ +/* $OpenBSD: misc.c,v 1.196 2024/06/06 17:15:25 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -3100,3 +3100,19 @@ lib_contains_symbol(const char *path, const char *s) return ret; #endif /* HAVE_NLIST_H */ } + +int +signal_is_crash(int sig) +{ + switch (sig) { + case SIGSEGV: + case SIGBUS: + case SIGTRAP: + case SIGSYS: + case SIGFPE: + case SIGILL: + case SIGABRT: + return 1; + } + return 0; +} diff --git a/misc.h b/misc.h index 277db196a18d..113403896d8a 100644 --- a/misc.h +++ b/misc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.h,v 1.108 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: misc.h,v 1.109 2024/06/06 17:15:25 djm Exp $ */ /* * Author: Tatu Ylonen @@ -252,6 +252,7 @@ void notify_complete(struct notifier_ctx *, const char *, ...) typedef void (*sshsig_t)(int); sshsig_t ssh_signal(int, sshsig_t); +int signal_is_crash(int); /* On OpenBSD time_t is int64_t which is long long. */ /* #define SSH_TIME_T_MAX LLONG_MAX */ diff --git a/monitor.c b/monitor.c index e6b009c8dfa0..9e0e03ea241f 100644 --- a/monitor.c +++ b/monitor.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.c,v 1.239 2024/05/17 06:42:04 jsg Exp $ */ +/* $OpenBSD: monitor.c,v 1.240 2024/06/06 17:15:25 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -161,6 +161,7 @@ static char *auth_submethod = NULL; static u_int session_id2_len = 0; static u_char *session_id2 = NULL; static pid_t monitor_child_pid; +int auth_attempted = 0; struct mon_table { enum monitor_reqtype type; @@ -296,6 +297,10 @@ monitor_child_preauth(struct ssh *ssh, struct monitor *pmonitor) authenticated = (monitor_read(ssh, pmonitor, mon_dispatch, &ent) == 1); + /* Record that auth was attempted to set exit status later */ + if ((ent->flags & MON_AUTH) != 0) + auth_attempted = 1; + /* Special handling for multiple required authentications */ if (options.num_auth_methods != 0) { if (authenticated && @@ -353,6 +358,7 @@ monitor_child_preauth(struct ssh *ssh, struct monitor *pmonitor) fatal_f("authentication method name unknown"); debug_f("user %s authenticated by privileged process", authctxt->user); + auth_attempted = 0; ssh->authctxt = NULL; ssh_packet_set_log_preamble(ssh, "user %s", authctxt->user); diff --git a/monitor_wrap.c b/monitor_wrap.c index 7807895c2346..9720bdb434c6 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.130 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.131 2024/06/06 17:15:25 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -73,6 +74,7 @@ #include "session.h" #include "servconf.h" #include "monitor_wrap.h" +#include "srclimit.h" #include "ssherr.h" @@ -137,6 +139,36 @@ mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) fatal_f("write: %s", strerror(errno)); } +static void +mm_reap(void) +{ + int status = -1; + + if (!mm_is_monitor()) + return; + while (waitpid(pmonitor->m_pid, &status, 0) == -1) { + if (errno == EINTR) + continue; + pmonitor->m_pid = -1; + fatal_f("waitpid: %s", strerror(errno)); + } + if (WIFEXITED(status)) { + if (WEXITSTATUS(status) != 0) { + debug_f("preauth child exited with status %d", + WEXITSTATUS(status)); + cleanup_exit(255); + } + } else if (WIFSIGNALED(status)) { + error_f("preauth child terminated by signal %d", + WTERMSIG(status)); + cleanup_exit(signal_is_crash(WTERMSIG(status)) ? + EXIT_CHILD_CRASH : 255); + } else { + error_f("preauth child terminated abnormally"); + cleanup_exit(EXIT_CHILD_CRASH); + } +} + void mm_request_receive(int sock, struct sshbuf *m) { @@ -149,6 +181,7 @@ mm_request_receive(int sock, struct sshbuf *m) if (atomicio(read, sock, buf, sizeof(buf)) != sizeof(buf)) { if (errno == EPIPE) { debug3_f("monitor fd closed"); + mm_reap(); cleanup_exit(255); } fatal_f("read: %s", strerror(errno)); diff --git a/servconf.c b/servconf.c index 24d547180436..b04fb1048d65 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.407 2024/05/17 01:17:40 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.408 2024/06/06 17:15:25 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -163,6 +163,16 @@ initialize_server_options(ServerOptions *options) options->per_source_max_startups = -1; options->per_source_masklen_ipv4 = -1; options->per_source_masklen_ipv6 = -1; + options->per_source_penalty_exempt = NULL; + options->per_source_penalty.enabled = -1; + options->per_source_penalty.max_sources = -1; + options->per_source_penalty.overflow_mode = -1; + options->per_source_penalty.penalty_crash = -1; + options->per_source_penalty.penalty_authfail = -1; + options->per_source_penalty.penalty_noauth = -1; + options->per_source_penalty.penalty_grace = -1; + options->per_source_penalty.penalty_max = -1; + options->per_source_penalty.penalty_min = -1; options->max_authtries = -1; options->max_sessions = -1; options->banner = NULL; @@ -402,6 +412,24 @@ fill_default_server_options(ServerOptions *options) options->per_source_masklen_ipv4 = 32; if (options->per_source_masklen_ipv6 == -1) options->per_source_masklen_ipv6 = 128; + if (options->per_source_penalty.enabled == -1) + options->per_source_penalty.enabled = 0; + if (options->per_source_penalty.max_sources == -1) + options->per_source_penalty.max_sources = 65536; + if (options->per_source_penalty.overflow_mode == -1) + options->per_source_penalty.overflow_mode = PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE; + if (options->per_source_penalty.penalty_crash == -1) + options->per_source_penalty.penalty_crash = 90; + if (options->per_source_penalty.penalty_grace == -1) + options->per_source_penalty.penalty_grace = 20; + if (options->per_source_penalty.penalty_authfail == -1) + options->per_source_penalty.penalty_authfail = 5; + if (options->per_source_penalty.penalty_noauth == -1) + options->per_source_penalty.penalty_noauth = 1; + if (options->per_source_penalty.penalty_min == -1) + options->per_source_penalty.penalty_min = 15; + if (options->per_source_penalty.penalty_max == -1) + options->per_source_penalty.penalty_max = 600; if (options->max_authtries == -1) options->max_authtries = DEFAULT_AUTH_FAIL_MAX; if (options->max_sessions == -1) @@ -479,6 +507,7 @@ fill_default_server_options(ServerOptions *options) CLEAR_ON_NONE(options->chroot_directory); CLEAR_ON_NONE(options->routing_domain); CLEAR_ON_NONE(options->host_key_agent); + CLEAR_ON_NONE(options->per_source_penalty_exempt); for (i = 0; i < options->num_host_key_files; i++) CLEAR_ON_NONE(options->host_key_files[i]); @@ -513,6 +542,7 @@ typedef enum { sBanner, sUseDNS, sHostbasedAuthentication, sHostbasedUsesNameFromPacketOnly, sHostbasedAcceptedAlgorithms, sHostKeyAlgorithms, sPerSourceMaxStartups, sPerSourceNetBlockSize, + sPerSourcePenalties, sPerSourcePenaltyExemptList, sClientAliveInterval, sClientAliveCountMax, sAuthorizedKeysFile, sGssAuthentication, sGssCleanupCreds, sGssStrictAcceptor, sAcceptEnv, sSetEnv, sPermitTunnel, @@ -645,6 +675,8 @@ static struct { { "maxstartups", sMaxStartups, SSHCFG_GLOBAL }, { "persourcemaxstartups", sPerSourceMaxStartups, SSHCFG_GLOBAL }, { "persourcenetblocksize", sPerSourceNetBlockSize, SSHCFG_GLOBAL }, + { "persourcepenalties", sPerSourcePenalties, SSHCFG_GLOBAL }, + { "persourcepenaltyexemptlist", sPerSourcePenaltyExemptList, SSHCFG_GLOBAL }, { "maxauthtries", sMaxAuthTries, SSHCFG_ALL }, { "maxsessions", sMaxSessions, SSHCFG_ALL }, { "banner", sBanner, SSHCFG_ALL }, @@ -1945,6 +1977,89 @@ process_server_config_line_depth(ServerOptions *options, char *line, options->per_source_max_startups = value; break; + case sPerSourcePenaltyExemptList: + charptr = &options->per_source_penalty_exempt; + arg = argv_next(&ac, &av); + if (!arg || *arg == '\0') + fatal("%s line %d: missing file name.", + filename, linenum); + if (addr_match_list(NULL, arg) != 0) { + fatal("%s line %d: keyword %s " + "invalid address argument.", + filename, linenum, keyword); + } + if (*activep && *charptr == NULL) + *charptr = xstrdup(arg); + break; + + case sPerSourcePenalties: + while ((arg = argv_next(&ac, &av)) != NULL) { + found = 1; + value = -1; + value2 = 0; + p = NULL; + /* Allow no/yes only in first position */ + if (strcasecmp(arg, "no") == 0 || + (value2 = (strcasecmp(arg, "yes") == 0))) { + if (ac > 0) { + fatal("%s line %d: keyword %s \"%s\" " + "argument must appear alone.", + filename, linenum, keyword, arg); + } + if (*activep && + options->per_source_penalty.enabled == -1) + options->per_source_penalty.enabled = value2; + continue; + } else if (strncmp(arg, "crash:", 6) == 0) { + p = arg + 6; + intptr = &options->per_source_penalty.penalty_crash; + } else if (strncmp(arg, "authfail:", 9) == 0) { + p = arg + 9; + intptr = &options->per_source_penalty.penalty_authfail; + } else if (strncmp(arg, "noauth:", 7) == 0) { + p = arg + 7; + intptr = &options->per_source_penalty.penalty_noauth; + } else if (strncmp(arg, "grace-exceeded:", 15) == 0) { + p = arg + 15; + intptr = &options->per_source_penalty.penalty_grace; + } else if (strncmp(arg, "max:", 4) == 0) { + p = arg + 4; + intptr = &options->per_source_penalty.penalty_max; + } else if (strncmp(arg, "min:", 4) == 0) { + p = arg + 4; + intptr = &options->per_source_penalty.penalty_min; + } else if (strncmp(arg, "max-sources:", 12) == 0) { + intptr = &options->per_source_penalty.max_sources; + if ((errstr = atoi_err(arg+12, &value)) != NULL) + fatal("%s line %d: %s value %s.", + filename, linenum, keyword, errstr); + } else if (strcmp(arg, "overflow:deny-all") == 0) { + intptr = &options->per_source_penalty.overflow_mode; + value = PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL; + } else if (strcmp(arg, "overflow:permissive") == 0) { + intptr = &options->per_source_penalty.overflow_mode; + value = PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE; + } else { + fatal("%s line %d: unsupported %s keyword %s", + filename, linenum, keyword, arg); + } + /* If no value was parsed above, assume it's a time */ + if (value == -1 && (value = convtime(p)) == -1) { + fatal("%s line %d: invalid %s time value.", + filename, linenum, keyword); + } + if (*activep && *intptr == -1) { + *intptr = value; + /* any option implicitly enables penalties */ + options->per_source_penalty.enabled = 1; + } + } + if (!found) { + fatal("%s line %d: no %s specified", + filename, linenum, keyword); + } + break; + case sMaxAuthTries: intptr = &options->max_authtries; goto parse_int; @@ -3082,6 +3197,7 @@ dump_config(ServerOptions *o) dump_cfg_string(sRDomain, o->routing_domain); #endif dump_cfg_string(sSshdSessionPath, o->sshd_session_path); + dump_cfg_string(sPerSourcePenaltyExemptList, o->per_source_penalty_exempt); /* string arguments requiring a lookup */ dump_cfg_string(sLogLevel, log_level_name(o->log_level)); @@ -3169,4 +3285,20 @@ dump_config(ServerOptions *o) if (o->pubkey_auth_options & PUBKEYAUTH_VERIFY_REQUIRED) printf(" verify-required"); printf("\n"); + + if (o->per_source_penalty.enabled) { + printf("persourcepenalties crash:%d authfail:%d noauth:%d " + "grace-exceeded:%d max:%d min:%d max-sources:%d " + "overflow:%s\n", o->per_source_penalty.penalty_crash, + o->per_source_penalty.penalty_authfail, + o->per_source_penalty.penalty_noauth, + o->per_source_penalty.penalty_grace, + o->per_source_penalty.penalty_max, + o->per_source_penalty.penalty_min, + o->per_source_penalty.max_sources, + o->per_source_penalty.overflow_mode == + PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL ? + "deny-all" : "permissive"); + } else + printf("persourcepenalties no\n"); } diff --git a/servconf.h b/servconf.h index 64fb268e2616..e6d7b75b9a9a 100644 --- a/servconf.h +++ b/servconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.h,v 1.163 2024/05/23 23:47:16 jsg Exp $ */ +/* $OpenBSD: servconf.h,v 1.164 2024/06/06 17:15:25 djm Exp $ */ /* * Author: Tatu Ylonen @@ -65,6 +65,20 @@ struct listenaddr { struct addrinfo *addrs; }; +#define PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL 1 +#define PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE 2 +struct per_source_penalty { + int enabled; + int max_sources; + int overflow_mode; + int penalty_crash; + int penalty_grace; + int penalty_authfail; + int penalty_noauth; + int penalty_max; + int penalty_min; +}; + typedef struct { u_int num_ports; u_int ports_from_cmdline; @@ -172,6 +186,8 @@ typedef struct { int per_source_max_startups; int per_source_masklen_ipv4; int per_source_masklen_ipv6; + char *per_source_penalty_exempt; + struct per_source_penalty per_source_penalty; int max_authtries; int max_sessions; char *banner; /* SSH-2 banner message */ diff --git a/srclimit.c b/srclimit.c index 5014ed79f296..6beeed6c7f78 100644 --- a/srclimit.c +++ b/srclimit.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2020 Darren Tucker + * Copyright (c) 2024 Damien Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -18,11 +19,13 @@ #include #include +#include #include #include #include #include +#include #include "addr.h" #include "canohost.h" @@ -30,8 +33,12 @@ #include "misc.h" #include "srclimit.h" #include "xmalloc.h" +#include "servconf.h" +#include "match.h" static int max_children, max_persource, ipv4_masklen, ipv6_masklen; +static struct per_source_penalty penalty_cfg; +static char *penalty_exempt; /* Per connection state, used to enforce unauthenticated connection limit. */ static struct child_info { @@ -39,8 +46,58 @@ static struct child_info { struct xaddr addr; } *child; +/* + * Penalised addresses, active entries here prohibit connections until expired. + * Entries become active when more than penalty_min seconds of penalty are + * outstanding. + */ +struct penalty { + struct xaddr addr; + time_t expiry; + int active; + const char *reason; + RB_ENTRY(penalty) by_addr; + RB_ENTRY(penalty) by_expiry; +}; +static int penalty_addr_cmp(struct penalty *a, struct penalty *b); +static int penalty_expiry_cmp(struct penalty *a, struct penalty *b); +RB_HEAD(penalties_by_addr, penalty) penalties_by_addr; +RB_HEAD(penalties_by_expiry, penalty) penalties_by_expiry; +RB_GENERATE_STATIC(penalties_by_addr, penalty, by_addr, penalty_addr_cmp) +RB_GENERATE_STATIC(penalties_by_expiry, penalty, by_expiry, penalty_expiry_cmp) +static size_t npenalties; + +static int +srclimit_mask_addr(const struct xaddr *addr, int bits, struct xaddr *masked) +{ + struct xaddr xmask; + + /* Mask address off address to desired size. */ + if (addr_netmask(addr->af, bits, &xmask) != 0 || + addr_and(masked, addr, &xmask) != 0) { + debug3_f("%s: invalid mask %d bits", __func__, bits); + return -1; + } + return 0; +} + +static int +srclimit_peer_addr(int sock, struct xaddr *addr) +{ + struct sockaddr_storage storage; + socklen_t addrlen = sizeof(storage); + struct sockaddr *sa = (struct sockaddr *)&storage; + + if (getpeername(sock, sa, &addrlen) != 0) + return 1; /* not remote socket? */ + if (addr_sa_to_xaddr(sa, addrlen, addr) != 0) + return 1; /* unknown address family? */ + return 0; +} + void -srclimit_init(int max, int persource, int ipv4len, int ipv6len) +srclimit_init(int max, int persource, int ipv4len, int ipv6len, + struct per_source_penalty *penalty_conf, const char *penalty_exempt_conf) { int i; @@ -48,6 +105,9 @@ srclimit_init(int max, int persource, int ipv4len, int ipv6len) ipv4_masklen = ipv4len; ipv6_masklen = ipv6len; max_persource = persource; + penalty_cfg = *penalty_conf; + penalty_exempt = penalty_exempt_conf == NULL ? + NULL : xstrdup(penalty_exempt_conf); if (max_persource == INT_MAX) /* no limit */ return; debug("%s: max connections %d, per source %d, masks %d,%d", __func__, @@ -57,16 +117,15 @@ srclimit_init(int max, int persource, int ipv4len, int ipv6len) child = xcalloc(max_children, sizeof(*child)); for (i = 0; i < max_children; i++) child[i].id = -1; + RB_INIT(&penalties_by_addr); + RB_INIT(&penalties_by_expiry); } /* returns 1 if connection allowed, 0 if not allowed. */ int srclimit_check_allow(int sock, int id) { - struct xaddr xa, xb, xmask; - struct sockaddr_storage addr; - socklen_t addrlen = sizeof(addr); - struct sockaddr *sa = (struct sockaddr *)&addr; + struct xaddr xa, xb; int i, bits, first_unused, count = 0; char xas[NI_MAXHOST]; @@ -74,18 +133,11 @@ srclimit_check_allow(int sock, int id) return 1; debug("%s: sock %d id %d limit %d", __func__, sock, id, max_persource); - if (getpeername(sock, sa, &addrlen) != 0) - return 1; /* not remote socket? */ - if (addr_sa_to_xaddr(sa, addrlen, &xa) != 0) - return 1; /* unknown address family? */ - - /* Mask address off address to desired size. */ + if (srclimit_peer_addr(sock, &xa) != 0) + return 1; bits = xa.af == AF_INET ? ipv4_masklen : ipv6_masklen; - if (addr_netmask(xa.af, bits, &xmask) != 0 || - addr_and(&xb, &xa, &xmask) != 0) { - debug3("%s: invalid mask %d bits", __func__, bits); + if (srclimit_mask_addr(&xa, bits, &xb) != 0) return 1; - } first_unused = max_children; /* Count matching entries and find first unused one. */ @@ -138,3 +190,243 @@ srclimit_done(int id) } } } + +static int +penalty_addr_cmp(struct penalty *a, struct penalty *b) +{ + return addr_cmp(&a->addr, &b->addr); + /* Addresses must be unique in by_addr, so no need to tiebreak */ +} + +static int +penalty_expiry_cmp(struct penalty *a, struct penalty *b) +{ + if (a->expiry != b->expiry) + return a->expiry < b->expiry ? -1 : 1; + /* Tiebreak on addresses */ + return addr_cmp(&a->addr, &b->addr); +} + +static void +expire_penalties(time_t now) +{ + struct penalty *penalty, *tmp; + + /* XXX avoid full scan of tree, e.g. min-heap */ + RB_FOREACH_SAFE(penalty, penalties_by_expiry, + &penalties_by_expiry, tmp) { + if (penalty->expiry >= now) + break; + if (RB_REMOVE(penalties_by_expiry, &penalties_by_expiry, + penalty) != penalty || + RB_REMOVE(penalties_by_addr, &penalties_by_addr, + penalty) != penalty) + fatal_f("internal error: penalty tables corrupt"); + free(penalty); + if (npenalties-- == 0) + fatal_f("internal error: npenalties underflow"); + } +} + +static void +addr_masklen_ntop(struct xaddr *addr, int masklen, char *s, size_t slen) +{ + size_t o; + + if (addr_ntop(addr, s, slen) != 0) { + strlcpy(s, "UNKNOWN", slen); + return; + } + if ((o = strlen(s)) < slen) + snprintf(s + o, slen - o, "/%d", masklen); +} + +int +srclimit_penalty_check_allow(int sock, const char **reason) +{ + struct xaddr addr; + struct penalty find, *penalty; + time_t now; + int bits; + char addr_s[NI_MAXHOST]; + + if (!penalty_cfg.enabled) + return 1; + if (srclimit_peer_addr(sock, &addr) != 0) + return 1; + if (penalty_exempt != NULL) { + if (addr_ntop(&addr, addr_s, sizeof(addr_s)) != 0) + return 1; /* shouldn't happen */ + if (addr_match_list(addr_s, penalty_exempt) == 1) { + return 1; + } + } + if (npenalties > (size_t)penalty_cfg.max_sources && + penalty_cfg.overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { + *reason = "too many penalised addresses"; + return 0; + } + bits = addr.af == AF_INET ? ipv4_masklen : ipv6_masklen; + memset(&find, 0, sizeof(find)); + if (srclimit_mask_addr(&addr, bits, &find.addr) != 0) + return 1; + now = monotime(); + if ((penalty = RB_FIND(penalties_by_addr, + &penalties_by_addr, &find)) == NULL) + return 1; /* no penalty */ + if (penalty->expiry < now) { + expire_penalties(now); + return 1; /* expired penalty */ + } + if (!penalty->active) + return 1; /* Penalty hasn't hit activation threshold yet */ + *reason = penalty->reason; + return 0; +} + +static void +srclimit_remove_expired_penalties(void) +{ + struct penalty *p = NULL; + int bits; + char s[NI_MAXHOST + 4]; + + /* Delete the soonest-to-expire penalties. */ + while (npenalties > (size_t)penalty_cfg.max_sources) { + if ((p = RB_MIN(penalties_by_expiry, + &penalties_by_expiry)) == NULL) + break; /* shouldn't happen */ + bits = p->addr.af == AF_INET ? ipv4_masklen : ipv6_masklen; + addr_masklen_ntop(&p->addr, bits, s, sizeof(s)); + debug3_f("overflow, remove %s", s); + if (RB_REMOVE(penalties_by_expiry, + &penalties_by_expiry, p) != p || + RB_REMOVE(penalties_by_addr, &penalties_by_addr, p) != p) + fatal_f("internal error: penalty tables corrupt"); + free(p); + npenalties--; + } +} + +void +srclimit_penalise(struct xaddr *addr, int penalty_type) +{ + struct xaddr masked; + struct penalty *penalty, *existing; + time_t now; + int bits, penalty_secs; + char addrnetmask[NI_MAXHOST + 4]; + const char *reason = NULL; + + if (!penalty_cfg.enabled) + return; + if (penalty_exempt != NULL) { + if (addr_ntop(addr, addrnetmask, sizeof(addrnetmask)) != 0) + return; /* shouldn't happen */ + if (addr_match_list(addrnetmask, penalty_exempt) == 1) { + debug3_f("address %s is exempt", addrnetmask); + return; + } + } + + switch (penalty_type) { + case SRCLIMIT_PENALTY_NONE: + return; + case SRCLIMIT_PENALTY_CRASH: + penalty_secs = penalty_cfg.penalty_crash; + reason = "penalty: caused crash"; + break; + case SRCLIMIT_PENALTY_AUTHFAIL: + penalty_secs = penalty_cfg.penalty_authfail; + reason = "penalty: failed authentication"; + break; + case SRCLIMIT_PENALTY_NOAUTH: + penalty_secs = penalty_cfg.penalty_noauth; + reason = "penalty: connections without attempting authentication"; + break; + case SRCLIMIT_PENALTY_GRACE_EXCEEDED: + penalty_secs = penalty_cfg.penalty_crash; + reason = "penalty: exceeded LoginGraceTime"; + break; + default: + fatal_f("internal error: unknown penalty %d", penalty_type); + } + bits = addr->af == AF_INET ? ipv4_masklen : ipv6_masklen; + if (srclimit_mask_addr(addr, bits, &masked) != 0) + return; + addr_masklen_ntop(addr, bits, addrnetmask, sizeof(addrnetmask)); + + now = monotime(); + expire_penalties(now); + if (npenalties > (size_t)penalty_cfg.max_sources && + penalty_cfg.overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { + verbose_f("penalty table full, cannot penalise %s for %s", + addrnetmask, reason); + return; + } + + penalty = xcalloc(1, sizeof(*penalty)); + penalty->addr = masked; + penalty->expiry = now + penalty_secs; + penalty->reason = reason; + if ((existing = RB_INSERT(penalties_by_addr, &penalties_by_addr, + penalty)) == NULL) { + /* penalty didn't previously exist */ + if (penalty_secs > penalty_cfg.penalty_min) + penalty->active = 1; + if (RB_INSERT(penalties_by_expiry, &penalties_by_expiry, + penalty) != NULL) + fatal_f("internal error: penalty tables corrupt"); + verbose_f("%s: new %s penalty of %d seconds for %s", + addrnetmask, penalty->active ? "active" : "deferred", + penalty_secs, reason); + if (++npenalties > (size_t)penalty_cfg.max_sources) + srclimit_remove_expired_penalties(); /* permissive */ + return; + } + debug_f("%s penalty for %s already exists, %lld seconds remaining", + existing->active ? "active" : "inactive", + addrnetmask, (long long)(existing->expiry - now)); + /* Expiry information is about to change, remove from tree */ + if (RB_REMOVE(penalties_by_expiry, &penalties_by_expiry, + existing) != existing) + fatal_f("internal error: penalty tables corrupt (remove)"); + /* An entry already existed. Accumulate penalty up to maximum */ + existing->expiry += penalty_secs; + if (existing->expiry - now > penalty_cfg.penalty_max) + existing->expiry = now + penalty_cfg.penalty_max; + if (existing->expiry - now > penalty_cfg.penalty_min && + !existing->active) { + verbose_f("%s: activating penalty of %lld seconds for %s", + addrnetmask, (long long)(existing->expiry - now), reason); + existing->active = 1; + } + existing->reason = penalty->reason; + free(penalty); + /* Re-insert into expiry tree */ + if (RB_INSERT(penalties_by_expiry, &penalties_by_expiry, + existing) != NULL) + fatal_f("internal error: penalty tables corrupt (insert)"); +} + +void +srclimit_penalty_info(void) +{ + struct penalty *p = NULL; + int bits; + char s[NI_MAXHOST + 4]; + time_t now; + + now = monotime(); + logit("%zu active penalties", npenalties); + RB_FOREACH(p, penalties_by_expiry, &penalties_by_expiry) { + bits = p->addr.af == AF_INET ? ipv4_masklen : ipv6_masklen; + addr_masklen_ntop(&p->addr, bits, s, sizeof(s)); + if (p->expiry < now) + logit("client %s %s (expired)", s, p->reason); + else { + logit("client %s %s (%llu secs left)", s, p->reason, + (long long)(p->expiry - now)); + } + } +} diff --git a/srclimit.h b/srclimit.h index 6e04f32b3ff7..74a6f2b836d0 100644 --- a/srclimit.h +++ b/srclimit.h @@ -13,6 +13,26 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -void srclimit_init(int, int, int, int); +struct xaddr; + +struct per_source_penalty; + +void srclimit_init(int, int, int, int, + struct per_source_penalty *, const char *); int srclimit_check_allow(int, int); void srclimit_done(int); + +#define SRCLIMIT_PENALTY_NONE 0 +#define SRCLIMIT_PENALTY_CRASH 1 +#define SRCLIMIT_PENALTY_AUTHFAIL 2 +#define SRCLIMIT_PENALTY_GRACE_EXCEEDED 3 +#define SRCLIMIT_PENALTY_NOAUTH 4 + +/* meaningful exit values, used by sshd listener for penalties */ +#define EXIT_LOGIN_GRACE 3 /* login grace period exceeded */ +#define EXIT_CHILD_CRASH 4 /* preauth child crashed */ +#define EXIT_AUTH_ATTEMPTED 5 /* at least one auth attempt made */ + +void srclimit_penalise(struct xaddr *, int); +int srclimit_penalty_check_allow(int, const char **); +void srclimit_penalty_info(void); diff --git a/sshd-session.c b/sshd-session.c index 53478f0047c4..02e469e057d7 100644 --- a/sshd-session.c +++ b/sshd-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd-session.c,v 1.2 2024/05/17 02:39:11 jsg Exp $ */ +/* $OpenBSD: sshd-session.c,v 1.3 2024/06/06 17:15:25 djm Exp $ */ /* * SSH2 implementation: * Privilege Separation: @@ -209,11 +209,7 @@ grace_alarm_handler(int sig) ssh_signal(SIGTERM, SIG_IGN); kill(0, SIGTERM); } - - /* Log error and exit. */ - sigdie("Timeout before authentication for %s port %d", - ssh_remote_ipaddr(the_active_state), - ssh_remote_port(the_active_state)); + _exit(EXIT_LOGIN_GRACE); } /* Destroy the host and server keys. They will no longer be needed. */ @@ -1303,6 +1299,8 @@ main(int ac, char **av) ssh_signal(SIGALRM, SIG_DFL); authctxt->authenticated = 1; if (startup_pipe != -1) { + /* signal listener that authentication completed successfully */ + (void)atomicio(vwrite, startup_pipe, "\001", 1); close(startup_pipe); startup_pipe = -1; } @@ -1451,6 +1449,8 @@ do_ssh2_kex(struct ssh *ssh) void cleanup_exit(int i) { + extern int auth_attempted; /* monitor.c */ + if (the_active_state != NULL && the_authctxt != NULL) { do_cleanup(the_active_state, the_authctxt); if (privsep_is_preauth && @@ -1463,6 +1463,9 @@ cleanup_exit(int i) } } } + /* Override default fatal exit value when auth was attempted */ + if (i == 255 && auth_attempted) + _exit(EXIT_AUTH_ATTEMPTED); #ifdef SSH_AUDIT_EVENTS /* done after do_cleanup so it can cancel the PAM auth 'thread' */ if (the_active_state != NULL && mm_is_monitor()) diff --git a/sshd.c b/sshd.c index 1cc438a71c64..e9894d249703 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.605 2024/06/01 07:03:37 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.606 2024/06/06 17:15:25 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -89,6 +89,7 @@ #include "version.h" #include "ssherr.h" #include "sk-api.h" +#include "addr.h" #include "srclimit.h" /* Re-exec fds */ @@ -138,6 +139,8 @@ struct { } sensitive_data; /* This is set to true when a signal is received. */ +static volatile sig_atomic_t received_siginfo = 0; +static volatile sig_atomic_t received_sigchld = 0; static volatile sig_atomic_t received_sighup = 0; static volatile sig_atomic_t received_sigterm = 0; @@ -145,8 +148,9 @@ static volatile sig_atomic_t received_sigterm = 0; u_int utmp_len = HOST_NAME_MAX+1; /* - * startup_pipes/flags are used for tracking children of the listening sshd - * process early in their lifespans. This tracking is needed for three things: + * The early_child/children array below is used for tracking children of the + * listening sshd process early in their lifespans, before they have + * completed authentication. This tracking is needed for four things: * * 1) Implementing the MaxStartups limit of concurrent unauthenticated * connections. @@ -155,14 +159,31 @@ u_int utmp_len = HOST_NAME_MAX+1; * after it restarts. * 3) Ensuring that rexec'd sshd processes have received their initial state * from the parent listen process before handling SIGHUP. + * 4) Tracking and logging unsuccessful exits from the preauth sshd monitor, + * including and especially those for LoginGraceTime timeouts. * * Child processes signal that they have completed closure of the listen_socks * and (if applicable) received their rexec state by sending a char over their - * sock. Child processes signal that authentication has completed by closing - * the sock (or by exiting). + * sock. + * + * Child processes signal that authentication has completed by sending a + * second char over the socket before closing it, otherwise the listener will + * continue tracking the child (and using up a MaxStartups slot) until the + * preauth subprocess exits, whereupon the listener will log its exit status. + * preauth processes will exit with a status of EXIT_LOGIN_GRACE to indicate + * they did not authenticate before the LoginGraceTime alarm fired. */ -static int *startup_pipes = NULL; -static int *startup_flags = NULL; /* Indicates child closed listener */ +struct early_child { + int pipefd; + int early; /* Indicates child closed listener */ + char *id; /* human readable connection identifier */ + pid_t pid; + struct xaddr addr; + int have_addr; + int status, have_status; +}; +static struct early_child *children; +static int children_active; static int startup_pipe = -1; /* in child */ /* sshd_config buffer */ @@ -192,15 +213,257 @@ close_listen_socks(void) num_listen_socks = 0; } +/* Allocate and initialise the children array */ +static void +child_alloc(void) +{ + int i; + + children = xcalloc(options.max_startups, sizeof(*children)); + for (i = 0; i < options.max_startups; i++) { + children[i].pipefd = -1; + children[i].pid = -1; + } +} + +/* Register a new connection in the children array; child pid comes later */ +static struct early_child * +child_register(int pipefd, int sockfd) +{ + int i, lport, rport; + char *laddr = NULL, *raddr = NULL; + struct early_child *child = NULL; + struct sockaddr_storage addr; + socklen_t addrlen = sizeof(addr); + struct sockaddr *sa = (struct sockaddr *)&addr; + + for (i = 0; i < options.max_startups; i++) { + if (children[i].pipefd != -1 || children[i].pid > 0) + continue; + child = &(children[i]); + break; + } + if (child == NULL) { + fatal_f("error: accepted connection when all %d child " + " slots full", options.max_startups); + } + child->pipefd = pipefd; + child->early = 1; + /* record peer address, if available */ + if (getpeername(sockfd, sa, &addrlen) == 0 && + addr_sa_to_xaddr(sa, addrlen, &child->addr) == 0) + child->have_addr = 1; + /* format peer address string for logs */ + if ((lport = get_local_port(sockfd)) == 0 || + (rport = get_peer_port(sockfd)) == 0) { + /* Not a TCP socket */ + raddr = get_peer_ipaddr(sockfd); + xasprintf(&child->id, "connection from %s", raddr); + } else { + laddr = get_local_ipaddr(sockfd); + raddr = get_peer_ipaddr(sockfd); + xasprintf(&child->id, "connection from %s to %s", laddr, raddr); + } + free(laddr); + free(raddr); + if (++children_active > options.max_startups) + fatal_f("internal error: more children than max_startups"); + + return child; +} + +/* + * Finally free a child entry. Don't call this directly. + */ +static void +child_finish(struct early_child *child) +{ + if (children_active == 0) + fatal_f("internal error: children_active underflow"); + if (child->pipefd != -1) + close(child->pipefd); + free(child->id); + memset(child, '\0', sizeof(*child)); + child->pipefd = -1; + child->pid = -1; + children_active--; +} + +/* + * Close a child's pipe. This will not stop tracking the child immediately + * (it will still be tracked for waitpid()) unless force_final is set, or + * child has already exited. + */ +static void +child_close(struct early_child *child, int force_final, int quiet) +{ + if (!quiet) + debug_f("enter%s", force_final ? " (forcing)" : ""); + if (child->pipefd != -1) { + close(child->pipefd); + child->pipefd = -1; + } + if (child->pid == -1 || force_final) + child_finish(child); +} + +/* Record a child exit. Safe to call from signal handlers */ +static void +child_exit(pid_t pid, int status) +{ + int i; + + if (children == NULL || pid <= 0) + return; + for (i = 0; i < options.max_startups; i++) { + if (children[i].pid == pid) { + children[i].have_status = 1; + children[i].status = status; + break; + } + } +} + +/* + * Reap a child entry that has exited, as previously flagged + * using child_exit(). + * Handles logging of exit condition and will finalise the child if its pipe + * had already been closed. + */ +static void +child_reap(struct early_child *child) +{ + LogLevel level = SYSLOG_LEVEL_DEBUG1; + int was_crash, penalty_type = SRCLIMIT_PENALTY_NONE; + + /* Log exit information */ + if (WIFSIGNALED(child->status)) { + /* + * Increase logging for signals potentially associated + * with serious conditions. + */ + if ((was_crash = signal_is_crash(WTERMSIG(child->status)))) + level = SYSLOG_LEVEL_ERROR; + do_log2(level, "session process %ld for %s killed by " + "signal %d%s", (long)child->pid, child->id, + WTERMSIG(child->status), child->early ? " (early)" : ""); + if (was_crash) + penalty_type = SRCLIMIT_PENALTY_CRASH; + } else if (!WIFEXITED(child->status)) { + penalty_type = SRCLIMIT_PENALTY_CRASH; + error("session process %ld for %s terminated abnormally, " + "status=0x%x%s", (long)child->pid, child->id, child->status, + child->early ? " (early)" : ""); + } else { + /* Normal exit. We care about the status */ + switch (WEXITSTATUS(child->status)) { + case 0: + debug3_f("preauth child %ld for %s completed " + "normally %s", (long)child->pid, child->id, + child->early ? " (early)" : ""); + break; + case EXIT_LOGIN_GRACE: + penalty_type = SRCLIMIT_PENALTY_GRACE_EXCEEDED; + logit("Timeout before authentication for %s, " + "pid = %ld%s", child->id, (long)child->pid, + child->early ? " (early)" : ""); + break; + case EXIT_CHILD_CRASH: + penalty_type = SRCLIMIT_PENALTY_CRASH; + logit("Session process %ld unpriv child crash for %s%s", + (long)child->pid, child->id, + child->early ? " (early)" : ""); + break; + case EXIT_AUTH_ATTEMPTED: + penalty_type = SRCLIMIT_PENALTY_AUTHFAIL; + debug_f("preauth child %ld for %s exited " + "after unsuccessful auth attempt %s", + (long)child->pid, child->id, + child->early ? " (early)" : ""); + break; + default: + penalty_type = SRCLIMIT_PENALTY_NOAUTH; + debug_f("preauth child %ld for %s exited " + "with status %d%s", (long)child->pid, child->id, + WEXITSTATUS(child->status), + child->early ? " (early)" : ""); + break; + } + } + /* + * XXX would be nice to have more subtlety here. + * - Different penalties + * a) authentication failures without success (e.g. brute force) + * b) login grace exceeded (penalise DoS) + * c) monitor crash (penalise exploit attempt) + * d) unpriv preauth crash (penalise exploit attempt) + * - Unpriv auth exit status/WIFSIGNALLED is not available because + * the "mm_request_receive: monitor fd closed" fatal kills the + * monitor before waitpid() can occur. It would be good to use the + * unpriv exit status to detect crashes. + * + * For now, just penalise (a), (b) and (c), since that is what we have + * readily available. The authentication failures detection cannot + * discern between failed authentication and other connection problems + * until we have the unpriv exist status plumbed through (and the unpriv + * child modified to use a different exit status when auth has been + * attempted), but it's a start. + */ + if (child->have_addr) + srclimit_penalise(&child->addr, penalty_type); + + child->pid = -1; + child->have_status = 0; + if (child->pipefd == -1) + child_finish(child); +} + +/* Reap all children that have exited; called after SIGCHLD */ +static void +child_reap_all_exited(void) +{ + int i; + + if (children == NULL) + return; + for (i = 0; i < options.max_startups; i++) { + if (!children[i].have_status) + continue; + child_reap(&(children[i])); + } +} + static void close_startup_pipes(void) { int i; - if (startup_pipes) - for (i = 0; i < options.max_startups; i++) - if (startup_pipes[i] != -1) - close(startup_pipes[i]); + if (children == NULL) + return; + for (i = 0; i < options.max_startups; i++) { + if (children[i].pipefd != -1) + child_close(&(children[i]), 1, 1); + } +} + +/* Called after SIGINFO */ +static void +show_info(void) +{ + int i; + + /* XXX print listening sockets here too */ + if (children == NULL) + return; + logit("%d active startups", children_active); + for (i = 0; i < options.max_startups; i++) { + if (children[i].pipefd == -1 && children[i].pid <= 0) + continue; + logit("child %d: fd=%d pid=%ld %s%s", i, children[i].pipefd, + (long)children[i].pid, children[i].id, + children[i].early ? " (early)" : ""); + } + srclimit_penalty_info(); } /* @@ -244,6 +507,14 @@ sigterm_handler(int sig) received_sigterm = sig; } +#ifdef SIGINFO +static void +siginfo_handler(int sig) +{ + received_siginfo = 1; +} +#endif + /* * SIGCHLD handler. This is called whenever a child dies. This will then * reap any zombies left by exited children. @@ -255,9 +526,17 @@ main_sigchld_handler(int sig) pid_t pid; int status; - while ((pid = waitpid(-1, &status, WNOHANG)) > 0 || - (pid == -1 && errno == EINTR)) - ; + for (;;) { + if ((pid = waitpid(-1, &status, WNOHANG)) == 0) + break; + else if (pid == -1) { + if (errno == EINTR) + continue; + break; + } + child_exit(pid, status); + received_sigchld = 1; + } errno = save_errno; } @@ -290,7 +569,7 @@ should_drop_connection(int startups) } /* - * Check whether connection should be accepted by MaxStartups. + * Check whether connection should be accepted by MaxStartups or for penalty. * Returns 0 if the connection is accepted. If the connection is refused, * returns 1 and attempts to send notification to client. * Logs when the MaxStartups condition is entered or exited, and periodically @@ -300,12 +579,17 @@ static int drop_connection(int sock, int startups, int notify_pipe) { char *laddr, *raddr; - const char msg[] = "Exceeded MaxStartups\r\n"; + const char *reason = NULL, msg[] = "Not allowed at this time\r\n"; static time_t last_drop, first_drop; static u_int ndropped; LogLevel drop_level = SYSLOG_LEVEL_VERBOSE; time_t now; + if (!srclimit_penalty_check_allow(sock, &reason)) { + drop_level = SYSLOG_LEVEL_INFO; + goto handle; + } + now = monotime(); if (!should_drop_connection(startups) && srclimit_check_allow(sock, notify_pipe) == 1) { @@ -335,12 +619,16 @@ drop_connection(int sock, int startups, int notify_pipe) } last_drop = now; ndropped++; + reason = "past Maxstartups"; + handle: laddr = get_local_ipaddr(sock); raddr = get_peer_ipaddr(sock); - do_log2(drop_level, "drop connection #%d from [%s]:%d on [%s]:%d " - "past MaxStartups", startups, raddr, get_peer_port(sock), - laddr, get_local_port(sock)); + do_log2(drop_level, "drop connection #%d from [%s]:%d on [%s]:%d %s", + startups, + raddr, get_peer_port(sock), + laddr, get_local_port(sock), + reason); free(laddr); free(raddr); /* best-effort notification to client */ @@ -547,8 +835,12 @@ server_listen(void) u_int i; /* Initialise per-source limit tracking. */ - srclimit_init(options.max_startups, options.per_source_max_startups, - options.per_source_masklen_ipv4, options.per_source_masklen_ipv6); + srclimit_init(options.max_startups, + options.per_source_max_startups, + options.per_source_masklen_ipv4, + options.per_source_masklen_ipv6, + &options.per_source_penalty, + options.per_source_penalty_exempt); for (i = 0; i < options.num_listen_addrs; i++) { listen_on_addrs(&options.listen_addrs[i]); @@ -574,32 +866,32 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, int log_stderr) { struct pollfd *pfd = NULL; - int i, j, ret, npfd; - int ostartups = -1, startups = 0, listening = 0, lameduck = 0; + int i, ret, npfd; + int oactive = -1, listening = 0, lameduck = 0; int startup_p[2] = { -1 , -1 }, *startup_pollfd; char c = 0; struct sockaddr_storage from; + struct early_child *child; socklen_t fromlen; - pid_t pid; u_char rnd[256]; sigset_t nsigset, osigset; /* pipes connected to unauthenticated child sshd processes */ - startup_pipes = xcalloc(options.max_startups, sizeof(int)); - startup_flags = xcalloc(options.max_startups, sizeof(int)); + child_alloc(); startup_pollfd = xcalloc(options.max_startups, sizeof(int)); - for (i = 0; i < options.max_startups; i++) - startup_pipes[i] = -1; /* * Prepare signal mask that we use to block signals that might set - * received_sigterm or received_sighup, so that we are guaranteed + * received_sigterm/hup/chld/info, so that we are guaranteed * to immediately wake up the ppoll if a signal is received after * the flag is checked. */ sigemptyset(&nsigset); sigaddset(&nsigset, SIGHUP); sigaddset(&nsigset, SIGCHLD); +#ifdef SIGINFO + sigaddset(&nsigset, SIGINFO); +#endif sigaddset(&nsigset, SIGTERM); sigaddset(&nsigset, SIGQUIT); @@ -621,11 +913,19 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, unlink(options.pid_file); exit(received_sigterm == SIGTERM ? 0 : 255); } - if (ostartups != startups) { + if (received_sigchld) { + child_reap_all_exited(); + received_sigchld = 0; + } + if (received_siginfo) { + show_info(); + received_siginfo = 0; + } + if (oactive != children_active) { setproctitle("%s [listener] %d of %d-%d startups", - listener_proctitle, startups, + listener_proctitle, children_active, options.max_startups_begin, options.max_startups); - ostartups = startups; + oactive = children_active; } if (received_sighup) { if (!lameduck) { @@ -646,8 +946,8 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, npfd = num_listen_socks; for (i = 0; i < options.max_startups; i++) { startup_pollfd[i] = -1; - if (startup_pipes[i] != -1) { - pfd[npfd].fd = startup_pipes[i]; + if (children[i].pipefd != -1) { + pfd[npfd].fd = children[i].pipefd; pfd[npfd].events = POLLIN; startup_pollfd[i] = npfd++; } @@ -665,34 +965,46 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, continue; for (i = 0; i < options.max_startups; i++) { - if (startup_pipes[i] == -1 || + if (children[i].pipefd == -1 || startup_pollfd[i] == -1 || !(pfd[startup_pollfd[i]].revents & (POLLIN|POLLHUP))) continue; - switch (read(startup_pipes[i], &c, sizeof(c))) { + switch (read(children[i].pipefd, &c, sizeof(c))) { case -1: if (errno == EINTR || errno == EAGAIN) continue; if (errno != EPIPE) { error_f("startup pipe %d (fd=%d): " - "read %s", i, startup_pipes[i], + "read %s", i, children[i].pipefd, strerror(errno)); } /* FALLTHROUGH */ case 0: - /* child exited or completed auth */ - close(startup_pipes[i]); - srclimit_done(startup_pipes[i]); - startup_pipes[i] = -1; - startups--; - if (startup_flags[i]) + /* child exited preauth */ + if (children[i].early) listening--; + srclimit_done(children[i].pipefd); + child_close(&(children[i]), 0, 0); break; case 1: - /* child has finished preliminaries */ - if (startup_flags[i]) { + if (children[i].early && c == '\0') { + /* child has finished preliminaries */ listening--; - startup_flags[i] = 0; + children[i].early = 0; + debug2_f("child %lu for %s received " + "config", (long)children[i].pid, + children[i].id); + } else if (!children[i].early && c == '\001') { + /* child has completed auth */ + debug2_f("child %lu for %s auth done", + (long)children[i].pid, + children[i].id); + child_close(&(children[i]), 1, 0); + } else { + error_f("unexpected message 0x%02x " + "child %ld for %s in state %d", + (int)c, (long)children[i].pid, + children[i].id, children[i].early); } break; } @@ -721,7 +1033,8 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, close(*newsock); continue; } - if (drop_connection(*newsock, startups, startup_p[0])) { + if (drop_connection(*newsock, + children_active, startup_p[0])) { close(*newsock); close(startup_p[0]); close(startup_p[1]); @@ -738,14 +1051,6 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, continue; } - for (j = 0; j < options.max_startups; j++) - if (startup_pipes[j] == -1) { - startup_pipes[j] = startup_p[0]; - startups++; - startup_flags[j] = 1; - break; - } - /* * Got connection. Fork a child to handle it, unless * we are in debugging mode. @@ -763,7 +1068,6 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, close(startup_p[0]); close(startup_p[1]); startup_pipe = -1; - pid = getpid(); send_rexec_state(config_s[0], cfg); close(config_s[0]); free(pfd); @@ -777,7 +1081,8 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, */ platform_pre_fork(); listening++; - if ((pid = fork()) == 0) { + child = child_register(startup_p[0], *newsock); + if ((child->pid = fork()) == 0) { /* * Child. Close the listening and * max_startup sockets. Start using @@ -802,11 +1107,11 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s, } /* Parent. Stay in the loop. */ - platform_post_fork_parent(pid); - if (pid == -1) + platform_post_fork_parent(child->pid); + if (child->pid == -1) error("fork: %.100s", strerror(errno)); else - debug("Forked child %ld.", (long)pid); + debug("Forked child %ld.", (long)child->pid); close(startup_p[1]); @@ -1428,6 +1733,9 @@ main(int ac, char **av) ssh_signal(SIGCHLD, main_sigchld_handler); ssh_signal(SIGTERM, sigterm_handler); ssh_signal(SIGQUIT, sigterm_handler); +#ifdef SIGINFO + ssh_signal(SIGINFO, siginfo_handler); +#endif platform_post_listen(); diff --git a/sshd_config.5 b/sshd_config.5 index a0f16874f065..d4d01c06d56e 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.355 2024/02/21 06:17:29 djm Exp $ -.Dd $Mdocdate: February 21 2024 $ +.\" $OpenBSD: sshd_config.5,v 1.356 2024/06/06 17:15:25 djm Exp $ +.Dd $Mdocdate: June 6 2024 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1557,6 +1557,68 @@ Values for IPv4 and optionally IPv6 may be specified, separated by a colon. The default is .Cm 32:128 , which means each address is considered individually. +.It Cm PerSourcePenalties +Controls penalties for various conditions that may represent attacks on +.Xr sshd 8 . +If a penalty is enforced against a client then its source address and any +others in the +.Cm PerSourceNetBlockSize +will be refused connection for a period. +Multiple penalties from the same source from concurrent connections will +accumulate up to a maximum. +Conversely, penalties are not applied until a minimum threshold time has been +accumulated. +Penalties are off by default but may be enabled using default settings using the +.Cm yes +keyword or by specifying one or more of the keywords below. +.Pp +Penalties are controlled using the following keywords, all of which accept +arguments, e.g. +.Qq crash:2m . +.Bl -tag -width Ds +.It Cm crash:duration +Specifies how long to refuse clients that cause a crash of +.Xr sshd 8 . +.It Cm authfail:duration +Specifies how long to refuse clients that disconnect after making one or more +unsuccessful authentication attempts. +.It Cm noauth:duration +Specifies how long to refuse clients that disconnect without attempting +authentication. +This timeout should be used cautiously otherwise it may penalise legitimate +scanning tools such as +.Xr ssh-keyscan 1 . +.It Cm grace-exceeded:duration +Specifies how long to refuse clients that fail to authenticate after +.Cm LoginGraceTime . +.It Cm max:duration +Specifies the maximum time a particular source address range will be refused +access for. +Repeated penalties will accumulate up to this maximum. +.It Cm min:duration +Specifies the minimum penalty that must accrue before enforcement begins. +.It Cm max-sources:number +Specifies the maximum number of penalise client address ranges to track. +.It Cm overflow:mode +Controls how the server behaves when +.Cm max-sources +is exceeded. +There are two operating modes: +.Cm deny-all , +which denies all incoming connections other than those exempted via +.Cm PerSourcePenaltyExemptList +until a penalty expires, and +.Cm permissive , +which allows new connections by removing existing penalties early. +.El +.It Cm PerSourcePenaltyExemptList +Specifies a comma-separated list of addresses to exempt from penalties. +This list may contain wildcards and CIDR address/masklen ranges. +Note that the mask length provided must be consistent with the address - +it is an error to specify a mask length that is too long for the address +or one with bits set in this host portion of the address. +For example, 192.0.2.0/33 and 192.0.2.0/8, respectively. +The default is not to exempt any addresses. .It Cm PidFile Specifies the file that contains the process ID of the SSH daemon, or From c0cb3b8c837761816a60a3cdb54062668df09652 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 19:50:01 +0000 Subject: [PATCH 090/172] upstream: disable stderr redirection before closing fds OpenBSD-Commit-ID: d42cb895ee4542098050367fc35321c9303f003a --- sshd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sshd.c b/sshd.c index e9894d249703..f8fb69422988 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.606 2024/06/06 17:15:25 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.607 2024/06/06 19:50:01 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -1793,6 +1793,7 @@ main(int ac, char **av) fatal("dup2 startup_p: %s", strerror(errno)); close(startup_pipe); } + log_redirect_stderr_to(NULL); closefrom(REEXEC_MIN_FREE_FD); ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ From e6ea3d224513b6bfb93818809d4c7397f5995ba2 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 18:48:13 +0000 Subject: [PATCH 091/172] upstream: prepare for PerSourcePenalties being enabled by default in future OpenBSD-Regress-ID: 5236c6d1c823997aac5a35e2915da30f1903bec7 --- regress/test-exec.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 85e75d24ba37..9e6d4c3cd798 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.111 2024/05/17 01:45:22 djm Exp $ +# $OpenBSD: test-exec.sh,v 1.112 2024/06/06 18:48:13 djm Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -622,6 +622,7 @@ cat << EOF > $OBJ/sshd_config AcceptEnv _XXX_TEST Subsystem sftp $SFTPSERVER SshdSessionPath $SSHD_SESSION + PerSourcePenalties no EOF # This may be necessary if /usr/src and/or /usr/obj are group-writable, From d7b2070bdaa4ebbfafb9975c1d5a62b73289d31f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 19:47:48 +0000 Subject: [PATCH 092/172] upstream: simplify OpenBSD-Regress-ID: 50316e0d1ae0c0a057a45af042253e54ce23d11c --- regress/test-exec.sh | 48 +++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 9e6d4c3cd798..c3d433d3275e 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.112 2024/06/06 18:48:13 djm Exp $ +# $OpenBSD: test-exec.sh,v 1.113 2024/06/06 19:47:48 djm Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -456,33 +456,31 @@ make_tmpdir () stop_sshd () { - if [ -f $PIDFILE ]; then - pid=`$SUDO cat $PIDFILE` - if [ "X$pid" = "X" ]; then - echo no sshd running + [ -f $PIDFILE ] || return + pid=`$SUDO cat $PIDFILE` + if [ "X$pid" = "X" ]; then + echo "no sshd running" 1>&2 + return + elif [ $pid -lt 2 ]; then + echo "bad pid for sshd: $pid" 1>&2 + return + fi + $SUDO kill $pid + trace "wait for sshd to exit" + i=0; + while [ -f $PIDFILE -a $i -lt 5 ]; do + i=`expr $i + 1` + sleep $i + done + if test -f $PIDFILE; then + if $SUDO kill -0 $pid; then + echo "sshd didn't exit port $PORT pid $pid" 1>&2 else - if [ $pid -lt 2 ]; then - echo bad pid for sshd: $pid - else - $SUDO kill $pid - trace "wait for sshd to exit" - i=0; - while [ -f $PIDFILE -a $i -lt 5 ]; do - i=`expr $i + 1` - sleep $i - done - if test -f $PIDFILE; then - if $SUDO kill -0 $pid; then - echo "sshd didn't exit " \ - "port $PORT pid $pid" - else - echo "sshd died without cleanup" - fi - exit 1 - fi - fi + echo "sshd died without cleanup" 1>&2 fi + exit 1 fi + PIDFILE="" } # helper From b8ebd86cefe9812204a10c028dc90de29918667d Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 19:48:40 +0000 Subject: [PATCH 093/172] upstream: make sure logs are saved from sshd run via start_sshd OpenBSD-Regress-ID: de4ef0e32e3ab85ff3a6c36eb08d1909c0dd1b4a --- regress/test-exec.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index c3d433d3275e..69541136c7ec 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.113 2024/06/06 19:47:48 djm Exp $ +# $OpenBSD: test-exec.sh,v 1.114 2024/06/06 19:48:40 djm Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -886,6 +886,7 @@ start_sshd () i=`expr $i + 1` sleep $i done + ln -f -s ${logfile} $TEST_SSHD_LOGFILE test -f $PIDFILE || fatal "no sshd running on port $PORT" } From 9774b938578327d88a651f4c63c504809717590a Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 19:49:25 +0000 Subject: [PATCH 094/172] upstream: regress test for PerSourcePenalties OpenBSD-Regress-ID: a1af13d411b25a727742644459d26480b9a1b0f1 --- regress/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/regress/Makefile b/regress/Makefile index c9a495f6f4cc..24b0219170fa 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.133 2024/01/11 04:50:28 djm Exp $ +# $OpenBSD: Makefile,v 1.134 2024/06/06 19:49:25 djm Exp $ tests: prep file-tests t-exec unit @@ -109,7 +109,8 @@ LTESTS= connect \ connection-timeout \ match-subsystem \ agent-pkcs11-restrict \ - agent-pkcs11-cert + agent-pkcs11-cert \ + penalty INTEROP_TESTS= putty-transfer putty-ciphers putty-kex conch-ciphers INTEROP_TESTS+= dropbear-ciphers dropbear-kex From bd1f74741daabeaf20939a85cd8cec08c76d0bec Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 20:20:42 +0000 Subject: [PATCH 095/172] upstream: mention that PerSourcePenalties don't affect concurrent in-progress connections. OpenBSD-Commit-ID: 20389da6264f2c97ac3463edfaa1182c212d420c --- sshd_config.5 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index d4d01c06d56e..94aaef9fe47a 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.356 2024/06/06 17:15:25 djm Exp $ +.\" $OpenBSD: sshd_config.5,v 1.357 2024/06/06 20:20:42 djm Exp $ .Dd $Mdocdate: June 6 2024 $ .Dt SSHD_CONFIG 5 .Os @@ -1564,8 +1564,9 @@ If a penalty is enforced against a client then its source address and any others in the .Cm PerSourceNetBlockSize will be refused connection for a period. -Multiple penalties from the same source from concurrent connections will -accumulate up to a maximum. +A penalty doesn't affect concurrent connections in progress, but multiple +penalties from the same source from concurrent connections will accumulate +up to a maximum. Conversely, penalties are not applied until a minimum threshold time has been accumulated. Penalties are off by default but may be enabled using default settings using the From 0e0c69761a4c33ccd4a256560f522784a753d1a8 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Jun 2024 20:25:48 +0000 Subject: [PATCH 096/172] upstream: enable PerSourcePenalties by default. ok markus NB. if you run a sshd that accepts connections from behind large NAT blocks, proxies or anything else that aggregates many possible users behind few IP addresses, then this change may cause legitimate traffic to be denied. Please read the PerSourcePenalties, PerSourcePenaltyExemptList and PerSourceNetBlockSize options in sshd_config(5) for how to tune your sshd(8) for your specific circumstances. OpenBSD-Commit-ID: 24a0e5c23d37e5a63e16d2c6da3920a51078f6ce --- servconf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servconf.c b/servconf.c index b04fb1048d65..4598ee373151 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.408 2024/06/06 17:15:25 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.409 2024/06/06 20:25:48 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -413,7 +413,7 @@ fill_default_server_options(ServerOptions *options) if (options->per_source_masklen_ipv6 == -1) options->per_source_masklen_ipv6 = 128; if (options->per_source_penalty.enabled == -1) - options->per_source_penalty.enabled = 0; + options->per_source_penalty.enabled = 1; if (options->per_source_penalty.max_sources == -1) options->per_source_penalty.max_sources = 65536; if (options->per_source_penalty.overflow_mode == -1) From 3ad4cd9eeca5c9bc6706db44b6de88e2e4513fd6 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Thu, 6 Jun 2024 21:14:49 +0000 Subject: [PATCH 097/172] upstream: escape the final dot at eol in "e.g." to avoid double spacing; OpenBSD-Commit-ID: 0a9fb10bc9f7d577afe2da3f498a08bc431115b9 --- sshd_config.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index 94aaef9fe47a..c1ee350c06c6 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.357 2024/06/06 20:20:42 djm Exp $ +.\" $OpenBSD: sshd_config.5,v 1.358 2024/06/06 21:14:49 jmc Exp $ .Dd $Mdocdate: June 6 2024 $ .Dt SSHD_CONFIG 5 .Os @@ -1574,7 +1574,7 @@ Penalties are off by default but may be enabled using default settings using the keyword or by specifying one or more of the keywords below. .Pp Penalties are controlled using the following keywords, all of which accept -arguments, e.g. +arguments, e.g.\& .Qq crash:2m . .Bl -tag -width Ds .It Cm crash:duration From fa7d7a667f2ee031e72873e36de2d2a36bca973b Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Fri, 7 Jun 2024 13:23:30 +0000 Subject: [PATCH 098/172] upstream: avoid shadowing issues which some compilers won't accept ok djm OpenBSD-Commit-ID: 1e89572397dda83433d58c4fa6333a08f51170d4 --- srclimit.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/srclimit.c b/srclimit.c index 6beeed6c7f78..5b5e688afef9 100644 --- a/srclimit.c +++ b/srclimit.c @@ -44,7 +44,7 @@ static char *penalty_exempt; static struct child_info { int id; struct xaddr addr; -} *child; +} *children; /* * Penalised addresses, active entries here prohibit connections until expired. @@ -114,9 +114,9 @@ srclimit_init(int max, int persource, int ipv4len, int ipv6len, max, persource, ipv4len, ipv6len); if (max <= 0) fatal("%s: invalid number of sockets: %d", __func__, max); - child = xcalloc(max_children, sizeof(*child)); + children = xcalloc(max_children, sizeof(*children)); for (i = 0; i < max_children; i++) - child[i].id = -1; + children[i].id = -1; RB_INIT(&penalties_by_addr); RB_INIT(&penalties_by_expiry); } @@ -142,10 +142,10 @@ srclimit_check_allow(int sock, int id) first_unused = max_children; /* Count matching entries and find first unused one. */ for (i = 0; i < max_children; i++) { - if (child[i].id == -1) { + if (children[i].id == -1) { if (i < first_unused) first_unused = i; - } else if (addr_cmp(&child[i].addr, &xb) == 0) { + } else if (addr_cmp(&children[i].addr, &xb) == 0) { count++; } } @@ -168,8 +168,8 @@ srclimit_check_allow(int sock, int id) return 0; /* Connection allowed, store masked address. */ - child[first_unused].id = id; - memcpy(&child[first_unused].addr, &xb, sizeof(xb)); + children[first_unused].id = id; + memcpy(&children[first_unused].addr, &xb, sizeof(xb)); return 1; } @@ -184,8 +184,8 @@ srclimit_done(int id) debug("%s: id %d", __func__, id); /* Clear corresponding state entry. */ for (i = 0; i < max_children; i++) { - if (child[i].id == id) { - child[i].id = -1; + if (children[i].id == id) { + children[i].id = -1; return; } } From a59634c7adb9ae988748d99963dfafb3070d8d41 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 00:36:20 +0000 Subject: [PATCH 099/172] upstream: correct error message OpenBSD-Commit-ID: 581f60f73099083392887206860229ab104620ed --- servconf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servconf.c b/servconf.c index 4598ee373151..8fe56939cede 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.409 2024/06/06 20:25:48 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.410 2024/06/11 00:36:20 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -1981,7 +1981,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, charptr = &options->per_source_penalty_exempt; arg = argv_next(&ac, &av); if (!arg || *arg == '\0') - fatal("%s line %d: missing file name.", + fatal("%s line %d: missing argument.", filename, linenum); if (addr_match_list(NULL, arg) != 0) { fatal("%s line %d: keyword %s " From 6211aa085fa91155a24922e5329576ac9a8f3175 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 00:40:21 +0000 Subject: [PATCH 100/172] upstream: log waitpid() status for abnormal exits OpenBSD-Commit-ID: b317930e06b51819c1a2bc6a4359764fecfb1c2d --- monitor_wrap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index 9720bdb434c6..b0a5a5cfad46 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.131 2024/06/06 17:15:25 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.132 2024/06/11 00:40:21 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -164,7 +164,8 @@ mm_reap(void) cleanup_exit(signal_is_crash(WTERMSIG(status)) ? EXIT_CHILD_CRASH : 255); } else { - error_f("preauth child terminated abnormally"); + error_f("preauth child terminated abnormally (status=0x%x)", + status); cleanup_exit(EXIT_CHILD_CRASH); } } From 41987efd356d3fc30139aeab4b09374acf8f91a0 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 00:44:52 +0000 Subject: [PATCH 101/172] upstream: reap the [net] child if it hangs up while writing privsep message payloads, not just the message header OpenBSD-Commit-ID: 24dbd400aa381ac96be7ed2dd49018487dfef6ce --- monitor_wrap.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index b0a5a5cfad46..2b543852740e 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.132 2024/06/11 00:40:21 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.133 2024/06/11 00:44:52 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -175,7 +175,7 @@ mm_request_receive(int sock, struct sshbuf *m) { u_char buf[4], *p = NULL; u_int msg_len; - int r; + int oerrno, r; debug3_f("entering"); @@ -193,8 +193,13 @@ mm_request_receive(int sock, struct sshbuf *m) sshbuf_reset(m); if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) fatal_fr(r, "reserve"); - if (atomicio(read, sock, p, msg_len) != msg_len) - fatal_f("read: %s", strerror(errno)); + if (atomicio(read, sock, p, msg_len) != msg_len) { + oerrno = errno; + error_f("read: %s", strerror(errno)); + if (oerrno == EPIPE) + mm_reap(); + cleanup_exit(255); + } } void From a2300f015cc4939c4d9c564b58b74e71202dc978 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 01:07:35 +0000 Subject: [PATCH 102/172] upstream: update to mention that PerSourcePenalties default to being enabled and document the default values for each parameter. OpenBSD-Commit-ID: b981288bddfb097aad269f62df4081c688ce0034 --- sshd_config.5 | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index c1ee350c06c6..aab589e9cab5 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.358 2024/06/06 21:14:49 jmc Exp $ -.Dd $Mdocdate: June 6 2024 $ +.\" $OpenBSD: sshd_config.5,v 1.359 2024/06/11 01:07:35 djm Exp $ +.Dd $Mdocdate: June 11 2024 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1561,45 +1561,50 @@ which means each address is considered individually. Controls penalties for various conditions that may represent attacks on .Xr sshd 8 . If a penalty is enforced against a client then its source address and any -others in the -.Cm PerSourceNetBlockSize +others in the same network, as defined by +.Cm PerSourceNetBlockSize , will be refused connection for a period. +.Pp A penalty doesn't affect concurrent connections in progress, but multiple penalties from the same source from concurrent connections will accumulate up to a maximum. Conversely, penalties are not applied until a minimum threshold time has been accumulated. -Penalties are off by default but may be enabled using default settings using the -.Cm yes -keyword or by specifying one or more of the keywords below. .Pp -Penalties are controlled using the following keywords, all of which accept -arguments, e.g.\& +Penalties are enabled by default with the default settings listed below +but may disabled using the +.Cm off +keyword. +The defaults may be overridden by specifying one or more of the keywords below, +separated by whitespace. +All keywords accept arguments, e.g.\& .Qq crash:2m . .Bl -tag -width Ds .It Cm crash:duration Specifies how long to refuse clients that cause a crash of -.Xr sshd 8 . +.Xr sshd 8 (default: 90s). .It Cm authfail:duration Specifies how long to refuse clients that disconnect after making one or more -unsuccessful authentication attempts. +unsuccessful authentication attempts (default: 5s). .It Cm noauth:duration Specifies how long to refuse clients that disconnect without attempting -authentication. +authentication (default: 1s). This timeout should be used cautiously otherwise it may penalise legitimate scanning tools such as .Xr ssh-keyscan 1 . .It Cm grace-exceeded:duration Specifies how long to refuse clients that fail to authenticate after -.Cm LoginGraceTime . +.Cm LoginGraceTime (default: 20s). .It Cm max:duration Specifies the maximum time a particular source address range will be refused -access for. +access for (default: 10m). Repeated penalties will accumulate up to this maximum. .It Cm min:duration -Specifies the minimum penalty that must accrue before enforcement begins. +Specifies the minimum penalty that must accrue before enforcement begins +(default: 15s). .It Cm max-sources:number -Specifies the maximum number of penalise client address ranges to track. +Specifies the maximum number of penalise client address ranges to track +(default: 65536). .It Cm overflow:mode Controls how the server behaves when .Cm max-sources @@ -1610,7 +1615,8 @@ which denies all incoming connections other than those exempted via .Cm PerSourcePenaltyExemptList until a penalty expires, and .Cm permissive , -which allows new connections by removing existing penalties early. +which allows new connections by removing existing penalties early +(default: permissive). .El .It Cm PerSourcePenaltyExemptList Specifies a comma-separated list of addresses to exempt from penalties. From 82c836df4ff41145553cd7adb11c5b985aeaa06f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 01:21:41 +0000 Subject: [PATCH 103/172] upstream: move tree init before possible early return OpenBSD-Commit-ID: 72e2c5b69f151c08a7c5bf5ad929b97a92c273df --- srclimit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srclimit.c b/srclimit.c index 5b5e688afef9..bac8ef667658 100644 --- a/srclimit.c +++ b/srclimit.c @@ -108,6 +108,8 @@ srclimit_init(int max, int persource, int ipv4len, int ipv6len, penalty_cfg = *penalty_conf; penalty_exempt = penalty_exempt_conf == NULL ? NULL : xstrdup(penalty_exempt_conf); + RB_INIT(&penalties_by_addr); + RB_INIT(&penalties_by_expiry); if (max_persource == INT_MAX) /* no limit */ return; debug("%s: max connections %d, per source %d, masks %d,%d", __func__, @@ -117,8 +119,6 @@ srclimit_init(int max, int persource, int ipv4len, int ipv6len, children = xcalloc(max_children, sizeof(*children)); for (i = 0; i < max_children; i++) children[i].id = -1; - RB_INIT(&penalties_by_addr); - RB_INIT(&penalties_by_expiry); } /* returns 1 if connection allowed, 0 if not allowed. */ From fc4e96b2174d6a894d2033421699d091679baced Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 01:22:25 +0000 Subject: [PATCH 104/172] upstream: fix off-by-one comparison for PerSourcePenalty OpenBSD-Commit-ID: af4f5d01c41ef870b23e55655bfbf73474a6c02b --- srclimit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srclimit.c b/srclimit.c index bac8ef667658..6b8af4fb1e77 100644 --- a/srclimit.c +++ b/srclimit.c @@ -261,7 +261,7 @@ srclimit_penalty_check_allow(int sock, const char **reason) return 1; } } - if (npenalties > (size_t)penalty_cfg.max_sources && + if (npenalties >= (size_t)penalty_cfg.max_sources && penalty_cfg.overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { *reason = "too many penalised addresses"; return 0; From ef878d58798f6688c7f4d4e417dc0c29023ea831 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 01:23:25 +0000 Subject: [PATCH 105/172] upstream: a little more RB_TREE paranoia OpenBSD-Commit-ID: 8dc2fd21eebd8830c4a4d25461ac4fe228e11156 --- srclimit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srclimit.c b/srclimit.c index 6b8af4fb1e77..962af73f7390 100644 --- a/srclimit.c +++ b/srclimit.c @@ -295,14 +295,14 @@ srclimit_remove_expired_penalties(void) while (npenalties > (size_t)penalty_cfg.max_sources) { if ((p = RB_MIN(penalties_by_expiry, &penalties_by_expiry)) == NULL) - break; /* shouldn't happen */ + fatal_f("internal error: penalty tables corrupt (find)"); bits = p->addr.af == AF_INET ? ipv4_masklen : ipv6_masklen; addr_masklen_ntop(&p->addr, bits, s, sizeof(s)); debug3_f("overflow, remove %s", s); if (RB_REMOVE(penalties_by_expiry, &penalties_by_expiry, p) != p || RB_REMOVE(penalties_by_addr, &penalties_by_addr, p) != p) - fatal_f("internal error: penalty tables corrupt"); + fatal_f("internal error: penalty tables corrupt (remove)"); free(p); npenalties--; } From 90fb801e2d9241be50a2a7ff79428386442a041f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 02:00:30 +0000 Subject: [PATCH 106/172] upstream: reap the pre-auth [net] child if it hangs up during privsep message sending, not just receiving OpenBSD-Commit-ID: f7341605bf08c4c15830910446e6775323f2f8cb --- monitor_wrap.c | 61 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index 2b543852740e..62459650a3c5 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.133 2024/06/11 00:44:52 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.134 2024/06/11 02:00:30 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -121,24 +121,6 @@ mm_is_monitor(void) return (pmonitor && pmonitor->m_pid > 0); } -void -mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) -{ - size_t mlen = sshbuf_len(m); - u_char buf[5]; - - debug3_f("entering, type %d", type); - - if (mlen >= 0xffffffff) - fatal_f("bad length %zu", mlen); - POKE_U32(buf, mlen + 1); - buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ - if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) - fatal_f("write: %s", strerror(errno)); - if (atomicio(vwrite, sock, sshbuf_mutable_ptr(m), mlen) != mlen) - fatal_f("write: %s", strerror(errno)); -} - static void mm_reap(void) { @@ -170,12 +152,42 @@ mm_reap(void) } } +void +mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) +{ + size_t mlen = sshbuf_len(m); + u_char buf[5]; + + debug3_f("entering, type %d", type); + + if (mlen >= 0xffffffff) + fatal_f("bad length %zu", mlen); + POKE_U32(buf, mlen + 1); + buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ + if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) { + if (errno == EPIPE) { + debug3_f("monitor fd closed (header)"); + mm_reap(); + cleanup_exit(255); + } + fatal_f("write: %s", strerror(errno)); + } + if (atomicio(vwrite, sock, sshbuf_mutable_ptr(m), mlen) != mlen) { + if (errno == EPIPE) { + debug3_f("monitor fd closed (body)"); + mm_reap(); + cleanup_exit(255); + } + fatal_f("write: %s", strerror(errno)); + } +} + void mm_request_receive(int sock, struct sshbuf *m) { u_char buf[4], *p = NULL; u_int msg_len; - int oerrno, r; + int r; debug3_f("entering"); @@ -194,11 +206,12 @@ mm_request_receive(int sock, struct sshbuf *m) if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) fatal_fr(r, "reserve"); if (atomicio(read, sock, p, msg_len) != msg_len) { - oerrno = errno; - error_f("read: %s", strerror(errno)); - if (oerrno == EPIPE) + if (errno == EPIPE) { + debug3_f("monitor fd closed"); mm_reap(); - cleanup_exit(255); + cleanup_exit(255); + } + fatal_f("read: %s", strerror(errno)); } } From b0a711c00b9c64afd1c9d6fb538275c6604a2676 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 01:58:27 +0000 Subject: [PATCH 107/172] upstream: fix PIDFILE handling, broken for SUDO=doas in last commit here OpenBSD-Regress-ID: 96fec579af228f87a036e94801eb294af9074625 --- regress/test-exec.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 69541136c7ec..e483bc2aa651 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.114 2024/06/06 19:48:40 djm Exp $ +# $OpenBSD: test-exec.sh,v 1.115 2024/06/11 01:58:27 djm Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -456,6 +456,7 @@ make_tmpdir () stop_sshd () { + [ -z $PIDFILE ] && return [ -f $PIDFILE ] || return pid=`$SUDO cat $PIDFILE` if [ "X$pid" = "X" ]; then @@ -874,6 +875,7 @@ chmod a+x $OBJ/ssh_proxy.sh start_sshd () { + PIDFILE=$OBJ/pidfile # start sshd logfile="${TEST_SSH_LOGDIR}/sshd.`$OBJ/timestamp`.$$.log" $SUDO ${SSHD} -f $OBJ/sshd_config "$@" -t || fatal "sshd_config broken" From cfe243cd9fde148ed060637876e27bb55ac78be9 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 11 Jun 2024 02:54:51 +0000 Subject: [PATCH 108/172] upstream: reap preauth net child if it hangs up during privsep message send, not just message receive OpenBSD-Commit-ID: 02a093f4ab4f8f83f0cd1ea2bb35b9ca420448f0 --- monitor_wrap.c | 61 ++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 37 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index 62459650a3c5..d88c33d1f1cc 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.134 2024/06/11 02:00:30 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.135 2024/06/11 02:54:51 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -121,6 +121,24 @@ mm_is_monitor(void) return (pmonitor && pmonitor->m_pid > 0); } +void +mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) +{ + size_t mlen = sshbuf_len(m); + u_char buf[5]; + + debug3_f("entering, type %d", type); + + if (mlen >= 0xffffffff) + fatal_f("bad length %zu", mlen); + POKE_U32(buf, mlen + 1); + buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ + if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) + fatal_f("write: %s", strerror(errno)); + if (atomicio(vwrite, sock, sshbuf_mutable_ptr(m), mlen) != mlen) + fatal_f("write: %s", strerror(errno)); +} + static void mm_reap(void) { @@ -152,42 +170,12 @@ mm_reap(void) } } -void -mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) -{ - size_t mlen = sshbuf_len(m); - u_char buf[5]; - - debug3_f("entering, type %d", type); - - if (mlen >= 0xffffffff) - fatal_f("bad length %zu", mlen); - POKE_U32(buf, mlen + 1); - buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ - if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) { - if (errno == EPIPE) { - debug3_f("monitor fd closed (header)"); - mm_reap(); - cleanup_exit(255); - } - fatal_f("write: %s", strerror(errno)); - } - if (atomicio(vwrite, sock, sshbuf_mutable_ptr(m), mlen) != mlen) { - if (errno == EPIPE) { - debug3_f("monitor fd closed (body)"); - mm_reap(); - cleanup_exit(255); - } - fatal_f("write: %s", strerror(errno)); - } -} - void mm_request_receive(int sock, struct sshbuf *m) { u_char buf[4], *p = NULL; u_int msg_len; - int r; + int oerrno, r; debug3_f("entering"); @@ -206,12 +194,11 @@ mm_request_receive(int sock, struct sshbuf *m) if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) fatal_fr(r, "reserve"); if (atomicio(read, sock, p, msg_len) != msg_len) { - if (errno == EPIPE) { - debug3_f("monitor fd closed"); + oerrno = errno; + error_f("read: %s", strerror(errno)); + if (oerrno == EPIPE) mm_reap(); - cleanup_exit(255); - } - fatal_f("read: %s", strerror(errno)); + cleanup_exit(255); } } From 06ab4c6931b0aaa4334db2faaa7e1069e76d0df6 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Tue, 11 Jun 2024 05:24:39 +0000 Subject: [PATCH 109/172] upstream: do not mark up "(default: 20ms)"; OpenBSD-Commit-ID: 54151ecdecfa1b67dcdda4fd24826ef6e2148ad4 --- sshd_config.5 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index aab589e9cab5..ff2d116a48d9 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.359 2024/06/11 01:07:35 djm Exp $ +.\" $OpenBSD: sshd_config.5,v 1.360 2024/06/11 05:24:39 jmc Exp $ .Dd $Mdocdate: June 11 2024 $ .Dt SSHD_CONFIG 5 .Os @@ -1594,7 +1594,8 @@ scanning tools such as .Xr ssh-keyscan 1 . .It Cm grace-exceeded:duration Specifies how long to refuse clients that fail to authenticate after -.Cm LoginGraceTime (default: 20s). +.Cm LoginGraceTime +(default: 20s). .It Cm max:duration Specifies the maximum time a particular source address range will be refused access for (default: 10m). From 4de80ff4e6fab5a6bb0028e7d57c6c23d1485adb Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 12 Jun 2024 22:36:00 +0000 Subject: [PATCH 110/172] upstream: split PerSourcePenalties address tracking. Previously it used one shared table and overflow policy for IPv4 and IPv6 addresses, now it will use separate tables and optionally different overflow policies. This prevents misbehaviour from IPv6 addresses (which are vastly easier to obtain many of) from affecting IPv4 connections and may allow for stricter overflow policies. ok deraadt@ OpenBSD-Commit-ID: 12637ed0aa4d5f1f3e702da42ea967cbd8bfdfd9 --- servconf.c | 42 ++++++++++--- servconf.h | 6 +- srclimit.c | 170 +++++++++++++++++++++++++++++++++----------------- sshd_config.5 | 22 +++++-- 4 files changed, 165 insertions(+), 75 deletions(-) diff --git a/servconf.c b/servconf.c index 8fe56939cede..22afbededdfe 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.410 2024/06/11 00:36:20 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.411 2024/06/12 22:36:00 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -165,8 +165,10 @@ initialize_server_options(ServerOptions *options) options->per_source_masklen_ipv6 = -1; options->per_source_penalty_exempt = NULL; options->per_source_penalty.enabled = -1; - options->per_source_penalty.max_sources = -1; + options->per_source_penalty.max_sources4 = -1; + options->per_source_penalty.max_sources6 = -1; options->per_source_penalty.overflow_mode = -1; + options->per_source_penalty.overflow_mode6 = -1; options->per_source_penalty.penalty_crash = -1; options->per_source_penalty.penalty_authfail = -1; options->per_source_penalty.penalty_noauth = -1; @@ -414,10 +416,14 @@ fill_default_server_options(ServerOptions *options) options->per_source_masklen_ipv6 = 128; if (options->per_source_penalty.enabled == -1) options->per_source_penalty.enabled = 1; - if (options->per_source_penalty.max_sources == -1) - options->per_source_penalty.max_sources = 65536; + if (options->per_source_penalty.max_sources4 == -1) + options->per_source_penalty.max_sources4 = 65536; + if (options->per_source_penalty.max_sources6 == -1) + options->per_source_penalty.max_sources6 = 65536; if (options->per_source_penalty.overflow_mode == -1) options->per_source_penalty.overflow_mode = PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE; + if (options->per_source_penalty.overflow_mode6 == -1) + options->per_source_penalty.overflow_mode6 = options->per_source_penalty.overflow_mode; if (options->per_source_penalty.penalty_crash == -1) options->per_source_penalty.penalty_crash = 90; if (options->per_source_penalty.penalty_grace == -1) @@ -2028,9 +2034,14 @@ process_server_config_line_depth(ServerOptions *options, char *line, } else if (strncmp(arg, "min:", 4) == 0) { p = arg + 4; intptr = &options->per_source_penalty.penalty_min; - } else if (strncmp(arg, "max-sources:", 12) == 0) { - intptr = &options->per_source_penalty.max_sources; - if ((errstr = atoi_err(arg+12, &value)) != NULL) + } else if (strncmp(arg, "max-sources4:", 13) == 0) { + intptr = &options->per_source_penalty.max_sources4; + if ((errstr = atoi_err(arg+13, &value)) != NULL) + fatal("%s line %d: %s value %s.", + filename, linenum, keyword, errstr); + } else if (strncmp(arg, "max-sources6:", 13) == 0) { + intptr = &options->per_source_penalty.max_sources6; + if ((errstr = atoi_err(arg+13, &value)) != NULL) fatal("%s line %d: %s value %s.", filename, linenum, keyword, errstr); } else if (strcmp(arg, "overflow:deny-all") == 0) { @@ -2039,6 +2050,12 @@ process_server_config_line_depth(ServerOptions *options, char *line, } else if (strcmp(arg, "overflow:permissive") == 0) { intptr = &options->per_source_penalty.overflow_mode; value = PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE; + } else if (strcmp(arg, "overflow6:deny-all") == 0) { + intptr = &options->per_source_penalty.overflow_mode6; + value = PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL; + } else if (strcmp(arg, "overflow6:permissive") == 0) { + intptr = &options->per_source_penalty.overflow_mode6; + value = PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE; } else { fatal("%s line %d: unsupported %s keyword %s", filename, linenum, keyword, arg); @@ -3288,16 +3305,21 @@ dump_config(ServerOptions *o) if (o->per_source_penalty.enabled) { printf("persourcepenalties crash:%d authfail:%d noauth:%d " - "grace-exceeded:%d max:%d min:%d max-sources:%d " - "overflow:%s\n", o->per_source_penalty.penalty_crash, + "grace-exceeded:%d max:%d min:%d max-sources4:%d " + "max-sources6:%d overflow:%s overflow6:%s\n", + o->per_source_penalty.penalty_crash, o->per_source_penalty.penalty_authfail, o->per_source_penalty.penalty_noauth, o->per_source_penalty.penalty_grace, o->per_source_penalty.penalty_max, o->per_source_penalty.penalty_min, - o->per_source_penalty.max_sources, + o->per_source_penalty.max_sources4, + o->per_source_penalty.max_sources6, o->per_source_penalty.overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL ? + "deny-all" : "permissive", + o->per_source_penalty.overflow_mode6 == + PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL ? "deny-all" : "permissive"); } else printf("persourcepenalties no\n"); diff --git a/servconf.h b/servconf.h index e6d7b75b9a9a..8984e99661e7 100644 --- a/servconf.h +++ b/servconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.h,v 1.164 2024/06/06 17:15:25 djm Exp $ */ +/* $OpenBSD: servconf.h,v 1.165 2024/06/12 22:36:00 djm Exp $ */ /* * Author: Tatu Ylonen @@ -69,8 +69,10 @@ struct listenaddr { #define PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE 2 struct per_source_penalty { int enabled; - int max_sources; + int max_sources4; + int max_sources6; int overflow_mode; + int overflow_mode6; int penalty_crash; int penalty_grace; int penalty_authfail; diff --git a/srclimit.c b/srclimit.c index 962af73f7390..837e82606e11 100644 --- a/srclimit.c +++ b/srclimit.c @@ -61,11 +61,11 @@ struct penalty { }; static int penalty_addr_cmp(struct penalty *a, struct penalty *b); static int penalty_expiry_cmp(struct penalty *a, struct penalty *b); -RB_HEAD(penalties_by_addr, penalty) penalties_by_addr; -RB_HEAD(penalties_by_expiry, penalty) penalties_by_expiry; +RB_HEAD(penalties_by_addr, penalty) penalties_by_addr4, penalties_by_addr6; +RB_HEAD(penalties_by_expiry, penalty) penalties_by_expiry4, penalties_by_expiry6; RB_GENERATE_STATIC(penalties_by_addr, penalty, by_addr, penalty_addr_cmp) RB_GENERATE_STATIC(penalties_by_expiry, penalty, by_expiry, penalty_expiry_cmp) -static size_t npenalties; +static size_t npenalties4, npenalties6; static int srclimit_mask_addr(const struct xaddr *addr, int bits, struct xaddr *masked) @@ -106,10 +106,14 @@ srclimit_init(int max, int persource, int ipv4len, int ipv6len, ipv6_masklen = ipv6len; max_persource = persource; penalty_cfg = *penalty_conf; + if (penalty_cfg.max_sources4 < 0 || penalty_cfg.max_sources6 < 0) + fatal_f("invalid max_sources"); /* shouldn't happen */ penalty_exempt = penalty_exempt_conf == NULL ? NULL : xstrdup(penalty_exempt_conf); - RB_INIT(&penalties_by_addr); - RB_INIT(&penalties_by_expiry); + RB_INIT(&penalties_by_addr4); + RB_INIT(&penalties_by_expiry4); + RB_INIT(&penalties_by_addr6); + RB_INIT(&penalties_by_expiry6); if (max_persource == INT_MAX) /* no limit */ return; debug("%s: max connections %d, per source %d, masks %d,%d", __func__, @@ -208,26 +212,36 @@ penalty_expiry_cmp(struct penalty *a, struct penalty *b) } static void -expire_penalties(time_t now) +expire_penalties_from_tree(time_t now, const char *t, + struct penalties_by_expiry *by_expiry, + struct penalties_by_addr *by_addr, size_t *npenaltiesp) { struct penalty *penalty, *tmp; /* XXX avoid full scan of tree, e.g. min-heap */ - RB_FOREACH_SAFE(penalty, penalties_by_expiry, - &penalties_by_expiry, tmp) { + RB_FOREACH_SAFE(penalty, penalties_by_expiry, by_expiry, tmp) { if (penalty->expiry >= now) break; - if (RB_REMOVE(penalties_by_expiry, &penalties_by_expiry, + if (RB_REMOVE(penalties_by_expiry, by_expiry, penalty) != penalty || - RB_REMOVE(penalties_by_addr, &penalties_by_addr, + RB_REMOVE(penalties_by_addr, by_addr, penalty) != penalty) - fatal_f("internal error: penalty tables corrupt"); + fatal_f("internal error: %s penalty table corrupt", t); free(penalty); - if (npenalties-- == 0) - fatal_f("internal error: npenalties underflow"); + if ((*npenaltiesp)-- == 0) + fatal_f("internal error: %s npenalties underflow", t); } } +static void +expire_penalties(time_t now) +{ + expire_penalties_from_tree(now, "ipv4", + &penalties_by_expiry4, &penalties_by_addr4, &npenalties4); + expire_penalties_from_tree(now, "ipv6", + &penalties_by_expiry6, &penalties_by_addr6, &npenalties6); +} + static void addr_masklen_ntop(struct xaddr *addr, int masklen, char *s, size_t slen) { @@ -247,8 +261,10 @@ srclimit_penalty_check_allow(int sock, const char **reason) struct xaddr addr; struct penalty find, *penalty; time_t now; - int bits; + int bits, max_sources, overflow_mode; char addr_s[NI_MAXHOST]; + struct penalties_by_addr *by_addr; + size_t npenalties; if (!penalty_cfg.enabled) return 1; @@ -261,8 +277,17 @@ srclimit_penalty_check_allow(int sock, const char **reason) return 1; } } - if (npenalties >= (size_t)penalty_cfg.max_sources && - penalty_cfg.overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { + now = monotime(); + expire_penalties(now); + by_addr = addr.af == AF_INET ? + &penalties_by_addr4 : &penalties_by_addr6; + max_sources = addr.af == AF_INET ? + penalty_cfg.max_sources4 : penalty_cfg.max_sources6; + overflow_mode = addr.af == AF_INET ? + penalty_cfg.overflow_mode : penalty_cfg.overflow_mode6; + npenalties = addr.af == AF_INET ? npenalties4 : npenalties6; + if (npenalties >= (size_t)max_sources && + overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { *reason = "too many penalised addresses"; return 0; } @@ -270,9 +295,7 @@ srclimit_penalty_check_allow(int sock, const char **reason) memset(&find, 0, sizeof(find)); if (srclimit_mask_addr(&addr, bits, &find.addr) != 0) return 1; - now = monotime(); - if ((penalty = RB_FIND(penalties_by_addr, - &penalties_by_addr, &find)) == NULL) + if ((penalty = RB_FIND(penalties_by_addr, by_addr, &find)) == NULL) return 1; /* no penalty */ if (penalty->expiry < now) { expire_penalties(now); @@ -285,38 +308,52 @@ srclimit_penalty_check_allow(int sock, const char **reason) } static void -srclimit_remove_expired_penalties(void) +srclimit_early_expire_penalties_from_tree(const char *t, + struct penalties_by_expiry *by_expiry, + struct penalties_by_addr *by_addr, size_t *npenaltiesp, size_t max_sources) { struct penalty *p = NULL; int bits; char s[NI_MAXHOST + 4]; /* Delete the soonest-to-expire penalties. */ - while (npenalties > (size_t)penalty_cfg.max_sources) { - if ((p = RB_MIN(penalties_by_expiry, - &penalties_by_expiry)) == NULL) - fatal_f("internal error: penalty tables corrupt (find)"); + while (*npenaltiesp > max_sources) { + if ((p = RB_MIN(penalties_by_expiry, by_expiry)) == NULL) + fatal_f("internal error: %s table corrupt (find)", t); bits = p->addr.af == AF_INET ? ipv4_masklen : ipv6_masklen; addr_masklen_ntop(&p->addr, bits, s, sizeof(s)); - debug3_f("overflow, remove %s", s); - if (RB_REMOVE(penalties_by_expiry, - &penalties_by_expiry, p) != p || - RB_REMOVE(penalties_by_addr, &penalties_by_addr, p) != p) - fatal_f("internal error: penalty tables corrupt (remove)"); + debug3_f("%s overflow, remove %s", t, s); + if (RB_REMOVE(penalties_by_expiry, by_expiry, p) != p || + RB_REMOVE(penalties_by_addr, by_addr, p) != p) + fatal_f("internal error: %s table corrupt (remove)", t); free(p); - npenalties--; + (*npenaltiesp)--; } } +static void +srclimit_early_expire_penalties(void) +{ + srclimit_early_expire_penalties_from_tree("ipv4", + &penalties_by_expiry4, &penalties_by_addr4, &npenalties4, + (size_t)penalty_cfg.max_sources4); + srclimit_early_expire_penalties_from_tree("ipv6", + &penalties_by_expiry6, &penalties_by_addr6, &npenalties6, + (size_t)penalty_cfg.max_sources6); +} + void srclimit_penalise(struct xaddr *addr, int penalty_type) { struct xaddr masked; - struct penalty *penalty, *existing; + struct penalty *penalty = NULL, *existing = NULL; time_t now; - int bits, penalty_secs; + int bits, penalty_secs, max_sources = 0, overflow_mode; char addrnetmask[NI_MAXHOST + 4]; - const char *reason = NULL; + const char *reason = NULL, *t; + size_t *npenaltiesp = NULL; + struct penalties_by_addr *by_addr = NULL; + struct penalties_by_expiry *by_expiry = NULL; if (!penalty_cfg.enabled) return; @@ -358,9 +395,19 @@ srclimit_penalise(struct xaddr *addr, int penalty_type) now = monotime(); expire_penalties(now); - if (npenalties > (size_t)penalty_cfg.max_sources && - penalty_cfg.overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { - verbose_f("penalty table full, cannot penalise %s for %s", + by_expiry = addr->af == AF_INET ? + &penalties_by_expiry4 : &penalties_by_expiry6; + by_addr = addr->af == AF_INET ? + &penalties_by_addr4 : &penalties_by_addr6; + max_sources = addr->af == AF_INET ? + penalty_cfg.max_sources4 : penalty_cfg.max_sources6; + overflow_mode = addr->af == AF_INET ? + penalty_cfg.overflow_mode : penalty_cfg.overflow_mode6; + npenaltiesp = addr->af == AF_INET ? &npenalties4 : &npenalties6; + t = addr->af == AF_INET ? "ipv4" : "ipv6"; + if (*npenaltiesp > (size_t)max_sources && + overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { + verbose_f("%s penalty table full, cannot penalise %s for %s", t, addrnetmask, reason); return; } @@ -369,48 +416,48 @@ srclimit_penalise(struct xaddr *addr, int penalty_type) penalty->addr = masked; penalty->expiry = now + penalty_secs; penalty->reason = reason; - if ((existing = RB_INSERT(penalties_by_addr, &penalties_by_addr, + if ((existing = RB_INSERT(penalties_by_addr, by_addr, penalty)) == NULL) { /* penalty didn't previously exist */ if (penalty_secs > penalty_cfg.penalty_min) penalty->active = 1; - if (RB_INSERT(penalties_by_expiry, &penalties_by_expiry, - penalty) != NULL) - fatal_f("internal error: penalty tables corrupt"); - verbose_f("%s: new %s penalty of %d seconds for %s", + if (RB_INSERT(penalties_by_expiry, by_expiry, penalty) != NULL) + fatal_f("internal error: %s penalty tables corrupt", t); + verbose_f("%s: new %s %s penalty of %d seconds for %s", t, addrnetmask, penalty->active ? "active" : "deferred", penalty_secs, reason); - if (++npenalties > (size_t)penalty_cfg.max_sources) - srclimit_remove_expired_penalties(); /* permissive */ + if (++(*npenaltiesp) > (size_t)max_sources) + srclimit_early_expire_penalties(); /* permissive */ return; } - debug_f("%s penalty for %s already exists, %lld seconds remaining", - existing->active ? "active" : "inactive", + debug_f("%s penalty for %s %s already exists, %lld seconds remaining", + existing->active ? "active" : "inactive", t, addrnetmask, (long long)(existing->expiry - now)); /* Expiry information is about to change, remove from tree */ - if (RB_REMOVE(penalties_by_expiry, &penalties_by_expiry, - existing) != existing) - fatal_f("internal error: penalty tables corrupt (remove)"); + if (RB_REMOVE(penalties_by_expiry, by_expiry, existing) != existing) + fatal_f("internal error: %s penalty table corrupt (remove)", t); /* An entry already existed. Accumulate penalty up to maximum */ existing->expiry += penalty_secs; if (existing->expiry - now > penalty_cfg.penalty_max) existing->expiry = now + penalty_cfg.penalty_max; if (existing->expiry - now > penalty_cfg.penalty_min && !existing->active) { - verbose_f("%s: activating penalty of %lld seconds for %s", - addrnetmask, (long long)(existing->expiry - now), reason); + verbose_f("%s: activating %s penalty of %lld seconds for %s", + addrnetmask, t, (long long)(existing->expiry - now), + reason); existing->active = 1; } existing->reason = penalty->reason; free(penalty); + penalty = NULL; /* Re-insert into expiry tree */ - if (RB_INSERT(penalties_by_expiry, &penalties_by_expiry, - existing) != NULL) - fatal_f("internal error: penalty tables corrupt (insert)"); + if (RB_INSERT(penalties_by_expiry, by_expiry, existing) != NULL) + fatal_f("internal error: %s penalty table corrupt (insert)", t); } -void -srclimit_penalty_info(void) +static void +srclimit_penalty_info_for_tree(const char *t, + struct penalties_by_expiry *by_expiry, size_t npenalties) { struct penalty *p = NULL; int bits; @@ -418,8 +465,8 @@ srclimit_penalty_info(void) time_t now; now = monotime(); - logit("%zu active penalties", npenalties); - RB_FOREACH(p, penalties_by_expiry, &penalties_by_expiry) { + logit("%zu active %s penalties", npenalties, t); + RB_FOREACH(p, penalties_by_expiry, by_expiry) { bits = p->addr.af == AF_INET ? ipv4_masklen : ipv6_masklen; addr_masklen_ntop(&p->addr, bits, s, sizeof(s)); if (p->expiry < now) @@ -430,3 +477,12 @@ srclimit_penalty_info(void) } } } + +void +srclimit_penalty_info(void) +{ + srclimit_penalty_info_for_tree("ipv4", + &penalties_by_expiry4, npenalties4); + srclimit_penalty_info_for_tree("ipv6", + &penalties_by_expiry6, npenalties6); +} diff --git a/sshd_config.5 b/sshd_config.5 index ff2d116a48d9..550c11cc978c 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.360 2024/06/11 05:24:39 jmc Exp $ -.Dd $Mdocdate: June 11 2024 $ +.\" $OpenBSD: sshd_config.5,v 1.361 2024/06/12 22:36:00 djm Exp $ +.Dd $Mdocdate: June 12 2024 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1603,12 +1603,14 @@ Repeated penalties will accumulate up to this maximum. .It Cm min:duration Specifies the minimum penalty that must accrue before enforcement begins (default: 15s). -.It Cm max-sources:number -Specifies the maximum number of penalise client address ranges to track -(default: 65536). +.It Cm max-sources4:number max-sources6:number +Specifies the maximum number of client IPv4 and IPv6 address ranges to +track for penalties (default: 65536 for both). .It Cm overflow:mode Controls how the server behaves when -.Cm max-sources +.Cm max-sources4 +or +.Cm max-sources6 is exceeded. There are two operating modes: .Cm deny-all , @@ -1618,6 +1620,14 @@ until a penalty expires, and .Cm permissive , which allows new connections by removing existing penalties early (default: permissive). +Note that client penalties below the +.Cm min +threshold count against the total number of tracked penalties. +IPv4 and IPv6 addresses are tracked separately, so an overflow in one will +not affect the other. +.It Cm overflow6:mode +Allows specifying a different overflow mode for IPv6 addresses. +The default it to use the same overflow mode as was specified for IPv4. .El .It Cm PerSourcePenaltyExemptList Specifies a comma-separated list of addresses to exempt from penalties. From f1c42858b94f5d9b58867b34dce3afb39c6b56a8 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 13 Jun 2024 11:16:57 +1000 Subject: [PATCH 111/172] missing file for PerSourcePenalties regress test --- regress/penalty.sh | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 regress/penalty.sh diff --git a/regress/penalty.sh b/regress/penalty.sh new file mode 100644 index 000000000000..5ac7ef67ecfe --- /dev/null +++ b/regress/penalty.sh @@ -0,0 +1,51 @@ +# $OpenBSD +# Placed in the Public Domain. + +tid="penalties" + +grep -vi PerSourcePenalties $OBJ/sshd_config > $OBJ/sshd_config.bak +cp $OBJ/authorized_keys_${USER} $OBJ/authorized_keys_${USER}.bak + +conf() { + test -z "$PIDFILE" || stop_sshd + (cat $OBJ/sshd_config.bak ; + echo "PerSourcePenalties $@") > $OBJ/sshd_config + cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} + start_sshd +} + +conf "noauth:10s authfail:6s grace-exceeded:10s min:8s max:20s" + +verbose "test connect" +${SSH} -F $OBJ/ssh_config somehost true || fatal "basic connect failed" + +verbose "penalty for authentication failure" + +# Fail authentication once +cat /dev/null > $OBJ/authorized_keys_${USER} +${SSH} -F $OBJ/ssh_config somehost true && fatal "noauth connect succeeded" +cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} + +# Should be below penalty threshold +${SSH} -F $OBJ/ssh_config somehost true || fatal "authfail not expired" + +# Fail authentication again; penalty should activate +cat /dev/null > $OBJ/authorized_keys_${USER} +${SSH} -F $OBJ/ssh_config somehost true && fatal "noauth connect succeeded" +cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} + +# These should be refused by the active penalty +${SSH} -F $OBJ/ssh_config somehost true && fail "authfail not rejected" +sleep 5 +${SSH} -F $OBJ/ssh_config somehost true && fail "repeat authfail not rejected" + +# Penalty should have expired, this should succeed. +sleep 8 +${SSH} -F $OBJ/ssh_config somehost true || fail "authfail not expired" + +verbose "penalty for no authentication" +${SSHKEYSCAN} -p $PORT 127.0.0.1 >/dev/null 2>&1 || fatal "keyscan failed" + +# Repeat attempt should be penalised +${SSHKEYSCAN} -p $PORT 127.0.0.1 >/dev/null 2>&1 && fail "keyscan not rejected" + From f66d4df5749551380a8c4ae642347675a0b6a2e9 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 13 Jun 2024 11:33:09 +1000 Subject: [PATCH 112/172] delay lookup of privsep user until config loaded sshd-session attempting to use options.kerberos_authentication to decide whether it needed to lookup the privsep user before the configuration was loaded. This caused it to get a placeholder value that caused it always to try to lookup the privsep user, breaking at least one test environment. --- sshd-session.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sshd-session.c b/sshd-session.c index 02e469e057d7..dbc3074fa72b 100644 --- a/sshd-session.c +++ b/sshd-session.c @@ -1036,6 +1036,17 @@ main(int ac, char **av) debug("sshd version %s, %s", SSH_VERSION, SSH_OPENSSL_VERSION); + /* Fetch our configuration */ + if ((cfg = sshbuf_new()) == NULL) + fatal("sshbuf_new config buf failed"); + setproctitle("%s", "[rexeced]"); + recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg, &timing_secret); + close(REEXEC_CONFIG_PASS_FD); + parse_server_config(&options, "rexec", cfg, &includes, NULL, 1); + /* Fill in default values for those options not explicitly set. */ + fill_default_server_options(&options); + options.timing_secret = timing_secret; + /* Store privilege separation user for later use if required. */ privsep_chroot = (getuid() == 0 || geteuid() == 0); if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { @@ -1049,17 +1060,6 @@ main(int ac, char **av) } endpwent(); - /* Fetch our configuration */ - if ((cfg = sshbuf_new()) == NULL) - fatal("sshbuf_new config buf failed"); - setproctitle("%s", "[rexeced]"); - recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg, &timing_secret); - close(REEXEC_CONFIG_PASS_FD); - parse_server_config(&options, "rexec", cfg, &includes, NULL, 1); - /* Fill in default values for those options not explicitly set. */ - fill_default_server_options(&options); - options.timing_secret = timing_secret; - if (!debug_flag) { startup_pipe = dup(REEXEC_STARTUP_PIPE_FD); close(REEXEC_STARTUP_PIPE_FD); From afe10313c1fa8d478af399ee7d54c8f85503013b Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 13 Jun 2024 14:35:25 +1000 Subject: [PATCH 113/172] fix PTY allocation on Cygwin, broken by sshd split Cygwin doesn't support FD passing and so used to disable post-auth privilege separation entirely because privsep requires PTY allocation to happen in the privileged monitor process with the PTY file descriptors being passed back to the unprivileged process. This brings back a minimal version of the previous special treatment for Cygwin (and any other platform that sets DISABLE_FD_PASSING): privilege separation remains enabled, but PTY allocation happens in the post-auth user process rather than the monitor. This either requires PTY allocation to not need privilege to begin with (this appears to be the case on Cygwin), or the post-auth privsep process retain privilege (other platforms that set the DISABLE_FD_PASSING option). Keeping privileges here is bad, but the non-Cygwin systems that set DISABLE_FD_PASSING are so deeply legacy that this is likely to be the least of their problems. --- session.c | 11 +++++++++++ sshd-session.c | 18 +++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/session.c b/session.c index 7cf22a722677..ad05a95d4c6f 100644 --- a/session.c +++ b/session.c @@ -103,6 +103,17 @@ #include #endif +/* + * Hack for systems that do not support FD passing: allocate PTYs directly + * without calling into the monitor. This requires either the post-auth + * privsep process retain root privileges (see the comment in + * sshd-session:privsep_postauth) or that PTY allocation doesn't require + * privileges to begin with (e.g. Cygwin). + */ +#ifdef DISABLE_FD_PASSING +#define mm_pty_allocate pty_allocate +#endif + #define IS_INTERNAL_SFTP(c) \ (!strncmp(c, INTERNAL_SFTP_NAME, sizeof(INTERNAL_SFTP_NAME) - 1) && \ (c[sizeof(INTERNAL_SFTP_NAME) - 1] == '\0' || \ diff --git a/sshd-session.c b/sshd-session.c index dbc3074fa72b..7ab1ea472b41 100644 --- a/sshd-session.c +++ b/sshd-session.c @@ -379,6 +379,21 @@ privsep_preauth(struct ssh *ssh) static void privsep_postauth(struct ssh *ssh, Authctxt *authctxt) { + int skip_privdrop = 0; + + /* + * Hack for systems that don't support FD passing: retain privileges + * in the post-auth privsep process so it can allocate PTYs directly. + * This is basically equivalent to what we did <= 9.7, which was to + * disable post-auth privsep entriely. + * Cygwin doesn't need to drop privs here although it doesn't support + * fd passing, as AFAIK PTY allocation on this platform doesn't require + * special privileges to begin with. + */ +#if defined(DISABLE_FD_PASSING) && !defined(HAVE_CYGWIN) + skip_privdrop = 1; +#endif + /* New socket pair */ monitor_reinit(pmonitor); @@ -406,7 +421,8 @@ privsep_postauth(struct ssh *ssh, Authctxt *authctxt) reseed_prngs(); /* Drop privileges */ - do_setusercontext(authctxt->pw); + if (!skip_privdrop) + do_setusercontext(authctxt->pw); /* It is safe now to apply the key state */ monitor_apply_keystate(ssh, pmonitor); From 425f79a837489904c343b349ef00e09aeaa4e752 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 13 Jun 2024 14:41:33 +1000 Subject: [PATCH 114/172] typo in comment --- session.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/session.c b/session.c index ad05a95d4c6f..c9415114db94 100644 --- a/session.c +++ b/session.c @@ -107,7 +107,7 @@ * Hack for systems that do not support FD passing: allocate PTYs directly * without calling into the monitor. This requires either the post-auth * privsep process retain root privileges (see the comment in - * sshd-session:privsep_postauth) or that PTY allocation doesn't require + * sshd-session.c:privsep_postauth) or that PTY allocation doesn't require * privileges to begin with (e.g. Cygwin). */ #ifdef DISABLE_FD_PASSING From bf204bd05c3ae650f87e2b96527688579f59774c Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 13 Jun 2024 15:00:28 +1000 Subject: [PATCH 115/172] prepare for checking in autogenerated files We plan to check in automatically generated files (config.h.in, etc) on release branches. These files are normally ignored by .gitignore, but this shuffles the contents of this file to make it easy to un-ignore them. --- .gitignore | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 7fccc6fe3dc3..213041656b09 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,14 @@ Makefile buildpkg.sh config.h -config.h.in config.h.in~ config.log config.status -configure -aclocal.m4 openbsd-compat/Makefile openbsd-compat/regress/Makefile openssh.xml opensshd.init survey.sh -**/*.0 **/*.o **/*.lo **/*.so @@ -36,3 +32,10 @@ sshd !regress/misc/fuzz-harness/Makefile !regress/unittests/sshsig/Makefile tags + +# Ignored on main branch +config.h.in +configure +aclocal.m4 +ChangeLog +**/*.0 From a8fbe2f7d0d96d299ee8e69769e3b51067978748 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 13 Jun 2024 16:41:29 +1000 Subject: [PATCH 116/172] sshd: don't use argv[0] as PAM service name sshd would implicitly use argv[0] as the PAM service name to allow people to select different PAM service names by making differently-named copies/links to the sshd binary. Splitting sshd into sshd/sshd-session broke this, as the process that starts PAM is always sshd-session and the user has no control over this. Hardcode "sshd" as the default PAM service name unless/until we figure out a better way. Should unbreak OSX integration tests. --- auth-pam.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/auth-pam.c b/auth-pam.c index ed5b165bdbc3..d648023717a2 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -68,8 +68,7 @@ #endif #if !defined(SSHD_PAM_SERVICE) -extern char *__progname; -# define SSHD_PAM_SERVICE __progname +# define SSHD_PAM_SERVICE "sshd" #endif /* OpenGroup RFC86.0 and XSSO specify no "const" on arguments */ From abfd1f7a3cbd0a92581a0febba254b2f6649c0d9 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jun 2024 00:23:55 +0000 Subject: [PATCH 117/172] upstream: specify an algorithm for ssh-keyscan, otherwise it will make multiple attempts simultaneously and confuse the test OpenBSD-Regress-ID: 6e910f3315c4345053db1bf5cbf61826b194d0b9 --- regress/penalty.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regress/penalty.sh b/regress/penalty.sh index 5ac7ef67ecfe..ae37aaef8b18 100644 --- a/regress/penalty.sh +++ b/regress/penalty.sh @@ -44,8 +44,8 @@ sleep 8 ${SSH} -F $OBJ/ssh_config somehost true || fail "authfail not expired" verbose "penalty for no authentication" -${SSHKEYSCAN} -p $PORT 127.0.0.1 >/dev/null 2>&1 || fatal "keyscan failed" +${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null 2>&1 || fatal "keyscan failed" # Repeat attempt should be penalised -${SSHKEYSCAN} -p $PORT 127.0.0.1 >/dev/null 2>&1 && fail "keyscan not rejected" +${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null 2>&1 && fail "keyscan not rejected" From 3e806d011855d6bd648ec95b9df630ebbd11c3bf Mon Sep 17 00:00:00 2001 From: "naddy@openbsd.org" Date: Thu, 13 Jun 2024 15:06:33 +0000 Subject: [PATCH 118/172] upstream: separate keywords with comma OpenBSD-Commit-ID: d65a99666202a8188c4991c18d14374a229f7be5 --- sshd_config.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index 550c11cc978c..11c341a9dbab 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.361 2024/06/12 22:36:00 djm Exp $ -.Dd $Mdocdate: June 12 2024 $ +.\" $OpenBSD: sshd_config.5,v 1.362 2024/06/13 15:06:33 naddy Exp $ +.Dd $Mdocdate: June 13 2024 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1603,7 +1603,7 @@ Repeated penalties will accumulate up to this maximum. .It Cm min:duration Specifies the minimum penalty that must accrue before enforcement begins (default: 15s). -.It Cm max-sources4:number max-sources6:number +.It Cm max-sources4:number , max-sources6:number Specifies the maximum number of client IPv4 and IPv6 address ranges to track for penalties (default: 65536 for both). .It Cm overflow:mode From 1e84d0cf40e94ae3a77d6a7ca8c036d8e3d55a40 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jun 2024 00:25:25 +0000 Subject: [PATCH 119/172] upstream: make host/banner comments go to stderr instead of stdout, so they are useful as comments without extra shell redirection and so they don't clutter actual errors on stderr. Add a -q flag to shut them up. ok dtucker@ OpenBSD-Commit-ID: bec813de56a71adb5c1a76adcf49621130d24264 --- ssh-keyscan.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 0eddda56ef88..548eaab83ee7 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.157 2024/05/06 19:26:17 tobias Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.158 2024/06/14 00:25:25 djm Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -84,6 +84,8 @@ int found_one = 0; /* Successfully found a key */ int hashalg = -1; /* Hash for SSHFP records or -1 for all */ +int quiet = 0; /* Don't print key comment lines */ + #define MAXMAXFD 256 /* The number of seconds after which to give up on a TCP connection */ @@ -542,8 +544,10 @@ congreet(int s) confree(s); return; } - fprintf(stderr, "%c %s:%d %s\n", print_sshfp ? ';' : '#', - c->c_name, ssh_port, chop(buf)); + if (!quiet) { + fprintf(stdout, "%c %s:%d %s\n", print_sshfp ? ';' : '#', + c->c_name, ssh_port, chop(buf)); + } keygrab_ssh2(c); confree(s); } @@ -665,7 +669,7 @@ static void usage(void) { fprintf(stderr, - "usage: ssh-keyscan [-46cDHv] [-f file] [-O option] [-p port] [-T timeout]\n" + "usage: ssh-keyscan [-46cDHqv] [-f file] [-O option] [-p port] [-T timeout]\n" " [-t type] [host | addrlist namelist]\n"); exit(1); } @@ -692,7 +696,7 @@ main(int argc, char **argv) if (argc <= 1) usage(); - while ((opt = getopt(argc, argv, "cDHv46O:p:T:t:f:")) != -1) { + while ((opt = getopt(argc, argv, "cDHqv46O:p:T:t:f:")) != -1) { switch (opt) { case 'H': hash_hosts = 1; @@ -727,6 +731,9 @@ main(int argc, char **argv) else fatal("Too high debugging level."); break; + case 'q': + quiet = 1; + break; case 'f': if (strcmp(optarg, "-") == 0) optarg = NULL; From 9f032a4dd17bf0ae6066223d82aa5e784285d987 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jun 2024 00:26:12 +0000 Subject: [PATCH 120/172] upstream: don't redirect stderr for ssh-keyscan we expect to succeed OpenBSD-Regress-ID: 8878b8eb4e070ed2e343166d3eb86db4a08a216c --- regress/penalty.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/penalty.sh b/regress/penalty.sh index ae37aaef8b18..0285f0036961 100644 --- a/regress/penalty.sh +++ b/regress/penalty.sh @@ -44,7 +44,7 @@ sleep 8 ${SSH} -F $OBJ/ssh_config somehost true || fail "authfail not expired" verbose "penalty for no authentication" -${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null 2>&1 || fatal "keyscan failed" +${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null || fatal "keyscan failed" # Repeat attempt should be penalised ${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null 2>&1 && fail "keyscan not rejected" From b2c64bc170d75823622a37cab3ca1804ca87ad16 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 14 Jun 2024 14:19:23 +1000 Subject: [PATCH 121/172] add a sshd_config PamServiceName option Allows selecting which PAM service name to use when UsePAM is enabled. Defaults to "sshd" unless overridden at compile time by defining SSHD_PAM_SERVICE. bz2102, ok dtucker@ --- auth-pam.c | 13 ++++++------- servconf.c | 22 +++++++++++++++++++++- servconf.h | 2 ++ sshd_config.5 | 9 ++++++++- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/auth-pam.c b/auth-pam.c index d648023717a2..2c1a8d3df8dd 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -67,10 +67,6 @@ #include #endif -#if !defined(SSHD_PAM_SERVICE) -# define SSHD_PAM_SERVICE "sshd" -#endif - /* OpenGroup RFC86.0 and XSSO specify no "const" on arguments */ #ifdef PAM_SUN_CODEBASE # define sshpam_const /* Solaris, HP-UX, SunOS */ @@ -693,6 +689,8 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt) const char **ptr_pam_user = &pam_user; int r; + if (options.pam_service_name == NULL) + fatal_f("internal error: NULL PAM service name"); #if defined(PAM_SUN_CODEBASE) && defined(PAM_MAX_RESP_SIZE) /* Protect buggy PAM implementations from excessively long usernames */ if (strlen(user) >= PAM_MAX_RESP_SIZE) @@ -714,9 +712,10 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt) pam_end(sshpam_handle, sshpam_err); sshpam_handle = NULL; } - debug("PAM: initializing for \"%s\"", user); - sshpam_err = - pam_start(SSHD_PAM_SERVICE, user, &store_conv, &sshpam_handle); + debug("PAM: initializing for \"%s\" with service \"%s\"", user, + options.pam_service_name); + sshpam_err = pam_start(options.pam_service_name, user, + &store_conv, &sshpam_handle); sshpam_authctxt = authctxt; if (sshpam_err != PAM_SUCCESS) { diff --git a/servconf.c b/servconf.c index 22afbededdfe..5b32f0bfc8db 100644 --- a/servconf.c +++ b/servconf.c @@ -69,6 +69,10 @@ #include "myproposal.h" #include "digest.h" +#if !defined(SSHD_PAM_SERVICE) +# define SSHD_PAM_SERVICE "sshd" +#endif + static void add_listen_addr(ServerOptions *, const char *, const char *, int); static void add_one_listen_addr(ServerOptions *, const char *, @@ -88,6 +92,7 @@ initialize_server_options(ServerOptions *options) /* Portable-specific options */ options->use_pam = -1; + options->pam_service_name = NULL; /* Standard Options */ options->num_ports = 0; @@ -291,6 +296,8 @@ fill_default_server_options(ServerOptions *options) /* Portable-specific options */ if (options->use_pam == -1) options->use_pam = 0; + if (options->pam_service_name == NULL) + options->pam_service_name = xstrdup(SSHD_PAM_SERVICE); /* Standard Options */ if (options->num_host_key_files == 0) { @@ -530,7 +537,7 @@ fill_default_server_options(ServerOptions *options) typedef enum { sBadOption, /* == unknown option */ /* Portable-specific options */ - sUsePAM, + sUsePAM, sPAMServiceName, /* Standard Options */ sPort, sHostKeyFile, sLoginGraceTime, sPermitRootLogin, sLogFacility, sLogLevel, sLogVerbose, @@ -583,8 +590,10 @@ static struct { /* Portable-specific options */ #ifdef USE_PAM { "usepam", sUsePAM, SSHCFG_GLOBAL }, + { "pamservicename", sPAMServiceName, SSHCFG_ALL }, #else { "usepam", sUnsupported, SSHCFG_GLOBAL }, + { "pamservicename", sUnsupported, SSHCFG_ALL }, #endif { "pamauthenticationviakbdint", sDeprecated, SSHCFG_GLOBAL }, /* Standard Options */ @@ -1318,6 +1327,16 @@ process_server_config_line_depth(ServerOptions *options, char *line, case sUsePAM: intptr = &options->use_pam; goto parse_flag; + case sPAMServiceName: + charptr = &options->pam_service_name; + arg = argv_next(&ac, &av); + if (!arg || *arg == '\0') { + fatal("%s line %d: missing argument.", + filename, linenum); + } + if (*activep && *charptr == NULL) + *charptr = xstrdup(arg); + break; /* Standard Options */ case sBadOption: @@ -3128,6 +3147,7 @@ dump_config(ServerOptions *o) /* integer arguments */ #ifdef USE_PAM dump_cfg_fmtint(sUsePAM, o->use_pam); + dump_cfg_string(sPAMServiceName, o->pam_service_name); #endif dump_cfg_int(sLoginGraceTime, o->login_grace_time); dump_cfg_int(sX11DisplayOffset, o->x11_display_offset); diff --git a/servconf.h b/servconf.h index 8984e99661e7..22b158d1057c 100644 --- a/servconf.h +++ b/servconf.h @@ -210,6 +210,7 @@ typedef struct { char *adm_forced_command; int use_pam; /* Enable auth via PAM */ + char *pam_service_name; int permit_tun; @@ -294,6 +295,7 @@ TAILQ_HEAD(include_list, include_item); M_CP_STROPT(ca_sign_algorithms); \ M_CP_STROPT(routing_domain); \ M_CP_STROPT(permit_user_env_allowlist); \ + M_CP_STROPT(pam_service_name); \ M_CP_STRARRAYOPT(authorized_keys_files, num_authkeys_files); \ M_CP_STRARRAYOPT(allow_users, num_allow_users); \ M_CP_STRARRAYOPT(deny_users, num_deny_users); \ diff --git a/sshd_config.5 b/sshd_config.5 index 11c341a9dbab..b228e905b0b3 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -1368,10 +1368,17 @@ and key exchange methods. The default is .Pa /etc/moduli . +.It Cm PAMServiceName +Specifies the service name used for Pluggable Authentication Modules (PAM) +authentication, authorisation and session controls when +.Cm UsePAM +is enabled. +The default is +.Cm sshd . .It Cm PasswordAuthentication Specifies whether password authentication is allowed. The default is -.Cm yes . +.Cm sshd . .It Cm PermitEmptyPasswords When password authentication is allowed, it specifies whether the server allows login to accounts with empty password strings. From 2866ad08a9c50d7b67ce9424ca990532b806a21a Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jun 2024 04:43:11 +0000 Subject: [PATCH 122/172] upstream: split the PerSourcePenalties test in two: one tests penalty enforcement but not penalty expiry, the other tests penalty expiry. This lets us disable the expiry testing in certain CI test environments. OpenBSD-Regress-ID: f56811064f3e3cb52ee73a206b8c2a06af1c8791 --- regress/Makefile | 5 +++-- regress/penalty-expire.sh | 34 ++++++++++++++++++++++++++++++++++ regress/penalty.sh | 9 +++------ 3 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 regress/penalty-expire.sh diff --git a/regress/Makefile b/regress/Makefile index 24b0219170fa..7f7349706be1 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.134 2024/06/06 19:49:25 djm Exp $ +# $OpenBSD: Makefile,v 1.135 2024/06/14 04:43:11 djm Exp $ tests: prep file-tests t-exec unit @@ -110,7 +110,8 @@ LTESTS= connect \ match-subsystem \ agent-pkcs11-restrict \ agent-pkcs11-cert \ - penalty + penalty \ + penalty-expire INTEROP_TESTS= putty-transfer putty-ciphers putty-kex conch-ciphers INTEROP_TESTS+= dropbear-ciphers dropbear-kex diff --git a/regress/penalty-expire.sh b/regress/penalty-expire.sh new file mode 100644 index 000000000000..30b7bd45db14 --- /dev/null +++ b/regress/penalty-expire.sh @@ -0,0 +1,34 @@ +# $OpenBSD +# Placed in the Public Domain. + +tid="penalties" + +grep -vi PerSourcePenalties $OBJ/sshd_config > $OBJ/sshd_config.bak +cp $OBJ/authorized_keys_${USER} $OBJ/authorized_keys_${USER}.bak + +conf() { + test -z "$PIDFILE" || stop_sshd + (cat $OBJ/sshd_config.bak ; + echo "PerSourcePenalties $@") > $OBJ/sshd_config + cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} + start_sshd +} + +conf "noauth:10s authfail:10s max:20s min:1s" + +verbose "test connect" +${SSH} -F $OBJ/ssh_config somehost true || fatal "basic connect failed" + +verbose "penalty expiry" + +# Incur a penalty +cat /dev/null > $OBJ/authorized_keys_${USER} +${SSH} -F $OBJ/ssh_config somehost true && fatal "authfail connect succeeded" + +# Check denied +cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} +${SSH} -F $OBJ/ssh_config somehost true && fatal "authfail not rejected" + +# Let it expire and try again. +sleep 11 +${SSH} -F $OBJ/ssh_config somehost true || fail "authfail not expired" diff --git a/regress/penalty.sh b/regress/penalty.sh index 0285f0036961..4308e0b82a2d 100644 --- a/regress/penalty.sh +++ b/regress/penalty.sh @@ -14,7 +14,7 @@ conf() { start_sshd } -conf "noauth:10s authfail:6s grace-exceeded:10s min:8s max:20s" +conf "authfail:30s min:50s max:200s" verbose "test connect" ${SSH} -F $OBJ/ssh_config somehost true || fatal "basic connect failed" @@ -36,13 +36,10 @@ cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} # These should be refused by the active penalty ${SSH} -F $OBJ/ssh_config somehost true && fail "authfail not rejected" -sleep 5 ${SSH} -F $OBJ/ssh_config somehost true && fail "repeat authfail not rejected" -# Penalty should have expired, this should succeed. -sleep 8 -${SSH} -F $OBJ/ssh_config somehost true || fail "authfail not expired" - +conf "noauth:100s" +${SSH} -F $OBJ/ssh_config somehost true || fatal "basic connect failed" verbose "penalty for no authentication" ${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null || fatal "keyscan failed" From 092e4ff9ccaacbe035f286feb1b56ed499604743 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 14 Jun 2024 14:46:35 +1000 Subject: [PATCH 123/172] skip penalty-expire test in valgrind test env --- .github/configs | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/configs b/.github/configs index 370fe29a3ee4..a34276a07c38 100755 --- a/.github/configs +++ b/.github/configs @@ -208,6 +208,7 @@ case "$config" in # and hostbased (since valgrind won't let ssh exec keysign). # Slow ones are run separately to increase parallelism. SKIP_LTESTS="agent-timeout connection-timeout hostbased" + SKIP_LTESTS="$SKIP_LTESTS penalty-expire" SKIP_LTESTS="$SKIP_LTESTS ${tests2} ${tests3} ${tests4} ${tests5}" ;; valgrind-2) From d172ad56df85b68316dbadbedad16761a1265874 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jun 2024 05:00:42 +0000 Subject: [PATCH 124/172] upstream: ssh-keyscan -q man bits OpenBSD-Commit-ID: ba28d0e1ac609a4c99c453e57e86560c79079db1 --- ssh-keyscan.1 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ssh-keyscan.1 b/ssh-keyscan.1 index aa6d34f63dc3..fc951e57a7d6 100644 --- a/ssh-keyscan.1 +++ b/ssh-keyscan.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keyscan.1,v 1.49 2023/02/10 06:41:53 jmc Exp $ +.\" $OpenBSD: ssh-keyscan.1,v 1.50 2024/06/14 05:00:42 djm Exp $ .\" .\" Copyright 1995, 1996 by David Mazieres . .\" @@ -6,7 +6,7 @@ .\" permitted provided that due credit is given to the author and the .\" OpenBSD project by leaving this copyright notice intact. .\" -.Dd $Mdocdate: February 10 2023 $ +.Dd $Mdocdate: June 14 2024 $ .Dt SSH-KEYSCAN 1 .Os .Sh NAME @@ -14,7 +14,7 @@ .Nd gather SSH public keys from servers .Sh SYNOPSIS .Nm ssh-keyscan -.Op Fl 46cDHv +.Op Fl 46cDHqv .Op Fl f Ar file .Op Fl O Ar option .Op Fl p Ar port @@ -143,6 +143,9 @@ The default is to fetch and .Dq ed25519-sk keys. +.It Fl q +Quiet mode: +do not print server host name and banners in comments. .It Fl v Verbose mode: print debugging messages about progress. From dd7807bbe80a93ffb4616f2bd5cf83ad5a5595fb Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jun 2024 05:01:22 +0000 Subject: [PATCH 125/172] upstream: clarify KEXAlgorithms supported vs available. Inspired by bz3701 from Colin Watson. OpenBSD-Commit-ID: e698e69bea19bd52971d253f2b1094490c4701f7 --- ssh_config.5 | 13 +++++++++---- sshd_config.5 | 15 ++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ssh_config.5 b/ssh_config.5 index 2931d807ebdd..0f8dddcb6b4f 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.394 2024/02/21 06:01:13 djm Exp $ -.Dd $Mdocdate: February 21 2024 $ +.\" $OpenBSD: ssh_config.5,v 1.395 2024/06/14 05:01:22 djm Exp $ +.Dd $Mdocdate: June 14 2024 $ .Dt SSH_CONFIG 5 .Os .Sh NAME @@ -1261,8 +1261,12 @@ it may be zero or more of: and .Cm pam . .It Cm KexAlgorithms -Specifies the available KEX (Key Exchange) algorithms. +Specifies the permitted KEX (Key Exchange) algorithms that will be used and +their preference order. +The selected algorithm will the the first algorithm in this list that +the server also supports. Multiple algorithms must be comma-separated. +.Pp If the specified list begins with a .Sq + character, then the specified algorithms will be appended to the default set @@ -1275,6 +1279,7 @@ If the specified list begins with a .Sq ^ character, then the specified algorithms will be placed at the head of the default set. +.Pp The default is: .Bd -literal -offset indent sntrup761x25519-sha512@openssh.com, @@ -1286,7 +1291,7 @@ diffie-hellman-group18-sha512, diffie-hellman-group14-sha256 .Ed .Pp -The list of available key exchange algorithms may also be obtained using +The list of supported key exchange algorithms may also be obtained using .Qq ssh -Q kex . .It Cm KnownHostsCommand Specifies a command to use to obtain a list of host keys, in addition to diff --git a/sshd_config.5 b/sshd_config.5 index b228e905b0b3..d5019f8eaa36 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.362 2024/06/13 15:06:33 naddy Exp $ -.Dd $Mdocdate: June 13 2024 $ +.\" $OpenBSD: sshd_config.5,v 1.363 2024/06/14 05:01:22 djm Exp $ +.Dd $Mdocdate: June 14 2024 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1003,9 +1003,13 @@ file on logout. The default is .Cm yes . .It Cm KexAlgorithms -Specifies the available KEX (Key Exchange) algorithms. +Specifies the permitted KEX (Key Exchange) algorithms that the server will +offer to clients. +The ordering of this list is not important, as the client specifies the +preference order. Multiple algorithms must be comma-separated. -Alternately if the specified list begins with a +.Pp +If the specified list begins with a .Sq + character, then the specified algorithms will be appended to the default set instead of replacing them. @@ -1017,6 +1021,7 @@ If the specified list begins with a .Sq ^ character, then the specified algorithms will be placed at the head of the default set. +.Pp The supported algorithms are: .Pp .Bl -item -compact -offset indent @@ -1058,7 +1063,7 @@ diffie-hellman-group16-sha512,diffie-hellman-group18-sha512, diffie-hellman-group14-sha256 .Ed .Pp -The list of available key exchange algorithms may also be obtained using +The list of supported key exchange algorithms may also be obtained using .Qq ssh -Q KexAlgorithms . .It Cm ListenAddress Specifies the local addresses From 93c75471a1202ab3e29db6938648d4e2602c0475 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Fri, 14 Jun 2024 05:20:34 +0000 Subject: [PATCH 126/172] upstream: sort -q in the options list; OpenBSD-Commit-ID: 6839b38378f38f754de638a5e988c13b4164cc7c --- ssh-keyscan.1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ssh-keyscan.1 b/ssh-keyscan.1 index fc951e57a7d6..df4fb6ca4fb3 100644 --- a/ssh-keyscan.1 +++ b/ssh-keyscan.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keyscan.1,v 1.50 2024/06/14 05:00:42 djm Exp $ +.\" $OpenBSD: ssh-keyscan.1,v 1.51 2024/06/14 05:20:34 jmc Exp $ .\" .\" Copyright 1995, 1996 by David Mazieres . .\" @@ -116,6 +116,9 @@ The default is to print both. Connect to .Ar port on the remote host. +.It Fl q +Quiet mode: +do not print server host name and banners in comments. .It Fl T Ar timeout Set the timeout for connection attempts. If @@ -143,9 +146,6 @@ The default is to fetch and .Dq ed25519-sk keys. -.It Fl q -Quiet mode: -do not print server host name and banners in comments. .It Fl v Verbose mode: print debugging messages about progress. From 8d0f7eb147ef72d18acb16c0b18672d44941a8ca Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sat, 15 Jun 2024 03:59:10 +0000 Subject: [PATCH 127/172] upstream: crank up penalty timeouts so this should work on even the slowest of test builders OpenBSD-Regress-ID: 70bda39c83e3fc9d0f3c1fad4542ed33e173d468 --- regress/penalty.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/penalty.sh b/regress/penalty.sh index 4308e0b82a2d..9556b31f707e 100644 --- a/regress/penalty.sh +++ b/regress/penalty.sh @@ -14,7 +14,7 @@ conf() { start_sshd } -conf "authfail:30s min:50s max:200s" +conf "authfail:300s min:350s max:900s" verbose "test connect" ${SSH} -F $OBJ/ssh_config somehost true || fatal "basic connect failed" From 45562a95ea11d328c22d97bf39401cd29684fb1f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sun, 16 Jun 2024 08:18:06 +0000 Subject: [PATCH 128/172] upstream: penalty test is still a bit racy OpenBSD-Regress-ID: 90c9ac224db454637baf1ebee5857e007321e824 --- regress/penalty.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/regress/penalty.sh b/regress/penalty.sh index 9556b31f707e..8b8353238111 100644 --- a/regress/penalty.sh +++ b/regress/penalty.sh @@ -25,14 +25,17 @@ verbose "penalty for authentication failure" cat /dev/null > $OBJ/authorized_keys_${USER} ${SSH} -F $OBJ/ssh_config somehost true && fatal "noauth connect succeeded" cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} +sleep 2 # Should be below penalty threshold ${SSH} -F $OBJ/ssh_config somehost true || fatal "authfail not expired" +sleep 2 # Fail authentication again; penalty should activate cat /dev/null > $OBJ/authorized_keys_${USER} ${SSH} -F $OBJ/ssh_config somehost true && fatal "noauth connect succeeded" cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} +sleep 2 # These should be refused by the active penalty ${SSH} -F $OBJ/ssh_config somehost true && fail "authfail not rejected" @@ -42,6 +45,7 @@ conf "noauth:100s" ${SSH} -F $OBJ/ssh_config somehost true || fatal "basic connect failed" verbose "penalty for no authentication" ${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null || fatal "keyscan failed" +sleep 2 # Repeat attempt should be penalised ${SSHKEYSCAN} -t ssh-ed25519 -p $PORT 127.0.0.1 >/dev/null 2>&1 && fail "keyscan not rejected" From 48443d202eaec52d4d39defdd709a4499a7140c6 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sun, 16 Jun 2024 11:54:49 +0000 Subject: [PATCH 129/172] upstream: same treatment for this test OpenBSD-Regress-ID: d0cc9efca7833e673ea7b0cb3a679a3acee8d4c7 --- regress/penalty-expire.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/regress/penalty-expire.sh b/regress/penalty-expire.sh index 30b7bd45db14..4f0bbe638f63 100644 --- a/regress/penalty-expire.sh +++ b/regress/penalty-expire.sh @@ -24,6 +24,7 @@ verbose "penalty expiry" # Incur a penalty cat /dev/null > $OBJ/authorized_keys_${USER} ${SSH} -F $OBJ/ssh_config somehost true && fatal "authfail connect succeeded" +sleep 2 # Check denied cp $OBJ/authorized_keys_${USER}.bak $OBJ/authorized_keys_${USER} From 1c207f456ace38987deda047758d13fbf857f948 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 17 Jun 2024 15:06:01 +1000 Subject: [PATCH 130/172] minix doesn't have loopback, so skip penalty tests pointed out by dtucker@ --- .github/configs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs b/.github/configs index a34276a07c38..6134cb6ed5e9 100755 --- a/.github/configs +++ b/.github/configs @@ -290,7 +290,7 @@ case "${TARGET_HOST}" in hostkey-agent key-options keyscan knownhosts-command login-timeout reconfigure reexec rekey scp scp-uri scp3 sftp sftp-badcmds sftp-batch sftp-cmds sftp-glob sftp-perm sftp-uri stderr-data - transfer" + transfer penalty penalty-expire" SKIP_LTESTS="$(echo $T)" TEST_TARGET=t-exec SUDO="" From b00331402fe5c60d577f3ffcc35e49286cdc6b47 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 17 Jun 2024 17:02:18 +1000 Subject: [PATCH 131/172] propagate PAM crashes to PerSourcePenalties If the PAM subprocess crashes, exit with a crash status that will be picked up by the sshd(8) listener process where it can be used by PerSourcePenalties to block the client. This is similar handling to the privsep preauth process. --- auth-pam.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/auth-pam.c b/auth-pam.c index 2c1a8d3df8dd..13c0a792e99e 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -100,6 +100,7 @@ #include "ssh-gss.h" #endif #include "monitor_wrap.h" +#include "srclimit.h" extern ServerOptions options; extern struct sshbuf *loginmsg; @@ -166,13 +167,13 @@ sshpam_sigchld_handler(int sig) return; } } - if (WIFSIGNALED(sshpam_thread_status) && - WTERMSIG(sshpam_thread_status) == SIGTERM) - return; /* terminated by pthread_cancel */ - if (!WIFEXITED(sshpam_thread_status)) - sigdie("PAM: authentication thread exited unexpectedly"); - if (WEXITSTATUS(sshpam_thread_status) != 0) - sigdie("PAM: authentication thread exited uncleanly"); + if (sshpam_thread_status == -1) + return; + if (WIFSIGNALED(sshpam_thread_status)) { + if (signal_is_crash(WTERMSIG(sshpam_thread_status))) + _exit(EXIT_CHILD_CRASH); + } else if (!WIFEXITED(sshpam_thread_status)) + _exit(EXIT_CHILD_CRASH); } /* ARGSUSED */ From 5603befe11c9464ea26fe77cbacc95a7cc0b1ea7 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jun 2024 08:28:31 +0000 Subject: [PATCH 132/172] upstream: promote connection-closed messages from verbose to info log level; they could be the only record of the connection terminating if the client doesn't send a SSH2_MSG_DISCONNECT message. ok dtucker@ OpenBSD-Commit-ID: 0c8bfaf5e9fdff945cee09ac21e641f6c5d65d3c --- serverloop.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverloop.c b/serverloop.c index 4eabfced6f2c..757cc6f0244e 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.239 2024/05/17 00:30:24 djm Exp $ */ +/* $OpenBSD: serverloop.c,v 1.240 2024/06/17 08:28:31 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -266,11 +266,11 @@ process_input(struct ssh *ssh, int connection_in) if (errno == EAGAIN || errno == EINTR || errno == EWOULDBLOCK) return 0; if (errno == EPIPE) { - verbose("Connection closed by %.100s port %d", + logit("Connection closed by %.100s port %d", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); return -1; } - verbose("Read error from remote host %s port %d: %s", + logit("Read error from remote host %s port %d: %s", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), strerror(errno)); cleanup_exit(255); From 00eb95957dea5484b2c7c043f7d2bbc87301bef2 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jun 2024 08:30:29 +0000 Subject: [PATCH 133/172] upstream: disable the DSA signature algorithm by default; ok markus@ (yes, I know this expands to "the Digitial Signature Algorithm signature algorithm) OpenBSD-Commit-ID: 961ef594e46dd2dcade8dd5721fa565cee79ffed --- configure.ac | 31 +++++++++++++------------------ ssh-add.1 | 12 +++++------- ssh-keygen.1 | 19 +++++++------------ ssh-keyscan.1 | 16 ++++------------ ssh-keysign.8 | 6 ++---- ssh.1 | 21 +++++++-------------- ssh_config.5 | 11 +++++------ sshd.8 | 9 +++------ 8 files changed, 46 insertions(+), 79 deletions(-) diff --git a/configure.ac b/configure.ac index 717fef83279f..5a865f8e1b07 100644 --- a/configure.ac +++ b/configure.ac @@ -2078,8 +2078,12 @@ AC_ARG_WITH([security-key-builtin], enable_dsa= AC_ARG_ENABLE([dsa-keys], - [ --disable-dsa-keys disable DSA key support [no]], - [ enable_dsa="$enableval" ] + [ --enable-dsa-keys enable DSA key support [no]], + [ + if test "x$enableval" != "xno" ; then + enable_dsa=1 + fi + ] ) AC_SEARCH_LIBS([dlopen], [dl]) @@ -3188,8 +3192,9 @@ if test "x$openssl" = "xyes" ; then AC_MSG_RESULT([no]) ] ) + openssl_dsa=no - if test -z "$enable_dsa" || test "x$enable_dsa" = "xyes"; then + if test ! -z "$enable_dsa" ; then AC_CHECK_DECLS([OPENSSL_NO_DSA], [], [ AC_CHECK_DECLS([OPENSSL_IS_BORINGSSL], [], [ openssl_dsa=yes ], @@ -3199,22 +3204,12 @@ if test "x$openssl" = "xyes" ; then [ #include ] ) AC_MSG_CHECKING([whether to enable DSA key support]) - if test -z "$enable_dsa"; then - if test "x$openssl_dsa" = "xno"; then - AC_MSG_RESULT([not supported by OpenSSL]) - else - AC_MSG_RESULT([yes]) - AC_DEFINE([WITH_DSA], [1], - [DSA keys enabled by default]) - fi + if test "x$openssl_dsa" = "xno"; then + AC_MSG_ERROR([DSA requested but not supported by OpenSSL]) else - if test "x$openssl_dsa" = "xno"; then - AC_MSG_ERROR([DSA requested but not supported by OpenSSL]) - else - AC_MSG_RESULT([yes]) - AC_DEFINE([WITH_DSA], [1], - [DSA keys explicitly enabled]) - fi + AC_MSG_RESULT([yes]) + AC_DEFINE([WITH_DSA], [1], + [DSA keys explicitly enabled]) fi fi fi diff --git a/ssh-add.1 b/ssh-add.1 index 290ba91d3d92..c31de4dd9daf 100644 --- a/ssh-add.1 +++ b/ssh-add.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-add.1,v 1.86 2023/12/19 06:57:34 jmc Exp $ +.\" $OpenBSD: ssh-add.1,v 1.87 2024/06/17 08:30:29 djm Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: December 19 2023 $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSH-ADD 1 .Os .Sh NAME @@ -67,10 +67,9 @@ When run without arguments, it adds the files .Pa ~/.ssh/id_rsa , .Pa ~/.ssh/id_ecdsa , .Pa ~/.ssh/id_ecdsa_sk , -.Pa ~/.ssh/id_ed25519 , -.Pa ~/.ssh/id_ed25519_sk , +.Pa ~/.ssh/id_ed25519 and -.Pa ~/.ssh/id_dsa . +.Pa ~/.ssh/id_ed25519_sk . After loading a private key, .Nm will try to load corresponding certificate information from the @@ -314,13 +313,12 @@ the built-in USB HID support. .El .Sh FILES .Bl -tag -width Ds -compact -.It Pa ~/.ssh/id_dsa .It Pa ~/.ssh/id_ecdsa .It Pa ~/.ssh/id_ecdsa_sk .It Pa ~/.ssh/id_ed25519 .It Pa ~/.ssh/id_ed25519_sk .It Pa ~/.ssh/id_rsa -Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, +Contains the ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA authentication identity of the user. .El .Pp diff --git a/ssh-keygen.1 b/ssh-keygen.1 index c392141ea127..836c450e6560 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.230 2023/09/04 10:29:58 job Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.231 2024/06/17 08:30:29 djm Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: September 4 2023 $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSH-KEYGEN 1 .Os .Sh NAME @@ -51,7 +51,7 @@ .Op Fl m Ar format .Op Fl N Ar new_passphrase .Op Fl O Ar option -.Op Fl t Cm dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa +.Op Fl t Cm ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa .Op Fl w Ar provider .Op Fl Z Ar cipher .Nm ssh-keygen @@ -205,7 +205,6 @@ section for details. Normally each user wishing to use SSH with public key authentication runs this once to create the authentication key in -.Pa ~/.ssh/id_dsa , .Pa ~/.ssh/id_ecdsa , .Pa ~/.ssh/id_ecdsa_sk , .Pa ~/.ssh/id_ed25519 , @@ -414,9 +413,8 @@ section. Prints the contents of one or more certificates. .It Fl l Show fingerprint of specified public key file. -For RSA and DSA keys .Nm -tries to find the matching public key file and prints its fingerprint. +will try to find the matching public key file and prints its fingerprint. If combined with .Fl v , a visual ASCII art representation of the key is supplied with the @@ -579,10 +577,9 @@ by key ID or serial number. See the .Sx KEY REVOCATION LISTS section for details. -.It Fl t Cm dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa +.It Fl t Cm ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa Specifies the type of key to create. The possible values are -.Dq dsa , .Dq ecdsa , .Dq ecdsa-sk , .Dq ed25519 , @@ -1290,13 +1287,12 @@ the built-in USB HID support. .El .Sh FILES .Bl -tag -width Ds -compact -.It Pa ~/.ssh/id_dsa .It Pa ~/.ssh/id_ecdsa .It Pa ~/.ssh/id_ecdsa_sk .It Pa ~/.ssh/id_ed25519 .It Pa ~/.ssh/id_ed25519_sk .It Pa ~/.ssh/id_rsa -Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, +Contains the ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA authentication identity of the user. This file should not be readable by anyone but the user. It is possible to @@ -1308,13 +1304,12 @@ but it is offered as the default file for the private key. .Xr ssh 1 will read this file when a login attempt is made. .Pp -.It Pa ~/.ssh/id_dsa.pub .It Pa ~/.ssh/id_ecdsa.pub .It Pa ~/.ssh/id_ecdsa_sk.pub .It Pa ~/.ssh/id_ed25519.pub .It Pa ~/.ssh/id_ed25519_sk.pub .It Pa ~/.ssh/id_rsa.pub -Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, +Contains the ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA public key for authentication. The contents of this file should be added to .Pa ~/.ssh/authorized_keys diff --git a/ssh-keyscan.1 b/ssh-keyscan.1 index df4fb6ca4fb3..79cef300dda9 100644 --- a/ssh-keyscan.1 +++ b/ssh-keyscan.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keyscan.1,v 1.51 2024/06/14 05:20:34 jmc Exp $ +.\" $OpenBSD: ssh-keyscan.1,v 1.52 2024/06/17 08:30:29 djm Exp $ .\" .\" Copyright 1995, 1996 by David Mazieres . .\" @@ -6,7 +6,7 @@ .\" permitted provided that due credit is given to the author and the .\" OpenBSD project by leaving this copyright notice intact. .\" -.Dd $Mdocdate: June 14 2024 $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSH-KEYSCAN 1 .Os .Sh NAME @@ -130,7 +130,6 @@ The default is 5 seconds. .It Fl t Ar type Specify the type of the key to fetch from the scanned hosts. The possible values are -.Dq dsa , .Dq ecdsa , .Dq ed25519 , .Dq ecdsa-sk , @@ -138,14 +137,7 @@ The possible values are or .Dq rsa . Multiple values may be specified by separating them with commas. -The default is to fetch -.Dq rsa , -.Dq ecdsa , -.Dq ed25519 , -.Dq ecdsa-sk , -and -.Dq ed25519-sk -keys. +The default is to fetch all the above key types. .It Fl v Verbose mode: print debugging messages about progress. @@ -177,7 +169,7 @@ Find all hosts from the file which have new or different keys from those in the sorted file .Pa ssh_known_hosts : .Bd -literal -offset indent -$ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f ssh_hosts | \e +$ ssh-keyscan -t rsa,ecdsa,ed25519 -f ssh_hosts | \e sort -u - ssh_known_hosts | diff ssh_known_hosts - .Ed .Sh SEE ALSO diff --git a/ssh-keysign.8 b/ssh-keysign.8 index 6b4b9b270ba9..3b4d35b090c6 100644 --- a/ssh-keysign.8 +++ b/ssh-keysign.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keysign.8,v 1.17 2022/03/31 17:27:27 naddy Exp $ +.\" $OpenBSD: ssh-keysign.8,v 1.18 2024/06/17 08:30:29 djm Exp $ .\" .\" Copyright (c) 2002 Markus Friedl. All rights reserved. .\" @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: March 31 2022 $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSH-KEYSIGN 8 .Os .Sh NAME @@ -61,7 +61,6 @@ Controls whether .Nm is enabled. .Pp -.It Pa /etc/ssh/ssh_host_dsa_key .It Pa /etc/ssh/ssh_host_ecdsa_key .It Pa /etc/ssh/ssh_host_ed25519_key .It Pa /etc/ssh/ssh_host_rsa_key @@ -73,7 +72,6 @@ Since they are readable only by root, .Nm must be set-uid root if host-based authentication is used. .Pp -.It Pa /etc/ssh/ssh_host_dsa_key-cert.pub .It Pa /etc/ssh/ssh_host_ecdsa_key-cert.pub .It Pa /etc/ssh/ssh_host_ed25519_key-cert.pub .It Pa /etc/ssh/ssh_host_rsa_key-cert.pub diff --git a/ssh.1 b/ssh.1 index 61a154c2a147..6b5bb0e077ac 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.440 2024/05/26 20:35:12 naddy Exp $ -.Dd $Mdocdate: May 26 2024 $ +.\" $OpenBSD: ssh.1,v 1.441 2024/06/17 08:30:29 djm Exp $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSH 1 .Os .Sh NAME @@ -304,10 +304,9 @@ The default is .Pa ~/.ssh/id_rsa , .Pa ~/.ssh/id_ecdsa , .Pa ~/.ssh/id_ecdsa_sk , -.Pa ~/.ssh/id_ed25519 , -.Pa ~/.ssh/id_ed25519_sk +.Pa ~/.ssh/id_ed25519 and -.Pa ~/.ssh/id_dsa . +.Pa ~/.ssh/id_ed25519_sk . Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple @@ -929,10 +928,10 @@ key pair for authentication purposes. The server knows the public key, and only the user knows the private key. .Nm implements public key authentication protocol automatically, -using one of the DSA, ECDSA, Ed25519 or RSA algorithms. +using one of the ECDSA, Ed25519 or RSA algorithms. The HISTORY section of .Xr ssl 8 -contains a brief discussion of the DSA and RSA algorithms. +contains a brief discussion of the RSA and ECDSA algorithms. .Pp The file .Pa ~/.ssh/authorized_keys @@ -959,8 +958,6 @@ flag). The user creates their key pair by running .Xr ssh-keygen 1 . This stores the private key in -.Pa ~/.ssh/id_dsa -(DSA), .Pa ~/.ssh/id_ecdsa (ECDSA), .Pa ~/.ssh/id_ecdsa_sk @@ -973,8 +970,6 @@ or .Pa ~/.ssh/id_rsa (RSA) and stores the public key in -.Pa ~/.ssh/id_dsa.pub -(DSA), .Pa ~/.ssh/id_ecdsa.pub (ECDSA), .Pa ~/.ssh/id_ecdsa_sk.pub @@ -1556,7 +1551,7 @@ secret, but the recommended permissions are read/write/execute for the user, and not accessible by others. .Pp .It Pa ~/.ssh/authorized_keys -Lists the public keys (DSA, ECDSA, Ed25519, RSA) +Lists the public keys (ECDSA, Ed25519, RSA) that can be used for logging in as this user. The format of this file is described in the .Xr sshd 8 @@ -1576,7 +1571,6 @@ Contains additional definitions for environment variables; see .Sx ENVIRONMENT , above. .Pp -.It Pa ~/.ssh/id_dsa .It Pa ~/.ssh/id_ecdsa .It Pa ~/.ssh/id_ecdsa_sk .It Pa ~/.ssh/id_ed25519 @@ -1592,7 +1586,6 @@ It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using AES-128. .Pp -.It Pa ~/.ssh/id_dsa.pub .It Pa ~/.ssh/id_ecdsa.pub .It Pa ~/.ssh/id_ecdsa_sk.pub .It Pa ~/.ssh/id_ed25519.pub diff --git a/ssh_config.5 b/ssh_config.5 index 0f8dddcb6b4f..2e1902283d79 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.395 2024/06/14 05:01:22 djm Exp $ -.Dd $Mdocdate: June 14 2024 $ +.\" $OpenBSD: ssh_config.5,v 1.396 2024/06/17 08:30:29 djm Exp $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSH_CONFIG 5 .Os .Sh NAME @@ -1114,7 +1114,7 @@ section and environment variables as described in the .Sx ENVIRONMENT VARIABLES section. .It Cm IdentityFile -Specifies a file from which the user's DSA, ECDSA, authenticator-hosted ECDSA, +Specifies a file from which the user's ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA authentication identity is read. You can also specify a public key file to use the corresponding private key that is loaded in @@ -1124,10 +1124,9 @@ The default is .Pa ~/.ssh/id_rsa , .Pa ~/.ssh/id_ecdsa , .Pa ~/.ssh/id_ecdsa_sk , -.Pa ~/.ssh/id_ed25519 , -.Pa ~/.ssh/id_ed25519_sk +.Pa ~/.ssh/id_ed25519 and -.Pa ~/.ssh/id_dsa . +.Pa ~/.ssh/id_ed25519_sk . Additionally, any identities represented by the authentication agent will be used for authentication unless .Cm IdentitiesOnly diff --git a/sshd.8 b/sshd.8 index 73d5e9232702..c0f095ca4462 100644 --- a/sshd.8 +++ b/sshd.8 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd.8,v 1.325 2023/09/19 20:37:07 deraadt Exp $ -.Dd $Mdocdate: September 19 2023 $ +.\" $OpenBSD: sshd.8,v 1.326 2024/06/17 08:30:29 djm Exp $ +.Dd $Mdocdate: June 17 2024 $ .Dt SSHD 8 .Os .Sh NAME @@ -465,8 +465,6 @@ sk-ssh-ed25519@openssh.com .It ssh-ed25519 .It -ssh-dss -.It ssh-rsa .El .Pp @@ -477,7 +475,6 @@ Note that lines in this file can be several hundred bytes long (because of the size of the public key encoding) up to a limit of 8 kilobytes, which permits RSA keys up to 16 kilobits. You don't want to type them in; instead, copy the -.Pa id_dsa.pub , .Pa id_ecdsa.pub , .Pa id_ecdsa_sk.pub , .Pa id_ed25519.pub , @@ -881,7 +878,7 @@ secret, but the recommended permissions are read/write/execute for the user, and not accessible by others. .Pp .It Pa ~/.ssh/authorized_keys -Lists the public keys (DSA, ECDSA, Ed25519, RSA) +Lists the public keys (ECDSA, Ed25519, RSA) that can be used for logging in as this user. The format of this file is described above. The content of the file is not highly sensitive, but the recommended From 3f9cc47da588e8de520720e59f98438043fdaf93 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 18 Jun 2024 09:35:53 +1000 Subject: [PATCH 134/172] DSA support is disabled, so remove from fuzzers --- regress/misc/fuzz-harness/agent_fuzz_helper.c | 1 - regress/misc/fuzz-harness/kex_fuzz.cc | 8 +------- regress/misc/fuzz-harness/sig_fuzz.cc | 1 - 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/regress/misc/fuzz-harness/agent_fuzz_helper.c b/regress/misc/fuzz-harness/agent_fuzz_helper.c index c3051c72b8db..321343bbbbdc 100644 --- a/regress/misc/fuzz-harness/agent_fuzz_helper.c +++ b/regress/misc/fuzz-harness/agent_fuzz_helper.c @@ -112,7 +112,6 @@ reset_idtab(void) idtab_init(); // Load keys. add_key(PRIV_RSA, CERT_RSA); - add_key(PRIV_DSA, CERT_DSA); add_key(PRIV_ECDSA, CERT_ECDSA); add_key(PRIV_ED25519, CERT_ED25519); add_key(PRIV_ECDSA_SK, CERT_ECDSA_SK); diff --git a/regress/misc/fuzz-harness/kex_fuzz.cc b/regress/misc/fuzz-harness/kex_fuzz.cc index d38ca8597072..f126d93f69de 100644 --- a/regress/misc/fuzz-harness/kex_fuzz.cc +++ b/regress/misc/fuzz-harness/kex_fuzz.cc @@ -144,7 +144,6 @@ static int prepare_keys(struct shared_state *st) { if (prepare_key(st, KEY_RSA, 2048) != 0 || - prepare_key(st, KEY_DSA, 1024) != 0 || prepare_key(st, KEY_ECDSA, 256) != 0 || prepare_key(st, KEY_ED25519, 256) != 0) { error_f("key prepare failed"); @@ -264,10 +263,6 @@ prepare_key(struct shared_state *st, int kt, int bits) pubstr = PUB_RSA; privstr = PRIV_RSA; break; - case KEY_DSA: - pubstr = PUB_DSA; - privstr = PRIV_DSA; - break; case KEY_ECDSA: pubstr = PUB_ECDSA; privstr = PRIV_ECDSA; @@ -325,7 +320,7 @@ int main(void) { static struct shared_state *st; struct test_state *ts; - const int keytypes[] = { KEY_RSA, KEY_DSA, KEY_ECDSA, KEY_ED25519, -1 }; + const int keytypes[] = { KEY_RSA, KEY_ECDSA, KEY_ED25519, -1 }; static const char * const kextypes[] = { "sntrup761x25519-sha512@openssh.com", "curve25519-sha256@libssh.org", @@ -399,7 +394,6 @@ static void do_kex(struct shared_state *st, struct test_state *ts, const char *kex) { do_kex_with_key(st, ts, kex, KEY_RSA); - do_kex_with_key(st, ts, kex, KEY_DSA); do_kex_with_key(st, ts, kex, KEY_ECDSA); do_kex_with_key(st, ts, kex, KEY_ED25519); } diff --git a/regress/misc/fuzz-harness/sig_fuzz.cc b/regress/misc/fuzz-harness/sig_fuzz.cc index b32502ba023f..ac63bdf5c6a5 100644 --- a/regress/misc/fuzz-harness/sig_fuzz.cc +++ b/regress/misc/fuzz-harness/sig_fuzz.cc @@ -26,7 +26,6 @@ int LLVMFuzzerTestOneInput(const uint8_t* sig, size_t slen) { #ifdef WITH_OPENSSL static struct sshkey *rsa = generate_or_die(KEY_RSA, 2048); - static struct sshkey *dsa = generate_or_die(KEY_DSA, 1024); static struct sshkey *ecdsa256 = generate_or_die(KEY_ECDSA, 256); static struct sshkey *ecdsa384 = generate_or_die(KEY_ECDSA, 384); static struct sshkey *ecdsa521 = generate_or_die(KEY_ECDSA, 521); From 761438012710169445acc179e3870c53c862bda0 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 18 Jun 2024 12:29:45 +1000 Subject: [PATCH 135/172] missed a bit of DSA in the fuzzer --- regress/misc/fuzz-harness/sig_fuzz.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/regress/misc/fuzz-harness/sig_fuzz.cc b/regress/misc/fuzz-harness/sig_fuzz.cc index ac63bdf5c6a5..639e4d227ff7 100644 --- a/regress/misc/fuzz-harness/sig_fuzz.cc +++ b/regress/misc/fuzz-harness/sig_fuzz.cc @@ -40,19 +40,20 @@ int LLVMFuzzerTestOneInput(const uint8_t* sig, size_t slen) sshkey_verify(rsa, sig, slen, (const u_char *)data, dlen, NULL, 0, &details); sshkey_sig_details_free(details); details = NULL; - sshkey_verify(dsa, sig, slen, (const u_char *)data, dlen, NULL, 0, &details); - sshkey_sig_details_free(details); - details = NULL; + sshkey_verify(ecdsa256, sig, slen, (const u_char *)data, dlen, NULL, 0, &details); sshkey_sig_details_free(details); details = NULL; + sshkey_verify(ecdsa384, sig, slen, (const u_char *)data, dlen, NULL, 0, &details); sshkey_sig_details_free(details); details = NULL; + sshkey_verify(ecdsa521, sig, slen, (const u_char *)data, dlen, NULL, 0, &details); sshkey_sig_details_free(details); details = NULL; #endif + sshkey_verify(ed25519, sig, slen, (const u_char *)data, dlen, NULL, 0, &details); sshkey_sig_details_free(details); return 0; From dabc2c7cf3c141e8e5d5a1a60d6c1d2d2422cf43 Mon Sep 17 00:00:00 2001 From: "anton@openbsd.org" Date: Tue, 18 Jun 2024 06:14:27 +0000 Subject: [PATCH 136/172] upstream: Stop using DSA in dropbear interop tests. OpenBSD-Regress-ID: abfd4457d99d8cc1417fd22ca2c570270f74c1cf --- regress/dropbear-kex.sh | 6 +++--- regress/test-exec.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/regress/dropbear-kex.sh b/regress/dropbear-kex.sh index a25de3eddb7c..092a26ff29e3 100644 --- a/regress/dropbear-kex.sh +++ b/regress/dropbear-kex.sh @@ -1,4 +1,4 @@ -# $OpenBSD: dropbear-kex.sh,v 1.1 2023/10/20 06:56:45 dtucker Exp $ +# $OpenBSD: dropbear-kex.sh,v 1.2 2024/06/18 06:14:27 anton Exp $ # Placed in the Public Domain. tid="dropbear kex" @@ -8,8 +8,8 @@ if test "x$REGRESS_INTEROP_DROPBEAR" != "xyes" ; then fi cat >>$OBJ/sshd_proxy < Date: Tue, 18 Jun 2024 08:11:48 +0000 Subject: [PATCH 137/172] upstream: Re-enable ssh-dss tests ... if ssh is compiled with DSA support OpenBSD-Regress-ID: bbfaf8c17f2b50a2d46ac35cb97af99b990c990d --- regress/test-exec.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index aa5b1a5e5c28..2f6c1486c382 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.116 2024/06/18 06:14:27 anton Exp $ +# $OpenBSD: test-exec.sh,v 1.117 2024/06/18 08:11:48 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -845,6 +845,10 @@ esac if test "$REGRESS_INTEROP_DROPBEAR" = "yes" ; then trace Create dropbear keys and add to authorized_keys + kt="rsa ecdsa ed25519" + if $SSH -Q key-plain | grep ssh-dss >/dev/null; then + kt="$kt dss" + fi mkdir -p $OBJ/.dropbear for i in rsa ecdsa ed25519; do if [ ! -f "$OBJ/.dropbear/id_$i" ]; then From df1c72a55edbebac14363b57de66ac6a147ecc67 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 19 Jun 2024 09:34:34 +1000 Subject: [PATCH 138/172] PAMServiceName may appear in a Match block --- sshd_config.5 | 1 + 1 file changed, 1 insertion(+) diff --git a/sshd_config.5 b/sshd_config.5 index d5019f8eaa36..6f41a0e09541 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -1307,6 +1307,7 @@ Available keywords are .Cm LogLevel , .Cm MaxAuthTries , .Cm MaxSessions , +.Cm PAMServiceName , .Cm PasswordAuthentication , .Cm PermitEmptyPasswords , .Cm PermitListen , From 786a4465b6bb702daf4fb17b7c3bcb42b52f0b46 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 18 Jun 2024 19:59:59 +1000 Subject: [PATCH 139/172] Remove macos-11 runner. Github is retiring them soon. --- .github/workflows/c-cpp.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index ff510e342239..609028703f80 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -17,7 +17,6 @@ jobs: target: - ubuntu-20.04 - ubuntu-22.04 - - macos-11 - macos-12 - macos-13 - macos-14 @@ -102,7 +101,6 @@ jobs: - { target: ubuntu-22.04, config: selinux } - { target: ubuntu-22.04, config: kitchensink } - { target: ubuntu-22.04, config: without-openssl } - - { target: macos-11, config: pam } - { target: macos-12, config: pam } - { target: macos-13, config: pam } - { target: macos-14, config: pam } From d6218504e11ae9148adf410fc69b0710a052be36 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 19 Jun 2024 20:20:24 +1000 Subject: [PATCH 140/172] Restart sshd after installing it for testing. When installing an sshd built without OpenSSL the mismatch between the running sshd and newly installed sshd-session will cause the remainder of the test to fail. --- .github/workflows/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index f0de34d61fe3..f294aab48334 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -43,7 +43,7 @@ jobs: - name: make run: vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" - name: make install - run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install" + run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd restart" - name: make tests` run: vmrun "cd /usr/src/regress/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" env: From dbd3b833f6e3815e58f2dc6e14f61a51bcd4d6bd Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 19 Jun 2024 10:08:34 +0000 Subject: [PATCH 141/172] upstream: Rework dropbear key setup to always generate ed25519 keys, other types only if OpenSSH has support for the corresponding key type. OpenBSD-Regress-ID: 8f91f12604cddb9f8d93aa34f3f93a3f6074395d --- regress/test-exec.sh | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 2f6c1486c382..074f6dd96186 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.117 2024/06/18 08:11:48 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.118 2024/06/19 10:08:34 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -845,20 +845,28 @@ esac if test "$REGRESS_INTEROP_DROPBEAR" = "yes" ; then trace Create dropbear keys and add to authorized_keys - kt="rsa ecdsa ed25519" - if $SSH -Q key-plain | grep ssh-dss >/dev/null; then + kt="ed25519" + if $SSH -Q key-plain | grep '^ssh-dss$' >/dev/null; then kt="$kt dss" fi + if $SSH -Q key-plain | grep '^ssh-rsa$' >/dev/null; then + kt="$kt rsa" + fi + if $SSH -Q key-plain | grep '^ecdsa-sha2' >/dev/null; then + kt="$kt ecdsa" + fi mkdir -p $OBJ/.dropbear - for i in rsa ecdsa ed25519; do + for i in $kt; do if [ ! -f "$OBJ/.dropbear/id_$i" ]; then - ($DROPBEARKEY -t $i -f $OBJ/.dropbear/id_$i - $DROPBEARCONVERT dropbear openssh \ - $OBJ/.dropbear/id_$i $OBJ/.dropbear/ossh.id_$i - ) > /dev/null 2>&1 + verbose Create dropbear key type $i + $DROPBEARKEY -t $i -f $OBJ/.dropbear/id_$i \ + >/dev/null 2>&1 fi + $DROPBEARCONVERT dropbear openssh $OBJ/.dropbear/id_$i \ + $OBJ/.dropbear/ossh.id_$i >/dev/null 2>&1 $SSHKEYGEN -y -f $OBJ/.dropbear/ossh.id_$i \ >>$OBJ/authorized_keys_$USER + rm -f $OBJ/.dropbear/id_$i.pub $OBJ/.dropbear/ossh.id_$i done fi From 5521060e35ada9f957cecdddc06d0524e75409ef Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 19 Jun 2024 10:10:46 +0000 Subject: [PATCH 142/172] upstream: Use ed25519 keys for kex tests since that's supported by OpenSSH even when built without OpenSSL. Only test diffie-hellman kex if OpenSSH is compiled with support for it. OpenBSD-Regress-ID: a5d09ef9bbd171f9e4ec73ed0d9eeb49a8878e97 --- regress/dropbear-kex.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/regress/dropbear-kex.sh b/regress/dropbear-kex.sh index 092a26ff29e3..d9f1b32c09d4 100644 --- a/regress/dropbear-kex.sh +++ b/regress/dropbear-kex.sh @@ -1,4 +1,4 @@ -# $OpenBSD: dropbear-kex.sh,v 1.2 2024/06/18 06:14:27 anton Exp $ +# $OpenBSD: dropbear-kex.sh,v 1.3 2024/06/19 10:10:46 dtucker Exp $ # Placed in the Public Domain. tid="dropbear kex" @@ -7,21 +7,19 @@ if test "x$REGRESS_INTEROP_DROPBEAR" != "xyes" ; then skip "dropbear interop tests not enabled" fi -cat >>$OBJ/sshd_proxy <$OBJ/sshd_proxy - env HOME=$OBJ dbclient -y -i $OBJ/.dropbear/id_rsa 2>$OBJ/dbclient.log \ + env HOME=$OBJ dbclient -y -i $OBJ/.dropbear/id_ed25519 2>$OBJ/dbclient.log \ -J "$OBJ/ssh_proxy.sh" somehost cat ${DATA} > ${COPY} if [ $? -ne 0 ]; then fail "ssh cat $DATA failed" From fad34b4ca25c0ef31e5aa841d461b6f21da5b8c1 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 19 Jun 2024 10:15:51 +0000 Subject: [PATCH 143/172] upstream: Provide defaults for ciphers and macs if querying for them fails since on some versions of Dropbear (at least v2024.85) "-m help" doesn't seem to work. Enable all supported pubkey algorithms in the server. OpenBSD-Regress-ID: 4f95556a49ee9f621789f25217c367a33d2745ca --- regress/dropbear-ciphers.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/regress/dropbear-ciphers.sh b/regress/dropbear-ciphers.sh index 2e0f9a1d337f..7b0924ce7a0b 100644 --- a/regress/dropbear-ciphers.sh +++ b/regress/dropbear-ciphers.sh @@ -1,4 +1,4 @@ -# $OpenBSD: dropbear-ciphers.sh,v 1.1 2023/10/20 06:56:45 dtucker Exp $ +# $OpenBSD: dropbear-ciphers.sh,v 1.2 2024/06/19 10:15:51 dtucker Exp $ # Placed in the Public Domain. tid="dropbear ciphers" @@ -7,13 +7,23 @@ if test "x$REGRESS_INTEROP_DROPBEAR" != "xyes" ; then skip "dropbear interop tests not enabled" fi +# Enable all support algorithms +algs=`$SSH -Q key-sig | tr '\n' ,` cat >>$OBJ/sshd_proxy <&1 | awk '/ ciphers: /{print $4}' | tr ',' ' '` +if [ -z "$ciphers" ]; then + trace dbclient query ciphers failed, making assumptions. + ciphers="chacha20-poly1305@openssh.com aes128-ctr aes256-ctr" +fi macs=`$DBCLIENT -m help 2>&1 | awk '/ MACs: /{print $4}' | tr ',' ' '` +if [ -z "$macs" ]; then + trace dbclient query macs failed, making assumptions. + macs="hmac-sha1 hmac-sha2-256" +fi keytype=`(cd $OBJ/.dropbear && ls id_*)` for c in $ciphers ; do From d5f83cfd852b14a25f347f082ab539a9454702ad Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 19 Jun 2024 21:04:01 +1000 Subject: [PATCH 144/172] Need to supply "-f" to restart sshd. --- .github/workflows/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index f294aab48334..ea3684c54015 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -43,7 +43,7 @@ jobs: - name: make run: vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" - name: make install - run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd restart" + run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd restart -f" - name: make tests` run: vmrun "cd /usr/src/regress/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" env: From 7089b5f8436ef0b8d3d3ad9ce01045fb9e7aab15 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 19 Jun 2024 23:09:05 +1000 Subject: [PATCH 145/172] Move -f to the place needed to restart sshd. --- .github/workflows/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index ea3684c54015..2ebdcf594cd3 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -43,7 +43,7 @@ jobs: - name: make run: vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" - name: make install - run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd restart -f" + run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd -f restart" - name: make tests` run: vmrun "cd /usr/src/regress/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" env: From 579d9adb70ec0206a788eb5c63804c31a67e9310 Mon Sep 17 00:00:00 2001 From: "naddy@openbsd.org" Date: Mon, 17 Jun 2024 13:50:18 +0000 Subject: [PATCH 146/172] upstream: remove one more mention of DSA OpenBSD-Commit-ID: 8515f55a15f02836ba657df341415f63c60526ca --- ssh-keygen.1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 836c450e6560..df6803fd9351 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.231 2024/06/17 08:30:29 djm Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.232 2024/06/17 13:50:18 naddy Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -295,7 +295,6 @@ Show the bubblebabble digest of specified private or public key file. Specifies the number of bits in the key to create. For RSA keys, the minimum size is 1024 bits and the default is 3072 bits. Generally, 3072 bits is considered sufficient. -DSA keys must be exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys, the .Fl b flag determines the key length by selecting from one of three elliptic From d9336d344eb2a1e898c5e66147b3f108c7214694 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 19 Jun 2024 23:24:47 +0000 Subject: [PATCH 147/172] upstream: put back reaping of preauth child process when writes from the monitor fail. Not sure how this got lost in the avalanche of patches. OpenBSD-Commit-ID: eb7eb36371e1ac01050b32b70fb2b3e5d98e72f5 --- monitor_wrap.c | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index d88c33d1f1cc..5358c77a1133 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.135 2024/06/11 02:54:51 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.136 2024/06/19 23:24:47 djm Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -121,24 +121,6 @@ mm_is_monitor(void) return (pmonitor && pmonitor->m_pid > 0); } -void -mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) -{ - size_t mlen = sshbuf_len(m); - u_char buf[5]; - - debug3_f("entering, type %d", type); - - if (mlen >= 0xffffffff) - fatal_f("bad length %zu", mlen); - POKE_U32(buf, mlen + 1); - buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ - if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) - fatal_f("write: %s", strerror(errno)); - if (atomicio(vwrite, sock, sshbuf_mutable_ptr(m), mlen) != mlen) - fatal_f("write: %s", strerror(errno)); -} - static void mm_reap(void) { @@ -170,6 +152,29 @@ mm_reap(void) } } +void +mm_request_send(int sock, enum monitor_reqtype type, struct sshbuf *m) +{ + size_t mlen = sshbuf_len(m); + u_char buf[5]; + + debug3_f("entering, type %d", type); + + if (mlen >= 0xffffffff) + fatal_f("bad length %zu", mlen); + POKE_U32(buf, mlen + 1); + buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ + if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf) || + atomicio(vwrite, sock, sshbuf_mutable_ptr(m), mlen) != mlen) { + if (errno == EPIPE) { + debug3_f("monitor fd closed"); + mm_reap(); + cleanup_exit(255); + } + fatal_f("write: %s", strerror(errno)); + } +} + void mm_request_receive(int sock, struct sshbuf *m) { From e9b6471c59b21e5d9ef1b3832d4bf727338add85 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 20 Jun 2024 00:18:05 +0000 Subject: [PATCH 148/172] upstream: stricter check for overfull tables in penalty record path OpenBSD-Commit-ID: 7df01e648a0723418c554e64a9f2b6d38db060a6 --- srclimit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srclimit.c b/srclimit.c index 837e82606e11..3dbdbf675262 100644 --- a/srclimit.c +++ b/srclimit.c @@ -405,7 +405,7 @@ srclimit_penalise(struct xaddr *addr, int penalty_type) penalty_cfg.overflow_mode : penalty_cfg.overflow_mode6; npenaltiesp = addr->af == AF_INET ? &npenalties4 : &npenalties6; t = addr->af == AF_INET ? "ipv4" : "ipv6"; - if (*npenaltiesp > (size_t)max_sources && + if (*npenaltiesp >= (size_t)max_sources && overflow_mode == PER_SOURCE_PENALTY_OVERFLOW_DENY_ALL) { verbose_f("%s penalty table full, cannot penalise %s for %s", t, addrnetmask, reason); From 8de2c8cebc46bbdb94b7a2c120fcadfb66a3cccc Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 20 Jun 2024 08:18:34 +0000 Subject: [PATCH 149/172] upstream: Remove dropbear key types not supported by current OpenSSH. Allows subsequent test runs to work if OpenSSH is rebuilt w/out OpenSSL. OpenBSD-Regress-ID: e0129eb2b1d31771105903a8055216fbba20a770 --- regress/test-exec.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 074f6dd96186..7afc2807299c 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.118 2024/06/19 10:08:34 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.119 2024/06/20 08:18:34 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -845,17 +845,15 @@ esac if test "$REGRESS_INTEROP_DROPBEAR" = "yes" ; then trace Create dropbear keys and add to authorized_keys - kt="ed25519" - if $SSH -Q key-plain | grep '^ssh-dss$' >/dev/null; then - kt="$kt dss" - fi - if $SSH -Q key-plain | grep '^ssh-rsa$' >/dev/null; then - kt="$kt rsa" - fi - if $SSH -Q key-plain | grep '^ecdsa-sha2' >/dev/null; then - kt="$kt ecdsa" - fi mkdir -p $OBJ/.dropbear + kt="ed25519" + for i in dss rsa ecdsa; do + if $SSH -Q key-plain | grep "$i" >/dev/null; then + kt="$kt $i" + else + rm -f "$OBJ/.dropbear/id_$i" + fi + done for i in $kt; do if [ ! -f "$OBJ/.dropbear/id_$i" ]; then verbose Create dropbear key type $i From dbbf9337c19381786a8e5a8a49152fe6b80c780d Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 20 Jun 2024 08:23:18 +0000 Subject: [PATCH 150/172] upstream: Work around dbclient cipher/mac query bug. Unlike earlier versions, recent Dropbear (at least v2024.85) requires a host arg when querying supported ciphers and macs via "-c/-m help". Earlier versions accept but do not require it, so always provide it. If these queries fail, skip the test with a warning. OpenBSD-Regress-ID: 98eb863a3f0363416922efb273885e6b3c7f68d4 --- regress/dropbear-ciphers.sh | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/regress/dropbear-ciphers.sh b/regress/dropbear-ciphers.sh index 7b0924ce7a0b..1500fa0e725b 100644 --- a/regress/dropbear-ciphers.sh +++ b/regress/dropbear-ciphers.sh @@ -1,4 +1,4 @@ -# $OpenBSD: dropbear-ciphers.sh,v 1.2 2024/06/19 10:15:51 dtucker Exp $ +# $OpenBSD: dropbear-ciphers.sh,v 1.3 2024/06/20 08:23:18 dtucker Exp $ # Placed in the Public Domain. tid="dropbear ciphers" @@ -14,15 +14,10 @@ PubkeyAcceptedAlgorithms $algs HostkeyAlgorithms $algs EOD -ciphers=`$DBCLIENT -c help 2>&1 | awk '/ ciphers: /{print $4}' | tr ',' ' '` -if [ -z "$ciphers" ]; then - trace dbclient query ciphers failed, making assumptions. - ciphers="chacha20-poly1305@openssh.com aes128-ctr aes256-ctr" -fi -macs=`$DBCLIENT -m help 2>&1 | awk '/ MACs: /{print $4}' | tr ',' ' '` -if [ -z "$macs" ]; then - trace dbclient query macs failed, making assumptions. - macs="hmac-sha1 hmac-sha2-256" +ciphers=`$DBCLIENT -c help hst 2>&1 | awk '/ ciphers: /{print $4}' | tr ',' ' '` +macs=`$DBCLIENT -m help hst 2>&1 | awk '/ MACs: /{print $4}' | tr ',' ' '` +if [ -z "$macs" ] || [ -z "$ciphers" ]; then + skip "dbclient query ciphers '$ciphers' or macs '$macs' failed" fi keytype=`(cd $OBJ/.dropbear && ls id_*)` From 603193e32aef5db7d60c58066d5de89806e79312 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 20 Jun 2024 18:45:14 +1000 Subject: [PATCH 151/172] Rerun upstream tests on .sh file changes too. --- .github/workflows/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 2ebdcf594cd3..e25adb423917 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -3,7 +3,7 @@ name: Upstream self-hosted on: push: branches: [ master ] - paths: [ '**.c', '**.h', '.github/configs', '.github/workflows/upstream.yml' ] + paths: [ '**.c', '**.h', '**.sh', '.github/configs', '.github/workflows/upstream.yml' ] jobs: selfhosted: From 1839e3eb71a759aa795602c1e4196300f4ac2615 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 24 Jun 2024 04:05:11 +0000 Subject: [PATCH 152/172] upstream: mention SshdSessionPath option OpenBSD-Commit-ID: c29734d36c21003973b15c1c9965c35f36cef30c --- sshd_config.5 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index 6f41a0e09541..e3f474abec5e 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.363 2024/06/14 05:01:22 djm Exp $ -.Dd $Mdocdate: June 14 2024 $ +.\" $OpenBSD: sshd_config.5,v 1.364 2024/06/24 04:05:11 djm Exp $ +.Dd $Mdocdate: June 24 2024 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1831,6 +1831,13 @@ via .Cm AcceptEnv or .Cm PermitUserEnvironment . +.It Cm SshdSessionPath +overrides the default path to the +.Cm sshd-session +binaries that invoked to handle each connection. +The default is +.Pa /usr/libexec/sshd-session . +This option is intended for use by tests. .It Cm StreamLocalBindMask Sets the octal file creation mode mask .Pq umask From f23e9332c4c8df37465c4a4f38275ea98980ed7e Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Mon, 24 Jun 2024 06:59:39 +0000 Subject: [PATCH 153/172] upstream: - uppercase start of sentence - correct sentence grammar ok djm OpenBSD-Commit-ID: 1ec4b0fdb633a43667f2c8fff1d600bd647dde25 --- sshd_config.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index e3f474abec5e..1ab0f41d91d6 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.364 2024/06/24 04:05:11 djm Exp $ +.\" $OpenBSD: sshd_config.5,v 1.365 2024/06/24 06:59:39 jmc Exp $ .Dd $Mdocdate: June 24 2024 $ .Dt SSHD_CONFIG 5 .Os @@ -1832,9 +1832,9 @@ via or .Cm PermitUserEnvironment . .It Cm SshdSessionPath -overrides the default path to the +Overrides the default path to the .Cm sshd-session -binaries that invoked to handle each connection. +binary that is invoked to handle each connection. The default is .Pa /usr/libexec/sshd-session . This option is intended for use by tests. From b8793e2b0851f7d71b97554fa5260b23796d6277 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Wed, 26 Jun 2024 23:14:14 +0000 Subject: [PATCH 154/172] upstream: save_errno wrappers inside two small signal handlers that perform system calls, for systems with libc that do perform libc sigtramps. ok djm markus OpenBSD-Commit-ID: 7749b56419a7c9dcfe4c6c04811e429813346c62 --- scp.c | 4 +++- sftp.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scp.c b/scp.c index 492dace1233b..0779c3c2b7c4 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.260 2023/10/11 05:42:08 djm Exp $ */ +/* $OpenBSD: scp.c,v 1.261 2024/06/26 23:14:14 deraadt Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -222,9 +222,11 @@ suspone(int pid, int signo) static void suspchild(int signo) { + int save_errno = errno; suspone(do_cmd_pid, signo); suspone(do_cmd_pid2, signo); kill(getpid(), SIGSTOP); + errno = save_errno; } static int diff --git a/sftp.c b/sftp.c index c080fba5d496..360c5004a2b5 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.238 2024/04/30 06:16:55 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.239 2024/06/26 23:14:14 deraadt Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -234,12 +234,14 @@ killchild(int signo) static void suspchild(int signo) { + int save_errno = errno; if (sshpid > 1) { kill(sshpid, signo); while (waitpid(sshpid, NULL, WUNTRACED) == -1 && errno == EINTR) continue; } kill(getpid(), SIGSTOP); + errno = save_errno; } static void From d6bcd13297c2ab8b528df5a6898f994734849031 Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Wed, 26 Jun 2024 23:16:52 +0000 Subject: [PATCH 155/172] upstream: Instead of using possibly complex ssh_signal(), write all the parts of the grace_alarm_handler() using the exact things allowed by the signal-safe rules. This is a good rule of thumb: Handlers should be written to either set a global volatile sig_atomic_t inspected from outside, and/or directly perform only safe operations listed in our sigaction(2) manual page. ok djm markus OpenBSD-Commit-ID: 14168ae8368aab76e4ed79e17a667cb46f404ecd --- sshd-session.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sshd-session.c b/sshd-session.c index 7ab1ea472b41..fe6ae7f326ee 100644 --- a/sshd-session.c +++ b/sshd-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd-session.c,v 1.3 2024/06/06 17:15:25 djm Exp $ */ +/* $OpenBSD: sshd-session.c,v 1.4 2024/06/26 23:16:52 deraadt Exp $ */ /* * SSH2 implementation: * Privilege Separation: @@ -197,6 +197,8 @@ static void do_ssh2_kex(struct ssh *); /* * Signal handler for the alarm after the login grace period has expired. + * As usual, this may only take signal-safe actions, even though it is + * terminal. */ static void grace_alarm_handler(int sig) @@ -206,7 +208,14 @@ grace_alarm_handler(int sig) * keys command helpers or privsep children. */ if (getpgid(0) == getpid()) { - ssh_signal(SIGTERM, SIG_IGN); + struct sigaction sa; + + /* mask all other signals while in handler */ + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = SIG_IGN; + sigfillset(&sa.sa_mask); + sa.sa_flags = SA_RESTART; + (void)sigaction(SIGTERM, &sa, NULL); kill(0, SIGTERM); } _exit(EXIT_LOGIN_GRACE); From 12b6cc09ce6c430681f03af2a8069e37a664690b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 26 Jun 2024 23:47:46 +0000 Subject: [PATCH 156/172] upstream: move child process waitpid() loop out of SIGCHLD handler; ok deraadt OpenBSD-Commit-ID: 65815a39564e431414aed7c5ace8076f4e9ca741 --- sshd.c | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/sshd.c b/sshd.c index f8fb69422988..3f085b83863b 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.607 2024/06/06 19:50:01 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.608 2024/06/26 23:47:46 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -423,9 +423,25 @@ static void child_reap_all_exited(void) { int i; + pid_t pid; + int status; if (children == NULL) return; + + for (;;) { + if ((pid = waitpid(-1, &status, WNOHANG)) == 0) + break; + else if (pid == -1) { + if (errno == EINTR || errno == EAGAIN) + continue; + if (errno != ECHILD) + error_f("waitpid: %s", strerror(errno)); + break; + } + child_exit(pid, status); + } + for (i = 0; i < options.max_startups; i++) { if (!children[i].have_status) continue; @@ -515,29 +531,10 @@ siginfo_handler(int sig) } #endif -/* - * SIGCHLD handler. This is called whenever a child dies. This will then - * reap any zombies left by exited children. - */ static void main_sigchld_handler(int sig) { - int save_errno = errno; - pid_t pid; - int status; - - for (;;) { - if ((pid = waitpid(-1, &status, WNOHANG)) == 0) - break; - else if (pid == -1) { - if (errno == EINTR) - continue; - break; - } - child_exit(pid, status); - received_sigchld = 1; - } - errno = save_errno; + received_sigchld = 1; } /* From 268c3a7f5783e731ed60f4e28da66ee3743581d3 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Thu, 27 Jun 2024 21:02:16 +0000 Subject: [PATCH 157/172] upstream: ssl(8) no longer contains a HISTORY section; OpenBSD-Commit-ID: 83b7ff34433d79595e9c2a5d2a561a6660251245 --- ssh.1 | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ssh.1 b/ssh.1 index 6b5bb0e077ac..f871ff4e46aa 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.441 2024/06/17 08:30:29 djm Exp $ -.Dd $Mdocdate: June 17 2024 $ +.\" $OpenBSD: ssh.1,v 1.442 2024/06/27 21:02:16 jmc Exp $ +.Dd $Mdocdate: June 27 2024 $ .Dt SSH 1 .Os .Sh NAME @@ -929,9 +929,6 @@ The server knows the public key, and only the user knows the private key. .Nm implements public key authentication protocol automatically, using one of the ECDSA, Ed25519 or RSA algorithms. -The HISTORY section of -.Xr ssl 8 -contains a brief discussion of the RSA and ECDSA algorithms. .Pp The file .Pa ~/.ssh/authorized_keys From 94b9d37100f6fa536aaa1d1a0e4926fe44fbf04d Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 27 Jun 2024 22:36:44 +0000 Subject: [PATCH 158/172] upstream: retire unused API OpenBSD-Commit-ID: 3e30d7b0615e2707f6bbe70f61b1c2f72f78161b --- log.c | 15 +-------------- log.h | 9 +-------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/log.c b/log.c index 9fc1a2e2eaf6..23ad10c0225d 100644 --- a/log.c +++ b/log.c @@ -1,4 +1,4 @@ -/* $OpenBSD: log.c,v 1.61 2023/12/06 21:06:48 djm Exp $ */ +/* $OpenBSD: log.c,v 1.62 2024/06/27 22:36:44 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -447,19 +447,6 @@ sshlogdie(const char *file, const char *func, int line, int showfunc, cleanup_exit(255); } -void -sshsigdie(const char *file, const char *func, int line, int showfunc, - LogLevel level, const char *suffix, const char *fmt, ...) -{ - va_list args; - - va_start(args, fmt); - sshlogv(file, func, line, showfunc, SYSLOG_LEVEL_FATAL, - suffix, fmt, args); - va_end(args); - _exit(1); -} - void sshlogv(const char *file, const char *func, int line, int showfunc, LogLevel level, const char *suffix, const char *fmt, va_list args) diff --git a/log.h b/log.h index 6218b4177a6f..8fe350b76d66 100644 --- a/log.h +++ b/log.h @@ -1,4 +1,4 @@ -/* $OpenBSD: log.h,v 1.33 2021/04/15 16:24:31 markus Exp $ */ +/* $OpenBSD: log.h,v 1.34 2024/06/27 22:36:44 djm Exp $ */ /* * Author: Tatu Ylonen @@ -72,9 +72,6 @@ void sshlog(const char *, const char *, int, int, __attribute__((format(printf, 7, 8))); void sshlogv(const char *, const char *, int, int, LogLevel, const char *, const char *, va_list); -void sshsigdie(const char *, const char *, int, int, - LogLevel, const char *, const char *, ...) __attribute__((noreturn)) - __attribute__((format(printf, 7, 8))); void sshlogdie(const char *, const char *, int, int, LogLevel, const char *, const char *, ...) __attribute__((noreturn)) __attribute__((format(printf, 7, 8))); @@ -93,7 +90,6 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error(...) sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) #define fatal(...) sshfatal(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_FATAL, NULL, __VA_ARGS__) #define logdie(...) sshlogdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) -#define sigdie(...) sshsigdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) /* Variants that prepend the caller's function */ #define do_log2_f(level, ...) sshlog(__FILE__, __func__, __LINE__, 1, level, NULL, __VA_ARGS__) @@ -105,7 +101,6 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error_f(...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) #define fatal_f(...) sshfatal(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_FATAL, NULL, __VA_ARGS__) #define logdie_f(...) sshlogdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) -#define sigdie_f(...) sshsigdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) /* Variants that appends a ssh_err message */ #define do_log2_r(r, level, ...) sshlog(__FILE__, __func__, __LINE__, 0, level, ssh_err(r), __VA_ARGS__) @@ -117,7 +112,6 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error_r(r, ...) sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #define fatal_r(r, ...) sshfatal(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_FATAL, ssh_err(r), __VA_ARGS__) #define logdie_r(r, ...) sshlogdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) -#define sigdie_r(r, ...) sshsigdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #define do_log2_fr(r, level, ...) sshlog(__FILE__, __func__, __LINE__, 1, level, ssh_err(r), __VA_ARGS__) #define debug3_fr(r, ...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_DEBUG3, ssh_err(r), __VA_ARGS__) #define debug2_fr(r, ...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_DEBUG2, ssh_err(r), __VA_ARGS__) @@ -127,6 +121,5 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error_fr(r, ...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #define fatal_fr(r, ...) sshfatal(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_FATAL, ssh_err(r), __VA_ARGS__) #define logdie_fr(r, ...) sshlogdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) -#define sigdie_fr(r, ...) sshsigdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #endif From c8cfe258cee0b8466ea84597bf15e1fcff3bc328 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 27 Jun 2024 23:01:15 +0000 Subject: [PATCH 159/172] upstream: delete obsolete comment OpenBSD-Commit-ID: 5fb04f298ed155053f3fbfdf0c6fe7cdf84bbfa2 --- sshd.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/sshd.c b/sshd.c index 3f085b83863b..ed54fc6d6c99 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.608 2024/06/26 23:47:46 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.609 2024/06/27 23:01:15 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -390,25 +390,7 @@ child_reap(struct early_child *child) break; } } - /* - * XXX would be nice to have more subtlety here. - * - Different penalties - * a) authentication failures without success (e.g. brute force) - * b) login grace exceeded (penalise DoS) - * c) monitor crash (penalise exploit attempt) - * d) unpriv preauth crash (penalise exploit attempt) - * - Unpriv auth exit status/WIFSIGNALLED is not available because - * the "mm_request_receive: monitor fd closed" fatal kills the - * monitor before waitpid() can occur. It would be good to use the - * unpriv exit status to detect crashes. - * - * For now, just penalise (a), (b) and (c), since that is what we have - * readily available. The authentication failures detection cannot - * discern between failed authentication and other connection problems - * until we have the unpriv exist status plumbed through (and the unpriv - * child modified to use a different exit status when auth has been - * attempted), but it's a start. - */ + if (child->have_addr) srclimit_penalise(&child->addr, penalty_type); From 032af05556ae5f2c345c45135100edf5066f2b7b Mon Sep 17 00:00:00 2001 From: Josh Klar Date: Fri, 28 Jun 2024 17:31:46 -0700 Subject: [PATCH 160/172] cipher: Restore DisableMTAES capability to resolve FIPS SIGSEGV. --- readconf.c | 9 +++++++++ readconf.h | 1 + servconf.c | 9 +++++++++ servconf.h | 1 + session.c | 6 ++++-- ssh.c | 6 ++++-- 6 files changed, 28 insertions(+), 4 deletions(-) diff --git a/readconf.c b/readconf.c index 1c736001bd73..4ca8d4ac527e 100644 --- a/readconf.c +++ b/readconf.c @@ -172,6 +172,7 @@ typedef enum { oLocalCommand, oPermitLocalCommand, oRemoteCommand, oTcpRcvBufPoll, oHPNDisabled, oNoneEnabled, oNoneMacEnabled, oNoneSwitch, + oDisableMTAES, oMetrics, oMetricsPath, oMetricsInterval, oFallback, oFallbackPort, oVisualHostKey, oKexAlgorithms, oIPQoS, oRequestTTY, oSessionType, oStdinNull, @@ -310,6 +311,7 @@ static struct { { "noneenabled", oNoneEnabled }, { "nonemacenabled", oNoneMacEnabled }, { "noneswitch", oNoneSwitch }, + { "disablemtaes", oDisableMTAES }, { "metrics", oMetrics }, { "metricspath", oMetricsPath }, { "metricsinterval", oMetricsInterval }, @@ -1269,6 +1271,10 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host, intptr = &options->nonemac_enabled; goto parse_flag; + case oDisableMTAES: + intptr = &options->disable_multithreaded; + goto parse_flag; + case oMetrics: intptr = &options->metrics; goto parse_flag; @@ -2692,6 +2698,7 @@ initialize_options(Options * options) options->none_switch = -1; options->none_enabled = -1; options->nonemac_enabled = -1; + options->disable_multithreaded = -1; options->metrics = -1; options->metrics_path = NULL; options->metrics_interval = -1; @@ -2891,6 +2898,8 @@ fill_default_options(Options * options) fprintf(stderr, "None MAC can only be used with the None cipher. None MAC disabled.\n"); options->nonemac_enabled = 0; } + if (options->disable_multithreaded == -1) + options->disable_multithreaded = 0; if (options->metrics == -1) options->metrics = 0; if (options->metrics_interval == -1) diff --git a/readconf.h b/readconf.h index ba561c130d4f..969014a4ce9b 100644 --- a/readconf.h +++ b/readconf.h @@ -125,6 +125,7 @@ typedef struct { int none_switch; /* Use none cipher */ int none_enabled; /* Allow none to be used */ int nonemac_enabled; /* Allow none to be used */ + int disable_multithreaded; /* Disable multithreaded aes-ctr */ int metrics; /* enable metrics */ int metrics_interval; /* time in seconds between polls */ char *metrics_path; /* path for the metrics files */ diff --git a/servconf.c b/servconf.c index d2727ff729e0..5cd80c58d67a 100644 --- a/servconf.c +++ b/servconf.c @@ -192,6 +192,7 @@ initialize_server_options(ServerOptions *options) options->hpn_disabled = -1; options->none_enabled = -1; options->nonemac_enabled = -1; + options->disable_multithreaded = -1; options->ip_qos_interactive = -1; options->ip_qos_bulk = -1; options->version_addendum = NULL; @@ -438,6 +439,8 @@ fill_default_server_options(ServerOptions *options) debug ("Attempted to enabled None MAC without setting None Enabled to true. None MAC disabled."); options->nonemac_enabled = 0; } + if (options->disable_multithreaded == -1) + options->disable_multithreaded = 0; if (options->hpn_disabled == -1) options->hpn_disabled = 0; if (options->ip_qos_interactive == -1) @@ -522,6 +525,7 @@ typedef enum { sKbdInteractiveAuthentication, sListenAddress, sAddressFamily, sPrintMotd, sPrintLastLog, sIgnoreRhosts, sNoneEnabled, sNoneMacEnabled, sTcpRcvBufPoll, sHPNDisabled, + sDisableMTAES, sX11Forwarding, sX11DisplayOffset, sX11UseLocalhost, sPermitTTY, sStrictModes, sEmptyPasswd, sTCPKeepAlive, sPermitUserEnvironment, sAllowTcpForwarding, sCompression, @@ -692,6 +696,7 @@ static struct { { "tcprcvbufpoll", sTcpRcvBufPoll, SSHCFG_ALL }, { "noneenabled", sNoneEnabled, SSHCFG_ALL }, { "nonemacenabled", sNoneMacEnabled, SSHCFG_ALL }, + { "disableMTAES", sDisableMTAES, SSHCFG_ALL }, { "kexalgorithms", sKexAlgorithms, SSHCFG_GLOBAL }, { "include", sInclude, SSHCFG_ALL }, { "ipqos", sIPQoS, SSHCFG_ALL }, @@ -1571,6 +1576,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, intptr = &options->nonemac_enabled; goto parse_flag; + case sDisableMTAES: + intptr = &options->disable_multithreaded; + goto parse_flag; + case sHostbasedAuthentication: intptr = &options->hostbased_authentication; goto parse_flag; diff --git a/servconf.h b/servconf.h index 802fdf236145..1f7056f9a99d 100644 --- a/servconf.h +++ b/servconf.h @@ -202,6 +202,7 @@ typedef struct { int hpn_disabled; /* disable hpn functionality. false by default */ int none_enabled; /* Enable NONE cipher switch */ int nonemac_enabled; /* Enable NONE MAC switch */ + int disable_multithreaded; /* Disable multithreaded aes-ctr cipher */ int permit_tun; diff --git a/session.c b/session.c index a48a1f474471..031bb20b7990 100644 --- a/session.c +++ b/session.c @@ -547,7 +547,8 @@ do_exec_no_pty(struct ssh *ssh, Session *s, const char *command) s->is_subsystem, 0); #endif /* switch to the parallel ciphers if necessary */ - cipher_switch(ssh); + if (options.disable_multithreaded == 0) + cipher_switch(ssh); return 0; } @@ -651,7 +652,8 @@ do_exec_pty(struct ssh *ssh, Session *s, const char *command) options.ip_qos_interactive, options.ip_qos_bulk); session_set_fds(ssh, s, ptyfd, fdout, -1, 1, 1); /* switch to the parallel cipher if appropriate */ - cipher_switch(ssh); + if (options.disable_multithreaded == 0) + cipher_switch(ssh); return 0; } diff --git a/ssh.c b/ssh.c index 20d7fcfdc446..dbafb6c26c3e 100644 --- a/ssh.c +++ b/ssh.c @@ -1887,7 +1887,8 @@ fork_postauth(struct ssh *ssh) error_f("stdfd_devnull failed"); /* we do the cipher switch here in the event that the client is forking or has a delayed fork */ - cipher_switch(ssh); + if (options.disable_multithreaded == 0) + cipher_switch(ssh); } static void @@ -2365,7 +2366,8 @@ ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo) * one of our parallel versions. If the client is * forking then we handle it in fork_postauth() */ - cipher_switch(ssh); + if (options.disable_multithreaded == 0) + cipher_switch(ssh); } return client_loop(ssh, tty_flag, tty_flag ? options.escape_char : SSH_ESCAPECHAR_NONE, id); From 637e4dfea4ed81264e264b6200172ce319c64ead Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 1 Jul 2024 03:10:19 +0000 Subject: [PATCH 161/172] upstream: use "lcd" to change directory before "lls" rather then "cd", since the directory we're trying to list is local. Spotted by Corinna Vinschen OpenBSD-Regress-ID: 821feca4a4bebe491944e624c8f7f2990b891415 --- regress/sftp-cmds.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regress/sftp-cmds.sh b/regress/sftp-cmds.sh index 9b08bde58a7c..56404713a9fd 100644 --- a/regress/sftp-cmds.sh +++ b/regress/sftp-cmds.sh @@ -1,4 +1,4 @@ -# $OpenBSD: sftp-cmds.sh,v 1.19 2024/03/29 10:40:07 dtucker Exp $ +# $OpenBSD: sftp-cmds.sh,v 1.20 2024/07/01 03:10:19 djm Exp $ # Placed in the Public Domain. # XXX - TODO: @@ -28,7 +28,7 @@ rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 mkdir ${COPY}.dd verbose "$tid: lls" -printf "cd ${OBJ}\nlls\n" | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ +printf "lcd ${OBJ}\nlls\n" | ${SFTP} -D ${SFTPSERVER} 2>&1 | \ grep copy.dd >/dev/null || fail "lls failed" verbose "$tid: lls w/path" From 146c420d29d055cc75c8606327a1cf8439fe3a08 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 1 Jul 2024 04:31:17 +0000 Subject: [PATCH 162/172] upstream: when sending ObscureKeystrokeTiming chaff packets, we can't rely on channel_did_enqueue to tell that there is data to send. This flag indicates that the channels code enqueued a packet on _this_ ppoll() iteration, not that data was enqueued in _any_ ppoll() iteration in the timeslice. ok markus@ OpenBSD-Commit-ID: 009b74fd2769b36b5284a0188ade182f00564136 --- clientloop.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/clientloop.c b/clientloop.c index 0b6f3c9be02a..8ed8b1c3449d 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.407 2024/05/17 06:42:04 jsg Exp $ */ +/* $OpenBSD: clientloop.c,v 1.408 2024/07/01 04:31:17 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -607,8 +607,9 @@ obfuscate_keystroke_timing(struct ssh *ssh, struct timespec *timeout, if (timespeccmp(&now, &chaff_until, >=)) { /* Stop if there have been no keystrokes for a while */ stop_reason = "chaff time expired"; - } else if (timespeccmp(&now, &next_interval, >=)) { - /* Otherwise if we were due to send, then send chaff */ + } else if (timespeccmp(&now, &next_interval, >=) && + !ssh_packet_have_data_to_write(ssh)) { + /* If due to send but have no data, then send chaff */ if (send_chaff(ssh)) nchaff++; } From bfebb8a5130a792c5356bd06e1ddef72a0a0449f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 1 Jul 2024 04:31:59 +0000 Subject: [PATCH 163/172] upstream: openssh-9.8 OpenBSD-Commit-ID: 5f8b89e38a4c5f7c6d52ffa19f796d49f36fab19 --- version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.h b/version.h index 052a5817be23..81b7645a728a 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ -/* $OpenBSD: version.h,v 1.101 2024/03/11 04:59:47 djm Exp $ */ +/* $OpenBSD: version.h,v 1.102 2024/07/01 04:31:59 djm Exp $ */ -#define SSH_VERSION "OpenSSH_9.7" +#define SSH_VERSION "OpenSSH_9.8" #define SSH_PORTABLE "p1" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE From fa41f6592ff1b6ead4a652ac75af31eabb05b912 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 1 Jul 2024 14:33:26 +1000 Subject: [PATCH 164/172] version numbers --- README | 2 +- contrib/redhat/openssh.spec | 2 +- contrib/suse/openssh.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README b/README index 89981ef6f435..2388ebbfba18 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -See https://www.openssh.com/releasenotes.html#9.7p1 for the release +See https://www.openssh.com/releasenotes.html#9.8p1 for the release notes. Please read https://www.openssh.com/report.html for bug reporting diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index b8d429da39aa..8893f3ad3bce 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec @@ -1,4 +1,4 @@ -%global ver 9.7p1 +%global ver 9.8p1 %global rel 1%{?dist} # OpenSSH privilege separation requires a user & group ID diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index 06c2c2c35567..45815c9d60c1 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec @@ -13,7 +13,7 @@ Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation Name: openssh -Version: 9.7p1 +Version: 9.8p1 URL: https://www.openssh.com/ Release: 1 Source0: openssh-%{version}.tar.gz From 9aefbefab71e4802c5a61abe2a5b99fc44fd6cfb Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Mon, 1 Jul 2024 14:05:14 -0400 Subject: [PATCH 165/172] Update c-cpp workflow for github regression tests. I had been using Ubuntu 24.04 as the target platform for everything however, that release doesn't have access to a number of the clang and gcc versions we are testing so I had to roll those back. This may require more tuning. --- .github/workflows/c-cpp.yml | 47 ++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 9210bad79254..8b7e40726356 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,7 +19,9 @@ jobs: target: - ubuntu-20.04 - ubuntu-22.04 - - macos-12 + - ubuntu-24.04 + - macos-11 + - macos-12 - macos-13 - macos-14 - windows-2019 @@ -27,6 +29,8 @@ jobs: config: [default] # Then we include any extra configs we want to test for specific VMs. include: + - { target: windows-2019, config: cygwin-release } + - { target: windows-2022, config: cygwin-release } - { target: ubuntu-22.04, config: valgrind-1 } - { target: ubuntu-22.04, config: valgrind-2 } - { target: ubuntu-22.04, config: valgrind-3 } @@ -34,17 +38,22 @@ jobs: # - { target: ubuntu-22.04, config: valgrind-5 } - { target: ubuntu-22.04, config: valgrind-6 } - { target: ubuntu-22.04, config: valgrind-7 } + - { target: ubuntu-22.04, config: valgrind-unit } # binn.c no longer works with c89 so remove this test. # - { target: ubuntu-22.04, config: c89 } - { target: ubuntu-22.04, config: clang-6.0 } - - { target: ubuntu-22.04, config: clang-8 } - - { target: ubuntu-22.04, config: clang-9 } - - { target: ubuntu-22.04, config: clang-10 } - - { target: ubuntu-22.04, config: clang-11 } - - { target: ubuntu-22.04, config: clang-12-Werror } - - { target: ubuntu-22.04, config: gcc-7 } - - { target: ubuntu-22.04, config: gcc-8 } - - { target: ubuntu-22.04, config: gcc-10 } + - { target: ubuntu-20.04, config: clang-8 } + - { target: ubuntu-20.04, config: clang-9 } + - { target: ubuntu-20.04, config: clang-10 } + - { target: ubuntu-20.04, config: clang-11 } + - { target: ubuntu-20.04, config: clang-12-Werror } + - { target: ubuntu-20.04, config: clang-sanitize-address } + - { target: ubuntu-20.04, config: clang-sanitize-undefined } + - { target: ubuntu-20.04, config: gcc-sanitize-address } + - { target: ubuntu-20.04, config: gcc-sanitize-undefined } + - { target: ubuntu-20.04, config: gcc-7 } + - { target: ubuntu-20.04, config: gcc-8 } + - { target: ubuntu-20.04, config: gcc-10 } - { target: ubuntu-22.04, config: gcc-11-Werror } - { target: ubuntu-22.04, config: gcc-12-Werror } - { target: ubuntu-22.04, config: pam } @@ -85,18 +94,14 @@ jobs: - { target: ubuntu-latest, config: putty-0.80 } - { target: ubuntu-latest, config: putty-snapshot } - { target: ubuntu-latest, config: zlib-develop } - - { target: ubuntu-24.04, config: pam } - - { target: ubuntu-24.04, config: krb5 } - - { target: ubuntu-24.04, config: heimdal } - - { target: ubuntu-24.04, config: libedit } - - { target: ubuntu-24.04, config: sk } - - { target: ubuntu-24.04, config: selinux } - - { target: ubuntu-24.04, config: kitchensink } - - { target: ubuntu-24.04, config: without-openssl } - - { target: ubuntu-24.04, config: clang-sanitize-address } - - { target: ubuntu-24.04, config: clang-sanitize-undefined } - - { target: ubuntu-24.04, config: gcc-sanitize-address } - - { target: ubuntu-24.04, config: gcc-sanitize-undefined } + - { target: ubuntu-22.04, config: pam } + - { target: ubuntu-22.04, config: krb5 } + - { target: ubuntu-22.04, config: heimdal } + - { target: ubuntu-22.04, config: libedit } + - { target: ubuntu-22.04, config: sk } + - { target: ubuntu-22.04, config: selinux } + - { target: ubuntu-22.04, config: kitchensink } + - { target: ubuntu-22.04, config: without-openssl } # we know pam doesn't work because we can't install a new pam file # for hpnssh via the CI test methods # - { target: macos-12, config: pam } From 47fd3fb2244ad16c15f8c50f18e45c364c32f32b Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Mon, 1 Jul 2024 14:08:19 -0400 Subject: [PATCH 166/172] Error in workflow file. Trying to use ubuntu-24.04 as a target but that might be throwing an error. This is a test to see if removing that fixes the issue --- .github/workflows/c-cpp.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 8b7e40726356..2b03a8f252bc 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -18,8 +18,7 @@ jobs: # First we test all OSes in the default configuration. target: - ubuntu-20.04 - - ubuntu-22.04 - - ubuntu-24.04 + - ubuntu-22.04 - macos-11 - macos-12 - macos-13 From b664c446cfa8fdcc105a9dc1e144cd47347d30bb Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Mon, 1 Jul 2024 14:10:59 -0400 Subject: [PATCH 167/172] Error in workflow file. That didn't work. Trying to convert tabs to spaces now. --- .github/workflows/c-cpp.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 2b03a8f252bc..85f458599946 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -18,9 +18,10 @@ jobs: # First we test all OSes in the default configuration. target: - ubuntu-20.04 - - ubuntu-22.04 - - macos-11 - - macos-12 + - ubuntu-22.04 + - ubuntu-24.04 + - macos-11 + - macos-12 - macos-13 - macos-14 - windows-2019 From 9d60bf8bfd21b2373112d5a71adbc7ec83bca0d6 Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Mon, 1 Jul 2024 14:12:04 -0400 Subject: [PATCH 168/172] Error in workflow file. Tabs need to be spaces. --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 85f458599946..5d7e941f1831 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -29,7 +29,7 @@ jobs: config: [default] # Then we include any extra configs we want to test for specific VMs. include: - - { target: windows-2019, config: cygwin-release } + - { target: windows-2019, config: cygwin-release } - { target: windows-2022, config: cygwin-release } - { target: ubuntu-22.04, config: valgrind-1 } - { target: ubuntu-22.04, config: valgrind-2 } From 3fc03e9d4e302027457fe7dfed44674a2fbeca8d Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Mon, 1 Jul 2024 14:12:56 -0400 Subject: [PATCH 169/172] Error in workflow file. Missed a tab. --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 5d7e941f1831..511af7144c2d 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -38,7 +38,7 @@ jobs: # - { target: ubuntu-22.04, config: valgrind-5 } - { target: ubuntu-22.04, config: valgrind-6 } - { target: ubuntu-22.04, config: valgrind-7 } - - { target: ubuntu-22.04, config: valgrind-unit } + - { target: ubuntu-22.04, config: valgrind-unit } # binn.c no longer works with c89 so remove this test. # - { target: ubuntu-22.04, config: c89 } - { target: ubuntu-22.04, config: clang-6.0 } From 6e97c21cee0828ebc528c3a8d081f8b47c3c862b Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Tue, 2 Jul 2024 12:10:51 -0400 Subject: [PATCH 170/172] More adjustments to CI tests --- .github/configs | 3 +++ .github/workflows/c-cpp.yml | 19 ++++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/configs b/.github/configs index b933c149bfde..e4245fa83ad0 100755 --- a/.github/configs +++ b/.github/configs @@ -322,6 +322,9 @@ case "${TARGET_HOST}" in # No sudo on Windows. SUDO="" ;; + windows*) + SUDO="" + ;; esac host=`./config.guess` diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 511af7144c2d..e689d5b7e67e 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -20,7 +20,6 @@ jobs: - ubuntu-20.04 - ubuntu-22.04 - ubuntu-24.04 - - macos-11 - macos-12 - macos-13 - macos-14 @@ -41,7 +40,7 @@ jobs: - { target: ubuntu-22.04, config: valgrind-unit } # binn.c no longer works with c89 so remove this test. # - { target: ubuntu-22.04, config: c89 } - - { target: ubuntu-22.04, config: clang-6.0 } + - { target: ubuntu-20.04, config: clang-6.0 } - { target: ubuntu-20.04, config: clang-8 } - { target: ubuntu-20.04, config: clang-9 } - { target: ubuntu-20.04, config: clang-10 } @@ -59,7 +58,13 @@ jobs: - { target: ubuntu-22.04, config: pam } - { target: ubuntu-22.04, config: kitchensink } - { target: ubuntu-22.04, config: hardenedmalloc } - - { target: ubuntu-22.04, config: tcmalloc } + - { target: ubuntu-20.04, config: tcmalloc } + - { target: ubuntu-22.04, config: krb5 } + - { target: ubuntu-22.04, config: heimdal } + - { target: ubuntu-22.04, config: libedit } + - { target: ubuntu-22.04, config: sk } + - { target: ubuntu-22.04, config: selinux } + - { target: ubuntu-22.04, config: without-openssl } # musl doesn't work because it doesn't know about linux/tcp.h # - { target: ubuntu-20.04, config: musl } - { target: ubuntu-latest, config: libressl-master } @@ -94,14 +99,6 @@ jobs: - { target: ubuntu-latest, config: putty-0.80 } - { target: ubuntu-latest, config: putty-snapshot } - { target: ubuntu-latest, config: zlib-develop } - - { target: ubuntu-22.04, config: pam } - - { target: ubuntu-22.04, config: krb5 } - - { target: ubuntu-22.04, config: heimdal } - - { target: ubuntu-22.04, config: libedit } - - { target: ubuntu-22.04, config: sk } - - { target: ubuntu-22.04, config: selinux } - - { target: ubuntu-22.04, config: kitchensink } - - { target: ubuntu-22.04, config: without-openssl } # we know pam doesn't work because we can't install a new pam file # for hpnssh via the CI test methods # - { target: macos-12, config: pam } From c171bdca46f82775119d65a53c2bde47113bad1e Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Fri, 9 Aug 2024 17:35:26 -0400 Subject: [PATCH 171/172] Cygwin Issues. There have been issues with cygwin/windows CI tests. I think I have identified the problem as missing steps in the workflow file. This also incorporates a minor change in the dependencies for cygwin. That was taken from openssh master. --- .github/setup_ci.sh | 2 +- .github/workflows/c-cpp.yml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh index f2191af4ed68..f6122e23cfcf 100755 --- a/.github/setup_ci.sh +++ b/.github/setup_ci.sh @@ -14,7 +14,7 @@ case "$host" in echo Removing extended ACLs so umask works as expected. setfacl -b . regress PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core" - PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel" + PACKAGES="$PACKAGES,make,openssl,libssl-devel,zlib-devel" ;; *-darwin*) PACKAGER=brew diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e689d5b7e67e..f27260c04697 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -106,6 +106,12 @@ jobs: # - { target: macos-14, config: pam } runs-on: ${{ matrix.target }} steps: + - name: set cygwin git params + if: ${{ startsWith(matrix.target, 'windows') }} + run: git config --global core.autocrlf input + - name: install cygwin + if: ${{ startsWith(matrix.target, 'windows') }} + uses: cygwin/cygwin-install-action@master - uses: actions/checkout@main - name: setup CI system run: sh ./.github/setup_ci.sh ${{ matrix.config }} From 4585f916c56f995b3f8bd5c46f32d017dd7cc18b Mon Sep 17 00:00:00 2001 From: Chris Rapier Date: Thu, 5 Sep 2024 11:24:48 -0400 Subject: [PATCH 172/172] Changed hyphen in version string to underscore. According to RFC 4253 the version string cannot include a hyphen or minus sign in the protoversion or softwareversion stanzas. So while you can use a hyphen between those stanzas you cannot include a hypen in the stanza. Since the hpn version is part of the softwareversion stanza we can't include a hypen. Chnaging it to an underscore is acceptable and won't break our compatability tests in compat.c See RFC 4253 Section 4.2. brought to our attention by Lapo Luchini via github issue #97 --- version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.h b/version.h index 72f7a03c3766..8122dab8fcc6 100644 --- a/version.h +++ b/version.h @@ -3,5 +3,5 @@ #define SSH_VERSION "OpenSSH_9.8" #define SSH_PORTABLE "p1" -#define SSH_HPN "-hpn18.5.0" +#define SSH_HPN "_hpn18.5.0" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE SSH_HPN