aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.depend316
-rw-r--r--.github/ci-status.md4
-rwxr-xr-x.github/configs54
-rwxr-xr-x.github/run_test.sh37
-rwxr-xr-x.github/setup_ci.sh46
-rw-r--r--.github/workflows/c-cpp.yml22
-rw-r--r--.github/workflows/selfhosted.yml59
-rw-r--r--.github/workflows/upstream.yml43
-rw-r--r--ChangeLog3949
-rw-r--r--INSTALL4
-rw-r--r--Makefile.in13
-rw-r--r--PROTOCOL21
-rw-r--r--PROTOCOL.certkeys35
-rw-r--r--PROTOCOL.key9
-rw-r--r--README2
-rw-r--r--README.md1
-rw-r--r--aclocal.m42
-rw-r--r--auth-options.c41
-rw-r--r--auth-options.h7
-rw-r--r--auth-pam.c1
-rw-r--r--auth.c36
-rw-r--r--auth2-hostbased.c4
-rw-r--r--auth2-kbdint.c4
-rw-r--r--auth2-pubkey.c11
-rw-r--r--channels.c70
-rw-r--r--channels.h17
-rw-r--r--clientloop.c38
-rw-r--r--compat.c4
-rw-r--r--compat.h4
-rw-r--r--config.h.in12
-rwxr-xr-xconfigure315
-rw-r--r--configure.ac156
-rw-r--r--contrib/redhat/openssh.spec2
-rw-r--r--contrib/suse/openssh.spec2
-rw-r--r--defines.h12
-rw-r--r--dns.c66
-rw-r--r--dns.h3
-rw-r--r--entropy.c123
-rw-r--r--hash.c2
-rw-r--r--hostfile.c2
-rw-r--r--kexdh.c2
-rw-r--r--krl.c8
-rw-r--r--log.c7
-rw-r--r--misc.c124
-rw-r--r--misc.h12
-rw-r--r--moduli895
-rw-r--r--monitor.c14
-rw-r--r--mux.c39
-rw-r--r--nchan.c8
-rw-r--r--openbsd-compat/Makefile.in2
-rw-r--r--openbsd-compat/arc4random.c12
-rw-r--r--openbsd-compat/bsd-misc.h6
-rw-r--r--openbsd-compat/bsd-pselect.c205
-rw-r--r--openbsd-compat/memmem.c2
-rw-r--r--openbsd-compat/openbsd-compat.h3
-rw-r--r--openbsd-compat/port-aix.c8
-rw-r--r--openbsd-compat/port-prngd.c164
-rw-r--r--openbsd-compat/regress/Makefile.in2
-rw-r--r--openbsd-compat/regress/closefromtest.c4
-rw-r--r--openbsd-compat/regress/opensslvertest.c2
-rw-r--r--openbsd-compat/regress/snprintftest.c2
-rw-r--r--openbsd-compat/regress/strduptest.c2
-rw-r--r--openbsd-compat/regress/strtonumtest.c2
-rw-r--r--openbsd-compat/regress/utimensattest.c2
-rw-r--r--openbsd-compat/setenv.c2
-rw-r--r--packet.c19
-rw-r--r--packet.h3
-rw-r--r--readconf.c478
-rw-r--r--readconf.h11
-rw-r--r--readpass.c8
-rw-r--r--regress/Makefile11
-rw-r--r--regress/agent-getpeereid.sh2
-rw-r--r--regress/agent-pkcs11.sh12
-rw-r--r--regress/allow-deny-users.sh8
-rw-r--r--regress/banner.sh6
-rw-r--r--regress/cert-hostkey.sh12
-rw-r--r--regress/cfginclude.sh24
-rw-r--r--regress/cfgmatch.sh8
-rw-r--r--regress/ed25519_openssh.prv7
-rw-r--r--regress/ed25519_openssh.pub1
-rw-r--r--regress/forward-control.sh6
-rw-r--r--regress/forwarding.sh8
-rw-r--r--regress/keygen-convert.sh60
-rw-r--r--regress/keygen-sshfp.sh29
-rw-r--r--regress/multipubkey.sh19
-rw-r--r--regress/percent.sh4
-rw-r--r--regress/reconfigure.sh24
-rw-r--r--regress/rekey.sh8
-rw-r--r--regress/scp-uri.sh81
-rw-r--r--regress/scp.sh187
-rw-r--r--regress/scp3.sh60
-rw-r--r--regress/servcfginclude.sh8
-rwxr-xr-xregress/ssh2putty.sh8
-rw-r--r--regress/sshcfgparse.sh15
-rw-r--r--regress/sshfp-connect.sh66
-rw-r--r--regress/sshsig.sh52
-rw-r--r--regress/test-exec.sh99
-rw-r--r--regress/unittests/authopt/tests.c6
-rw-r--r--regress/unittests/kex/test_kex.c2
-rw-r--r--regress/unittests/misc/test_argv.c104
-rw-r--r--regress/unittests/misc/test_convtime.c2
-rw-r--r--regress/unittests/misc/test_expand.c2
-rw-r--r--regress/unittests/misc/test_parse.c2
-rw-r--r--regress/unittests/misc/test_strdelim.c202
-rw-r--r--regress/unittests/misc/tests.c6
-rw-r--r--regress/unittests/sshsig/webauthn.html80
-rw-r--r--scp.045
-rw-r--r--scp.150
-rw-r--r--scp.c512
-rw-r--r--servconf.c630
-rw-r--r--servconf.h3
-rw-r--r--serverloop.c113
-rw-r--r--session.c5
-rw-r--r--sftp-client.c760
-rw-r--r--sftp-client.h37
-rw-r--r--sftp-server.020
-rw-r--r--sftp-server.812
-rw-r--r--sftp-server.c69
-rw-r--r--sftp.03
-rw-r--r--sftp.15
-rw-r--r--sftp.c30
-rw-r--r--sk-usbhid.c13
-rw-r--r--ssh-agent.13
-rw-r--r--ssh-keygen.039
-rw-r--r--ssh-keygen.130
-rw-r--r--ssh-keygen.c78
-rw-r--r--ssh-keysign.c2
-rw-r--r--ssh-pkcs11-helper.c6
-rw-r--r--ssh-pkcs11.c20
-rw-r--r--ssh.060
-rw-r--r--ssh.147
-rw-r--r--ssh.c130
-rw-r--r--ssh_config.062
-rw-r--r--ssh_config.5114
-rw-r--r--sshbuf-misc.c4
-rw-r--r--sshconnect.c13
-rw-r--r--sshconnect2.c31
-rw-r--r--sshd.051
-rw-r--r--sshd.853
-rw-r--r--sshd.c60
-rw-r--r--sshd_config10
-rw-r--r--sshd_config.033
-rw-r--r--sshd_config.543
-rw-r--r--sshkey.c52
-rw-r--r--sshkey.h4
-rw-r--r--sshsig.c110
-rw-r--r--sshsig.h6
-rw-r--r--version.h4
148 files changed, 8056 insertions, 4144 deletions
diff --git a/.depend b/.depend
index 78629a54c8ad..a94a82d0e6f7 100644
--- a/.depend
+++ b/.depend
@@ -2,182 +2,182 @@
# Run "make depend" to rebuild.
# DO NOT DELETE
-addr.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-addrmatch.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 match.h log.h ssherr.h
-atomicio.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-audit-bsm.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-audit-linux.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-audit.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-auth-bsdauth.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-auth-krb5.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h sshkey.h misc.h servconf.h uidswap.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
-auth-options.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ssherr.h log.h sshbuf.h misc.h sshkey.h match.h ssh2.h auth-options.h
-auth-pam.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-auth-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h ssherr.h log.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h
-auth-rhosts.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 uidswap.h pathnames.h log.h ssherr.h misc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
-auth-shadow.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-auth-sia.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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.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
+addrmatch.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 match.h log.h ssherr.h
+atomicio.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
+audit-bsm.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
+audit-linux.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
+audit.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
+auth-bsdauth.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
+auth-krb5.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 packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h sshkey.h misc.h servconf.h uidswap.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
+auth-options.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 ssherr.h log.h sshbuf.h misc.h sshkey.h match.h ssh2.h auth-options.h
+auth-pam.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
+auth-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 sshbuf.h ssherr.h log.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h
+auth-rhosts.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 uidswap.h pathnames.h log.h ssherr.h misc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
+auth-shadow.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
+auth-sia.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
auth.o: authfile.h monitor_wrap.h compat.h channels.h
-auth.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h
-auth2-chall.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h
-auth2-gss.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+auth.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 groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h
+auth2-chall.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 sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h
+auth2-gss.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
auth2-hostbased.o: canohost.h monitor_wrap.h pathnames.h match.h
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 compat.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+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 compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.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-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 compat.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
auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h
auth2.o: digest.h
-auth2.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h
-authfd.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h compat.h log.h ssherr.h atomicio.h misc.h
-authfile.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h
-bitmap.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 bitmap.h
-canohost.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 log.h ssherr.h canohost.h misc.h
-chacha.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 chacha.h
-channels.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ssherr.h sshbuf.h packet.h dispatch.h log.h misc.h channels.h compat.h canohost.h sshkey.h authfd.h pathnames.h match.h
-cipher-aes.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-cipher-aesctr.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 cipher-aesctr.h rijndael.h
-cipher-chachapoly-libcrypto.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-cipher-chachapoly.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h cipher-chachapoly.h chacha.h poly1305.h
-cipher-ctr.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-cipher.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h misc.h sshbuf.h ssherr.h digest.h openbsd-compat/openssl-compat.h
-cleanup.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-clientloop.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h
+auth2.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 ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h
+authfd.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 sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h compat.h log.h ssherr.h atomicio.h misc.h
+authfile.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 cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h
+bitmap.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 bitmap.h
+canohost.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 log.h ssherr.h canohost.h misc.h
+chacha.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 chacha.h
+channels.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 ssherr.h sshbuf.h packet.h dispatch.h log.h misc.h channels.h compat.h canohost.h sshkey.h authfd.h pathnames.h match.h
+cipher-aes.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
+cipher-aesctr.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 cipher-aesctr.h rijndael.h
+cipher-chachapoly-libcrypto.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
+cipher-chachapoly.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 sshbuf.h cipher-chachapoly.h chacha.h poly1305.h
+cipher-ctr.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
+cipher.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 cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h misc.h sshbuf.h ssherr.h digest.h openbsd-compat/openssl-compat.h
+cleanup.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
+clientloop.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 packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h
clientloop.o: myproposal.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h msg.h hostfile.h
-compat.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 compat.h log.h ssherr.h match.h kex.h mac.h crypto_api.h
-dh.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-digest-libc.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 digest.h
-digest-openssl.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-dispatch.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h compat.h
-dns.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h ssherr.h dns.h log.h digest.h
-ed25519.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ge25519.h fe25519.h sc25519.h
-entropy.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-fatal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-fe25519.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 fe25519.h crypto_api.h
-ge25519.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 fe25519.h crypto_api.h sc25519.h ge25519.h ge25519_base.data
-groupaccess.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 groupaccess.h match.h log.h ssherr.h
-gss-genr.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-gss-serv-krb5.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-gss-serv.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+compat.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 compat.h log.h ssherr.h match.h kex.h mac.h crypto_api.h
+dh.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
+digest-libc.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 digest.h
+digest-openssl.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
+dispatch.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 ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h compat.h
+dns.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 sshkey.h ssherr.h dns.h log.h digest.h
+ed25519.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 ge25519.h fe25519.h sc25519.h
+entropy.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
+fatal.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
+fe25519.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 fe25519.h crypto_api.h
+ge25519.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 fe25519.h crypto_api.h sc25519.h ge25519.h ge25519_base.data
+groupaccess.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 groupaccess.h match.h log.h ssherr.h
+gss-genr.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
+gss-serv-krb5.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
+gss-serv.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
+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.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 sshbuf.h digest.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-kexdh.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-kexecdh.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-kexgen.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 log.h ssherr.h packet.h openbsd-compat/sys-queue.h dispatch.h ssh2.h sshbuf.h digest.h
-kexgex.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-kexgexc.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-kexgexs.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-kexsntrup761x25519.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-krl.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h ssherr.h sshkey.h authfile.h misc.h log.h digest.h bitmap.h utf8.h krl.h
-log.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 match.h
-loginrec.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h hostfile.h ssh.h loginrec.h log.h ssherr.h atomicio.h packet.h openbsd-compat/sys-queue.h dispatch.h canohost.h auth.h auth-pam.h audit.h sshbuf.h
-logintest.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 loginrec.h
-mac.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 digest.h hmac.h umac.h mac.h misc.h ssherr.h sshbuf.h openbsd-compat/openssl-compat.h
-match.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 misc.h
-md5crypt.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 misc.h log.h ssherr.h ssh.h sshbuf.h
-moduli.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+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
+kexdh.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
+kexecdh.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
+kexgen.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 log.h ssherr.h packet.h openbsd-compat/sys-queue.h dispatch.h ssh2.h sshbuf.h digest.h
+kexgex.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
+kexgexc.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
+kexgexs.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
+kexsntrup761x25519.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
+krl.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 sshbuf.h ssherr.h sshkey.h authfile.h misc.h log.h digest.h bitmap.h utf8.h krl.h
+log.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 match.h
+loginrec.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 sshkey.h hostfile.h ssh.h loginrec.h log.h ssherr.h atomicio.h packet.h openbsd-compat/sys-queue.h dispatch.h canohost.h auth.h auth-pam.h audit.h sshbuf.h
+logintest.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 loginrec.h
+mac.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 digest.h hmac.h umac.h mac.h misc.h ssherr.h sshbuf.h openbsd-compat/openssl-compat.h
+match.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 misc.h
+md5crypt.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
+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 xmalloc.h misc.h log.h ssherr.h ssh.h sshbuf.h
+moduli.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
monitor.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h dh.h packet.h dispatch.h auth-options.h sshpty.h channels.h session.h sshlogin.h canohost.h log.h ssherr.h misc.h servconf.h monitor.h monitor_wrap.h monitor_fdpass.h compat.h ssh2.h authfd.h match.h sk-api.h
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+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
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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-platform.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
-poly1305.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 poly1305.h
-progressmeter.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 progressmeter.h atomicio.h misc.h utf8.h
-readconf.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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/glob.h xmalloc.h ssh.h ssherr.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.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-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
+platform.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 sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
+poly1305.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 poly1305.h
+progressmeter.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 progressmeter.h atomicio.h misc.h utf8.h
+readconf.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/glob.h xmalloc.h ssh.h ssherr.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h
readconf.o: uidswap.h myproposal.h digest.h
-readpass.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h
-rijndael.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 rijndael.h
-sandbox-capsicum.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-darwin.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-null.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-rlimit.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-seccomp-filter.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-solaris.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sandbox-systrace.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sc25519.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sc25519.h crypto_api.h
-scp.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h
-servconf.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h
+readpass.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 misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h
+rijndael.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 rijndael.h
+sandbox-capsicum.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
+sandbox-darwin.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
+sandbox-null.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
+sandbox-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
+sandbox-rlimit.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
+sandbox-seccomp-filter.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
+sandbox-solaris.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
+sandbox-systrace.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
+sc25519.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 sc25519.h crypto_api.h
+scp.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/glob.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp-common.h sftp-client.h
+servconf.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/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h
servconf.o: kex.h mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h
serverloop.o: cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h
-serverloop.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h compat.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h
+serverloop.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 packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h compat.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h
+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-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h
session.o: rijndael.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h
-sftp-client.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h
-sftp-common.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h
-sftp-glob.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h
-sftp-realpath.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sftp-server-main.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sftp.h misc.h xmalloc.h
-sftp-server.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h ssherr.h log.h misc.h match.h uidswap.h sftp.h sftp-common.h
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 compat.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-ecdsa-sk.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h ssherr.h digest.h sshkey.h
-ssh-ecdsa.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-ed25519-sk.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 log.h ssherr.h sshbuf.h sshkey.h ssh.h digest.h
-ssh-ed25519.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 log.h ssherr.h sshbuf.h sshkey.h ssh.h
+sftp-client.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 ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h
+sftp-common.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 ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h
+sftp-glob.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 sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h
+sftp-realpath.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
+sftp-server-main.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 sftp.h misc.h xmalloc.h
+sftp-server.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 sshbuf.h ssherr.h log.h misc.h match.h uidswap.h sftp.h sftp-common.h
+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
+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
+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
+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 compat.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.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
+ssh-ecdsa-sk.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 sshbuf.h ssherr.h digest.h sshkey.h
+ssh-ecdsa.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-ed25519-sk.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 log.h ssherr.h sshbuf.h sshkey.h ssh.h digest.h
+ssh-ed25519.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 log.h ssherr.h sshbuf.h sshkey.h ssh.h
ssh-keygen.o: cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h
-ssh-keygen.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h ssh-pkcs11.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h
-ssh-keyscan.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 compat.h myproposal.h packet.h dispatch.h log.h
+ssh-keygen.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 sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h ssh-pkcs11.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h
+ssh-keyscan.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 compat.h myproposal.h packet.h dispatch.h log.h
ssh-keyscan.o: ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h
-ssh-keysign.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h
-ssh-pkcs11-client.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-pkcs11-helper.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h
-ssh-pkcs11.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h
-ssh-rsa.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-sk-client.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshbuf.h sshkey.h msg.h digest.h pathnames.h ssh-sk.h misc.h
-ssh-sk-helper.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshkey.h authfd.h misc.h sshbuf.h msg.h uidswap.h ssh-sk.h
-ssh-sk.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-keysign.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 sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h
+ssh-pkcs11-client.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-pkcs11-helper.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 sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h
+ssh-pkcs11.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 sshkey.h
+ssh-rsa.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-sk-client.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 sshbuf.h sshkey.h msg.h digest.h pathnames.h ssh-sk.h misc.h
+ssh-sk-helper.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 sshkey.h authfd.h misc.h sshbuf.h msg.h uidswap.h ssh-sk.h
+ssh-sk.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-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: 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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+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
+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: 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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 compat.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
-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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
+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 compat.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
+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: myproposal.h 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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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: 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 myproposal.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
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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-sshlogin.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshlogin.h ssherr.h loginrec.h log.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h
-sshpty.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshpty.h log.h ssherr.h misc.h
-sshsig.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 authfd.h authfile.h log.h ssherr.h misc.h sshbuf.h sshsig.h sshkey.h match.h digest.h
-sshtty.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 sshpty.h
-ttymodes.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 log.h ssherr.h compat.h sshbuf.h ttymodes.h
-uidswap.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 uidswap.h xmalloc.h
-umac.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 umac.h misc.h rijndael.h
-umac128.o: umac.c 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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 umac.h misc.h rijndael.h
-utf8.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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 utf8.h
-verify.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-xmalloc.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-xmss_commons.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-xmss_fast.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-xmss_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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-xmss_hash_address.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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
-xmss_wots.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-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.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-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
+sshlogin.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 sshlogin.h ssherr.h loginrec.h log.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h
+sshpty.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 sshpty.h log.h ssherr.h misc.h
+sshsig.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 authfd.h authfile.h log.h ssherr.h misc.h sshbuf.h sshsig.h sshkey.h match.h digest.h
+sshtty.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 sshpty.h
+ttymodes.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 log.h ssherr.h compat.h sshbuf.h ttymodes.h
+uidswap.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 uidswap.h xmalloc.h
+umac.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 umac.h misc.h rijndael.h
+umac128.o: umac.c 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 umac.h misc.h rijndael.h
+utf8.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 utf8.h
+verify.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
+xmalloc.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
+xmss_commons.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
+xmss_fast.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
+xmss_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
+xmss_hash_address.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
+xmss_wots.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/.github/ci-status.md b/.github/ci-status.md
new file mode 100644
index 000000000000..0ad8bf5aaf44
--- /dev/null
+++ b/.github/ci-status.md
@@ -0,0 +1,4 @@
+[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml)
+[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml)
+[![Upstream self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml)
+[![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)
diff --git a/.github/configs b/.github/configs
index c47f1a523b16..12578c067348 100755
--- a/.github/configs
+++ b/.github/configs
@@ -22,6 +22,12 @@ LIBCRYPTOFLAGS=""
case "$config" in
default|sol64)
;;
+ c89)
+ CC="gcc"
+ CFLAGS="-Wall -std=c89 -pedantic -Werror=vla"
+ CONFIGFLAGS="--without-openssl --without-zlib"
+ TEST_TARGET=t-exec
+ ;;
kitchensink)
CONFIGFLAGS="--with-kerberos5 --with-libedit --with-pam"
CONFIGFLAGS="${CONFIGFLAGS} --with-security-key-builtin --with-selinux"
@@ -36,15 +42,19 @@ case "$config" in
libedit)
CONFIGFLAGS="--with-libedit"
;;
+ pam-krb5)
+ CONFIGFLAGS="--with-pam --with-kerberos5"
+ SSHD_CONFOPTS="UsePam yes"
+ ;;
*pam)
CONFIGFLAGS="--with-pam"
SSHD_CONFOPTS="UsePam yes"
;;
- libressl-head)
- LIBCRYPTOFLAGS="--with-ssl-dir=/opt/libressl/head --with-rpath=-Wl,-rpath,"
+ libressl-*)
+ LIBCRYPTOFLAGS="--with-ssl-dir=/opt/libressl --with-rpath=-Wl,-rpath,"
;;
- openssl-head)
- LIBCRYPTOFLAGS="--with-ssl-dir=/opt/openssl/head --with-rpath=-Wl,-rpath,"
+ openssl-*)
+ LIBCRYPTOFLAGS="--with-ssl-dir=/opt/openssl --with-rpath=-Wl,-rpath,"
;;
selinux)
CONFIGFLAGS="--with-selinux"
@@ -104,11 +114,40 @@ case "$config" in
esac
case "${TARGET_HOST}" in
+ dfly58*|dfly60*)
+ # scp 3-way connection hangs on these so skip until sorted.
+ SKIP_LTESTS=scp3
+ ;;
+ hurd)
+ SKIP_LTESTS="forwarding multiplex proxy-connect hostkey-agent agent-ptrace"
+ ;;
+ minix3)
+ CC="clang"
+ LIBCRYPTOFLAGS="--without-openssl"
+ # Minix does not have a loopback interface so we have to skip any
+ # test that relies on it.
+ TEST_TARGET=t-exec
+ SKIP_LTESTS="addrmatch cfgparse key-options reexec agent connect"
+ SKIP_LTESTS="$SKIP_LTESTS keyscan rekey allow-deny-users connect-uri"
+ SKIP_LTESTS="$SKIP_LTESTS knownhosts-command sftp-uri brokenkeys"
+ SKIP_LTESTS="$SKIP_LTESTS exit-status login-timeout stderr-data"
+ SKIP_LTESTS="$SKIP_LTESTS cfgmatch forward-control multiplex transfer"
+ SKIP_LTESTS="$SKIP_LTESTS cfgmatchlisten forwarding reconfigure"
+ SUDO=""
+ ;;
+ nbsd4)
+ # System compiler will ICE on some files with fstack-protector
+ CONFIGFLAGS="${CONFIGFLAGS} --without-hardening"
+ ;;
sol10|sol11)
# sol10 VM is 32bit and the unit tests are slow.
# sol11 has 4 test configs so skip unit tests to speed up.
TEST_TARGET="tests SKIP_UNIT=1"
;;
+ win10)
+ # No sudo on Windows.
+ SUDO=""
+ ;;
esac
# If we have a local openssl/libressl, use that.
@@ -123,4 +162,9 @@ fi
CONFIGFLAGS="${CONFIGFLAGS} ${LIBCRYPTOFLAGS}"
-export LTESTS SUDO TEST_TARGET TEST_SSH_UNSAFE_PERMISSIONS
+if [ -x "$(which plink 2>/dev/null)" ]; then
+ REGRESS_INTEROP_PUTTY=yes
+ export REGRESS_INTEROP_PUTTY
+fi
+
+export CC CFLAGS LTESTS SUDO TEST_TARGET TEST_SSH_UNSAFE_PERMISSIONS
diff --git a/.github/run_test.sh b/.github/run_test.sh
index 66fd5260362f..adf2568ad1e2 100755
--- a/.github/run_test.sh
+++ b/.github/run_test.sh
@@ -1,33 +1,34 @@
-#!/usr/bin/env bash
+#!/bin/sh
-. .github/configs $1 $2
+. .github/configs $1
[ -z "${SUDO}" ] || ${SUDO} mkdir -p /var/empty
set -ex
+output_failed_logs() {
+ for i in regress/failed*; do
+ if [ -f "$i" ]; then
+ echo -------------------------------------------------------------------------
+ echo LOGFILE $i
+ cat $i
+ echo -------------------------------------------------------------------------
+ fi
+ done
+}
+trap output_failed_logs 0
+
if [ -z "${LTESTS}" ]; then
make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}"
- result=$?
else
make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
- result=$?
fi
if [ ! -z "${SSHD_CONFOPTS}" ]; then
- echo "rerunning tests with TEST_SSH_SSHD_CONFOPTS='${SSHD_CONFOPTS}'"
- make t-exec TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
- result2=$?
- if [ "${result2}" -ne 0 ]; then
- result="${result2}"
+ echo "rerunning t-exec with TEST_SSH_SSHD_CONFOPTS='${SSHD_CONFOPTS}'"
+ if [ -z "${LTESTS}" ]; then
+ make t-exec SKIP_LTESTS="${SKIP_LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
+ else
+ make t-exec SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
fi
fi
-
-if [ "$result" -ne "0" ]; then
- for i in regress/failed*; do
- echo -------------------------------------------------------------------------
- echo LOGFILE $i
- cat $i
- echo -------------------------------------------------------------------------
- done
-fi
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh
index 6240ef06ef53..70a444e4eff4 100755
--- a/.github/setup_ci.sh
+++ b/.github/setup_ci.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
case $(./config.guess) in
*-darwin*)
@@ -24,7 +24,7 @@ fi
for TARGET in $TARGETS; do
case $TARGET in
- default|without-openssl|without-zlib)
+ default|without-openssl|without-zlib|c89)
# nothing to do
;;
kerberos5)
@@ -47,11 +47,25 @@ for TARGET in $TARGETS; do
hardenedmalloc)
INSTALL_HARDENED_MALLOC=yes
;;
- openssl-head)
- INSTALL_OPENSSL_HEAD=yes
+ openssl-noec)
+ INSTALL_OPENSSL=OpenSSL_1_1_1k
+ SSLCONFOPTS="no-ec"
+ ;;
+ openssl-*)
+ INSTALL_OPENSSL=$(echo ${TARGET} | cut -f2 -d-)
+ case ${INSTALL_OPENSSL} in
+ 1.*) INSTALL_OPENSSL="OpenSSL_$(echo ${INSTALL_OPENSSL} | tr . _)" ;;
+ 3.*) INSTALL_OPENSSL="openssl-${INSTALL_OPENSSL}" ;;
+ esac
+ PACKAGES="${PACKAGES} putty-tools"
;;
- libressl-head)
- INSTALL_LIBRESSL_HEAD=yes
+ libressl-*)
+ INSTALL_LIBRESSL=$(echo ${TARGET} | cut -f2 -d-)
+ case ${INSTALL_LIBRESSL} in
+ master) ;;
+ *) INSTALL_LIBRESSL="v$(echo ${TARGET} | cut -f2 -d-)" ;;
+ esac
+ PACKAGES="${PACKAGES} putty-tools"
;;
valgrind*)
PACKAGES="$PACKAGES valgrind"
@@ -62,7 +76,7 @@ for TARGET in $TARGETS; do
esac
done
-if [ "yes" == "$INSTALL_FIDO_PPA" ]; then
+if [ "yes" = "$INSTALL_FIDO_PPA" ]; then
sudo apt update -qq
sudo apt install software-properties-common
sudo apt-add-repository ppa:yubico/stable
@@ -80,18 +94,22 @@ if [ "${INSTALL_HARDENED_MALLOC}" = "yes" ]; then
make -j2 && sudo cp libhardened_malloc.so /usr/lib/)
fi
-if [ "${INSTALL_OPENSSL_HEAD}" = "yes" ];then
+if [ ! -z "${INSTALL_OPENSSL}" ]; then
(cd ${HOME} &&
git clone https://github.com/openssl/openssl.git &&
cd ${HOME}/openssl &&
- ./config no-threads no-engine no-fips no-shared --prefix=/opt/openssl/head &&
- make -j2 && sudo make install_sw)
+ git checkout ${INSTALL_OPENSSL} &&
+ ./config no-threads shared ${SSLCONFOPTS} \
+ --prefix=/opt/openssl &&
+ make && sudo make install_sw)
fi
-if [ "${INSTALL_LIBRESSL_HEAD}" = "yes" ];then
+if [ ! -z "${INSTALL_LIBRESSL}" ]; then
(mkdir -p ${HOME}/libressl && cd ${HOME}/libressl &&
git clone https://github.com/libressl-portable/portable.git &&
- cd ${HOME}/libressl/portable && sh update.sh && sh autogen.sh &&
- ./configure --prefix=/opt/libressl/head &&
- make -j2 && sudo make install_sw)
+ cd ${HOME}/libressl/portable &&
+ git checkout ${INSTALL_LIBRESSL} &&
+ sh update.sh && sh autogen.sh &&
+ ./configure --prefix=/opt/libressl &&
+ make -j2 && sudo make install)
fi
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index c4ae28434305..289b18b7f621 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
# First we test all OSes in the default configuration.
- os: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04, macos-10.15]
+ os: [ubuntu-20.04, ubuntu-18.04, macos-10.15, macos-11.0]
configs: [default]
# Then we include any extra configs we want to test for specific VMs.
# Valgrind slows things down quite a bit, so start them first.
@@ -23,11 +23,23 @@ jobs:
- { os: ubuntu-20.04, configs: valgrind-3 }
- { os: ubuntu-20.04, configs: valgrind-4 }
- { os: ubuntu-20.04, configs: valgrind-unit }
+ - { os: ubuntu-20.04, configs: c89 }
- { os: ubuntu-20.04, configs: pam }
- { os: ubuntu-20.04, configs: kitchensink }
- { os: ubuntu-20.04, configs: hardenedmalloc }
- - { os: ubuntu-20.04, configs: libressl-head }
- - { os: ubuntu-20.04, configs: openssl-head }
+ - { os: ubuntu-latest, configs: libressl-master }
+ - { os: ubuntu-latest, configs: libressl-2.2.9 }
+ - { os: ubuntu-latest, configs: libressl-2.8.3 }
+ - { os: ubuntu-latest, configs: libressl-3.0.2 }
+ - { os: ubuntu-latest, configs: libressl-3.2.5 }
+ - { os: ubuntu-latest, configs: openssl-master }
+ - { os: ubuntu-latest, configs: openssl-noec }
+ - { os: ubuntu-latest, configs: openssl-1.0.1 }
+ - { os: ubuntu-latest, configs: openssl-1.0.1u }
+ - { os: ubuntu-latest, configs: openssl-1.0.2u }
+ - { os: ubuntu-latest, configs: openssl-1.1.0h }
+ - { os: ubuntu-latest, configs: openssl-1.1.1 }
+ - { os: ubuntu-latest, configs: openssl-1.1.1k }
- { os: ubuntu-18.04, configs: pam }
- { os: ubuntu-18.04, configs: kerberos5 }
- { os: ubuntu-18.04, configs: libedit }
@@ -35,9 +47,8 @@ jobs:
- { os: ubuntu-18.04, configs: selinux }
- { os: ubuntu-18.04, configs: kitchensink }
- { os: ubuntu-18.04, configs: without-openssl }
- - { os: ubuntu-16.04, configs: pam }
- - { os: ubuntu-16.04, configs: kitchensink }
- { os: macos-10.15, configs: pam }
+ - { os: macos-11.0, configs: pam }
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
@@ -52,7 +63,6 @@ jobs:
- name: make tests
run: ./.github/run_test.sh ${{ matrix.configs }}
env:
- SUDO: sudo
TEST_SSH_UNSAFE_PERMISSIONS: 1
- name: save logs
if: failure()
diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml
index 1cf6b5da0a34..df6eca714fb5 100644
--- a/.github/workflows/selfhosted.yml
+++ b/.github/workflows/selfhosted.yml
@@ -10,27 +10,60 @@ jobs:
runs-on: ${{ matrix.os }}
env:
TARGET_HOST: ${{ matrix.os }}
- SUDO: sudo
strategy:
fail-fast: false
# We use a matrix in two parts: firstly all of the VMs are tested with the
- # default config. "vm" corresponds to a label associated with the worker.
+ # default config. "os" corresponds to a label associated with the worker.
matrix:
- os: [bbone, dfly30, dfly48, dfly58, fbsd6, fbsd7, fbsd12, sol10, sol11]
+ os:
+ - ARM64
+ - bbone
+ - dfly30
+ - dfly48
+ - dfly58
+ - dfly60
+ - fbsd6
+ - fbsd10
+ - fbsd12
+ - fbsd13
+ - hurd
+ - minix3
+ # - nbsd2
+ - nbsd3
+ - nbsd4
+ - nbsd8
+ - nbsd9
+ - obsd51
+ - obsd67
+ - obsd68
+ - obsd69
+ - obsdsnap
+ - openindiana
+ # - rocky84
+ - sol10
+ - sol11
+ - win10
configs:
- default
# Then we include any extra configs we want to test for specific VMs.
include:
- - { os: dfly30, configs: without-openssl}
- - { os: dfly48, configs: pam }
- - { os: dfly58, configs: pam }
- - { os: fbsd6, configs: pam }
- - { os: fbsd7, configs: pam }
- - { os: fbsd12, configs: pam }
- - { os: sol10, configs: pam }
- - { os: sol11, configs: pam }
- - { os: sol11, configs: sol64 }
- # - { os: sol11, configs: sol64-pam }
+ - { os: ARM64, configs: pam }
+ - { os: dfly30, configs: without-openssl}
+ - { os: dfly48, configs: pam }
+ - { os: dfly58, configs: pam }
+ - { os: dfly60, configs: pam }
+ - { os: fbsd6, configs: pam }
+ - { os: fbsd10, configs: pam }
+ - { os: fbsd12, configs: pam }
+ - { os: fbsd13, configs: pam }
+ - { os: nbsd8, configs: pam }
+ - { os: nbsd9, configs: pam }
+ - { os: openindiana, configs: pam }
+ # - { os: rocky84, configs: pam }
+ - { os: sol10, configs: pam }
+ - { os: sol11, configs: pam-krb5 }
+ - { os: sol11, configs: sol64 }
+ # - { os: sol11, configs: sol64-pam }
steps:
- uses: actions/checkout@v2
- name: autoreconf
diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml
new file mode 100644
index 000000000000..f0493c12d7d5
--- /dev/null
+++ b/.github/workflows/upstream.yml
@@ -0,0 +1,43 @@
+name: Upstream self-hosted
+
+on:
+ push:
+ branches: [ master, ci ]
+
+jobs:
+ selfhosted:
+ if: github.repository == 'openssh/openssh-portable-selfhosted'
+ runs-on: ${{ matrix.os }}
+ env:
+ TARGET_HOST: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ obsdsnap, obsdsnap-i386, obsd69, obsd68 ]
+ configs: [ default, without-openssl ]
+ steps:
+ - uses: actions/checkout@v2
+ - name: shutdown VM if running
+ run: vmshutdown
+ - name: startup VM
+ run: vmstartup
+ - name: update source
+ run: vmrun "cd /usr/src && cvs up -dPA usr.bin/ssh regress/usr.bin/ssh"
+ - name: make clean
+ run: vmrun "cd /usr/src/usr.bin/ssh && make obj && make clean"
+ - name: make
+ run: vmrun "cd /usr/src/usr.bin/ssh && if test '${{ matrix.configs }}' = 'without-openssl'; then make OPENSSL=no; else make; fi"
+ - name: make install
+ run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install"
+ - name: make tests
+ run: vmrun "cd /usr/src/regress/usr.bin/ssh && make obj && make clean && if test '${{ matrix.configs }}' = 'without-openssl'; then make SUDO=sudo OPENSSL=no; else make SUDO=sudo; fi"
+ - name: save logs
+ if: failure()
+ uses: actions/upload-artifact@v2
+ with:
+ name: ${{ matrix.os }}-${{ matrix.configs }}-logs
+ path: |
+ /usr/obj/regress/usr.bin/ssh/*.log
+ - name: shutdown VM
+ if: always()
+ run: vmshutdown
diff --git a/ChangeLog b/ChangeLog
index 3e2b682088e7..288e90bbfe51 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,2376 @@
+commit e1a596186c81e65a34ce13076449712d3bf97eb4
+Author: Damien Miller <djm@mindrot.org>
+Date: Fri Aug 20 14:03:49 2021 +1000
+
+ depend
+
+commit 5450606c8f7f7a0d70211cea78bc2dab74ab35d1
+Author: Damien Miller <djm@mindrot.org>
+Date: Fri Aug 20 13:59:43 2021 +1000
+
+ update version numbers
+
+commit feee2384ab8d694c770b7750cfa76a512bdf8246
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Aug 20 03:22:55 2021 +0000
+
+ upstream: openssh-8.7
+
+ OpenBSD-Commit-ID: 8769dff0fd76ae3193d77bf83b439adee0f300cd
+
+commit 9a2ed62173cc551b2b5f479460bb015b19499de8
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Aug 20 10:48:13 2021 +1000
+
+ Also check pid in pselect_notify_setup.
+
+ Spotted by djm@.
+
+commit deaadcb93ca15d4f38aa38fb340156077792ce87
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Aug 20 08:39:33 2021 +1000
+
+ Prefix pselect functions to clarify debug messages
+
+commit 10e45654cff221ca60fd35ee069df67208fcf415
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Aug 20 08:30:42 2021 +1000
+
+ Fix race in pselect replacement code.
+
+ On the second and subsequent calls to pselect the notify_pipe was not
+ added to the select readset, opening up a race that om G. Christensen
+ discovered on multiprocessor Solaris <=9 systems.
+
+ Also reinitialize notify_pipe if the pid changes. This will prevent a
+ parent and child from using the same FD, although this is not an issue
+ in the current structure it might be in future.
+
+commit 464ba22f1e38d25402e5ec79a9b8d34a32df5a3f
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Aug 18 12:51:30 2021 +1000
+
+ Check compiler for c99 declarations after code.
+
+ The sntrup761 reference code contains c99-style declarations after code
+ so don't try to build that if the compiler doesn't support it.
+
+commit 7d878679a4b155a359d32104ff473f789501748d
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Aug 17 15:12:04 2021 +1000
+
+ Remove trailing backslash on regress-unit-binaries
+
+commit b71b2508f17c68c5d9dbbe537686d81cedb9a781
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Aug 17 07:59:27 2021 +1000
+
+ Put stdint.h inside HAVE_STDINT_H.
+
+ From Tom G. Christensen.
+
+commit 6a24567a29bd7b4ab64e1afad859ea845cbc6b8c
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Aug 16 14:13:02 2021 +1000
+
+ Improve github test driver script.
+
+ - use a trap to always output any failed regress logs (since the script
+ sets -e, the existing log output is never invoked).
+ - pass LTESTS and SKIP_LTESTS when re-running with sshd options (eg.
+ UsePAM).
+
+commit b467cf13705f59ed348b620722ac098fe31879b7
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Aug 16 11:32:23 2021 +1000
+
+ Remove deprecated ubuntu-16.04 test targets.
+
+ Github has deprecated ubuntu-16.04 and it will be removed on 20
+ September.
+
+commit 20e6eefcdf78394f05e453d456c1212ffaa6b6a4
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Aug 15 23:25:26 2021 +1000
+
+ Skip agent ptrace test on hurd.
+
+commit 7c9115bbbf958fbf85259a061c1122e2d046aabf
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Aug 15 19:37:22 2021 +1000
+
+ Add hurd test target.
+
+commit 7909a566f6c6a78fcd30708dc49f4e4f9bb80ce3
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Aug 15 12:45:10 2021 +1000
+
+ Skip scp3 tests on all dfly58 and 60 configs.
+
+commit e65198e52cb03534e8c846d1bca74c310b1526de
+Author: Tim Rice <tim@multitalents.net>
+Date: Sat Aug 14 13:08:07 2021 -0700
+
+ openbsd-compat/openbsd-compat.h: put bsd-signal.h before bsd-misc.h
+ to get sigset_t from signal.h needed for the pselect replacement.
+
+commit e50635640f79920d9375e0155cb3f4adb870eee5
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Aug 13 13:21:00 2021 +1000
+
+ Test OpenSSH from OpenBSD head on 6.8 and 6.9.
+
+commit e0ba38861c490c680117b7fe0a1d61a181cd00e7
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Aug 13 13:00:14 2021 +1000
+
+ Skip scp3 test on dragonfly 58 and 60.
+
+ The tests hang, so skip until we figure them out.
+
+commit dcce2a2bcf007bf817a2fb0dce3db83fa9201e92
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Thu Aug 12 23:59:25 2021 +0000
+
+ upstream: mention that CASignatureAlgorithms accepts +/- similarly to
+
+ the other algorithm list directives; ok jmc bz#3335
+
+ OpenBSD-Commit-ID: 0d46b53995817052c78e2dce9dbd133963b073d9
+
+commit 090a82486e5d7a8f7f16613d67e66a673a40367f
+Author: schwarze@openbsd.org <schwarze@openbsd.org>
+Date: Thu Aug 12 09:59:00 2021 +0000
+
+ upstream: In the editline(3) branch of the sftp(1) event loop,
+
+ handle SIGINT rather than ignoring it, such that the user can use Ctrl-C to
+ discard the currently edited command line and get a fresh prompt, just like
+ in ftp(1), bc(1), and in shells.
+
+ It is critical to not use ssl_signal() for this particular case
+ because that function unconditionally sets SA_RESTART, but here we
+ need the signal to interrupt the read(2) in the el_gets(3) event loop.
+
+ OK dtucker@ deraadt@
+
+ OpenBSD-Commit-ID: 8025115a773f52e9bb562eaab37ea2e021cc7299
+
+commit e1371e4f58404d6411d9f95eb774b444cea06a26
+Author: naddy@openbsd.org <naddy@openbsd.org>
+Date: Wed Aug 11 14:07:54 2021 +0000
+
+ upstream: scp: tweak man page and error message for -3 by default
+
+ Now that the -3 option is enabled by default, flip the documentation
+ and error message logic from "requires -3" to "blocked by -R".
+
+ ok djm@
+
+ OpenBSD-Commit-ID: a872592118444fb3acda5267b2a8c3d4c4252020
+
+commit 49f46f6d77328a3d10a758522b670a3e8c2235e7
+Author: naddy@openbsd.org <naddy@openbsd.org>
+Date: Wed Aug 11 14:05:19 2021 +0000
+
+ upstream: scp: do not spawn ssh with two -s flags for
+
+ remote-to-remote copies
+
+ Do not add another "-s" to the argument vector every time an SFTP
+ connection is initiated. Instead, introduce a subsystem flag to
+ do_cmd() and add "-s" when the flag is set.
+
+ ok djm@
+
+ OpenBSD-Commit-ID: 25df69759f323661d31b2e1e790faa22e27966c1
+
+commit 2a2cd00783e1da45ee730b7f453408af1358ef5b
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed Aug 11 08:55:04 2021 +0000
+
+ upstream: test -Oprint-pubkey
+
+ OpenBSD-Regress-ID: 3d51afb6d1f287975fb6fddd7a2c00a3bc5094e0
+
+commit b9f4635ea5bc33ed5ebbacf332d79bae463b0f54
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed Aug 11 08:54:17 2021 +0000
+
+ upstream: when verifying sshsig signatures, support an option
+
+ (-Oprint-pubkey) to dump the full public key to stdout; based on patch from
+ Fabian Stelzer; ok markus@
+
+ OpenBSD-Commit-ID: 0598000e5b9adfb45d42afa76ff80daaa12fc3e2
+
+commit 750c1a45ba4e8ad63793d49418a0780e77947b9b
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed Aug 11 05:21:32 2021 +0000
+
+ upstream: oops, missed one more %p
+
+ OpenBSD-Commit-ID: e7e62818d1564cc5cd9086eaf7a51cbd1a9701eb
+
+commit b5aa27b69ab2e1c13ac2b5ad3f8f7d389bad7489
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed Aug 11 05:20:17 2021 +0000
+
+ upstream: remove a bunch of %p in format strings; leftovers of
+
+ debuggings past. prompted by Michael Forney, ok dtucker@
+
+ OpenBSD-Commit-ID: 4853a0d6c9cecaba9ecfcc19066e52d3a8dcb2ac
+
+commit 419aa01123db5ff5dbc68b2376ef23b222862338
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Aug 11 09:21:09 2021 +1000
+
+ Add includes.h to compat tests.
+
+ On platforms where closefrom returns void (eg glibc>=2.34) the prototype
+ for closefrom in its compat tests would cause compile errors. Remove
+ this and have the tests pull in the compat headers in the same way as
+ the main code. bz#3336.
+
+commit 931f592f26239154eea3eb35a086585897b1a185
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Aug 10 03:35:45 2021 +0000
+
+ upstream: adapt to scp -M flag change; make scp3.sh test SFTP mode too
+
+ OpenBSD-Regress-ID: 43fea26704a0f0b962b53c1fabcb68179638f9c0
+
+commit 391ca67fb978252c48d20c910553f803f988bd37
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Aug 10 03:33:34 2021 +0000
+
+ upstream: Prepare for a future where scp(1) uses the SFTP protocol by
+
+ default. Replace recently added -M option to select the protocol with -O
+ (olde) and -s (SFTP) flags, and label the -s flag with a clear warning that
+ it will be removed in the near future (so no, don't use it in scripts!).
+
+ prompted by/feedback from deraadt@
+
+ OpenBSD-Commit-ID: 92ad72cc6f0023c9be9e316d8b30eb6d8d749cfc
+
+commit bfdd4b722f124a4fa9173d20dd64dd0fc69856be
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 23:56:36 2021 +0000
+
+ upstream: make scp -3 the default for remote-to-remote copies. It
+
+ provides a much better and more intuitive user experience and doesn't require
+ exposing credentials to the source host.
+
+ thanks naddy@ for catching the missing argument in usage()
+
+ "Yes please!" - markus@
+ "makes a lot of sense" - deraadt@
+ "the right thing to do" - dtucker@
+
+ OpenBSD-Commit-ID: d0d2af5f0965c5192ba5b2fa461c9f9b130e5dd9
+
+commit 2f7a3b51cef689ad9e93d0c6c17db5a194eb5555
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 23:49:31 2021 +0000
+
+ upstream: make scp in SFTP mode try to use relative paths as much
+
+ as possible. Previosuly, it would try to make relative and ~/-rooted paths
+ absolute before requesting transfers.
+
+ prompted by and much discussion deraadt@
+ ok markus@
+
+ OpenBSD-Commit-ID: 46639d382ea99546a4914b545fa7b00fa1be5566
+
+commit 2ab864010e0a93c5dd95116fb5ceaf430e2fc23c
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 23:47:44 2021 +0000
+
+ upstream: SFTP protocol extension to allow the server to expand
+
+ ~-prefixed paths, in particular ~user ones. Allows scp in sftp mode to accept
+ these paths, like scp in rcp mode does.
+
+ prompted by and much discussion deraadt@
+ ok markus@
+
+ OpenBSD-Commit-ID: 7d794def9e4de348e1e777f6030fc9bafdfff392
+
+commit 41b019ac067f1d1f7d99914d0ffee4d2a547c3d8
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 23:44:32 2021 +0000
+
+ upstream: when scp is in SFTP mode, try to deal better with ~
+
+ prefixed paths. ~user paths aren't supported, but ~/ paths will be accepted
+ and prefixed with the SFTP server starting directory (more to come)
+
+ prompted by and discussed with deraadt@
+ ok markus@
+
+ OpenBSD-Commit-ID: 263a071f14555c045fd03132a8fb6cbd983df00d
+
+commit b4b3f3da6cdceb3fd168b5fab69d11fba73bd0ae
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 07:21:01 2021 +0000
+
+ upstream: on fatal errors, make scp wait for ssh connection before
+
+ exiting avoids LogLevel=verbose (or greater) messages from ssh appearing
+ after scp has returned exited and control has returned to the shell; ok
+ markus@
+
+ (this was originally committed as r1.223 along with unrelated stuff that
+ I rolled back in r1.224)
+
+ OpenBSD-Commit-ID: 1261fd667ad918484889ed3d7aec074f3956a74b
+
+commit 2ae7771749e0b4cecb107f9d4860bec16c3f4245
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 07:19:12 2021 +0000
+
+ upstream: rever r1.223 - I accidentally committed unrelated changes
+
+ OpenBSD-Commit-ID: fb73f3865b2647a27dd94db73d6589506a9625f9
+
+commit 986abe94d481a1e82a01747360bd767b96b41eda
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 07:16:09 2021 +0000
+
+ upstream: show only the final path component in the progress meter;
+
+ more useful with long paths (that may truncate) and better matches
+ traditional scp behaviour; spotted by naddy@ ok deraadt@
+
+ OpenBSD-Commit-ID: 26b544d0074f03ebb8a3ebce42317d8d7ee291a3
+
+commit 2b67932bb3176dee4fd447af4368789e04a82b93
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 9 07:13:54 2021 +0000
+
+ upstream: on fatal errors, make scp wait for ssh connection before
+
+ exiting avoids LogLevel=verbose (or greater) messages from ssh appearing
+ after scp has returned exited and control has returned to the shell; ok
+ markus@
+
+ OpenBSD-Commit-ID: ef9dab5ef5ae54a6a4c3b15d380568e94263456c
+
+commit 724eb900ace30661d45db2ba01d0f924d95ecccb
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Aug 8 08:49:09 2021 +0000
+
+ upstream: xstrdup environment variable used by ForwardAgent. bz#3328
+
+ from goetze at dovetail.com, ok djm@ deraadt@
+
+ OpenBSD-Commit-ID: 760320dac1c3b26904284ba417a7d63fccc5e742
+
+commit 86b4cb3a884846b358305aad17a6ef53045fa41f
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Aug 8 08:27:28 2021 +0000
+
+ upstream: Although it's POSIX, not all shells used in Portable support
+
+ the implicit 'in "$@"' after 'for i'.
+
+ OpenBSD-Regress-ID: 3c9aec6bca4868f85d2742b6ba5223fce110bdbc
+
+commit f2ccf6c9f395923695f22345e626dfd691227aaf
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Aug 8 17:39:56 2021 +1000
+
+ Move portable specific settings down.
+
+ This brings the top hunk of the file back in sync with OpenBSD
+ so patches to the CVS Id should apply instead of always being
+ rejected.
+
+commit 71b0eb997e220b0fc9331635af409ad84979f2af
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Aug 8 07:27:52 2021 +0000
+
+ upstream: Move setting of USER further down the startup In portable
+
+ we have to change this and having it in the same hunk as the CVS Id string
+ means applying changes fails every. single. time.
+
+ OpenBSD-Regress-ID: 87cd603eb6db58c9b430bf90adacb7f90864429b
+
+commit f0aca2706c710a0da1a4be705f825a807cd15400
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Aug 8 06:38:33 2021 +0000
+
+ upstream: Drop -q in ssh-log-wrapper.sh to preserve logs.
+
+ scp and sftp like to add -q to the command line passed to ssh which
+ overrides the LogLevel we set in the config files and suppresses output
+ to the debug logs so drop any "-q" from the invoked ssh. In the one
+ case where we actually want to use -q in the banner test, call the ssh
+ binary directly bypassing the logging wrapper.
+
+ OpenBSD-Regress-ID: e2c97d3c964bda33a751374c56f65cdb29755b75
+
+commit cf27810a649c5cfae60f8ce66eeb25caa53b13bc
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sat Aug 7 01:57:08 2021 +0000
+
+ upstream: Fix prototype mismatch for do_cmd. ok djm@
+
+ OpenBSD-Commit-ID: 1c1598bb5237a7ae0be99152f185e0071163714d
+
+commit 85de69f64665245786e28c81ab01fe18b0e2a149
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 01:55:01 2021 +0000
+
+ upstream: sftp-client.c needs poll.h
+
+ remove unused variable
+
+ OpenBSD-Commit-ID: 233ac6c012cd23af62f237167a661db391055a16
+
+commit 397c4d72e50023af5fe3aee5cc2ad407a6eb1073
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Aug 7 11:30:57 2021 +1000
+
+ Include poll.h and friends for struct pollfd.
+
+commit a9e2c533195f28627f205682482d9da384c4c52e
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:14:17 2021 +0000
+
+ upstream: do_upload() used a near-identical structure for
+
+ tracking expected status replies from the server to what do_download() was
+ using.
+
+ Refactor it to use the same structure and factor out some common
+ code into helper functions.
+
+ OpenBSD-Commit-ID: 0c167df8ab6df4a5292c32421922b0cf379e9054
+
+commit 7b1cbcb7599d9f6a3bbad79d412604aa1203b5ee
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:12:09 2021 +0000
+
+ upstream: make scp(1) in SFTP mode follow symlinks like
+
+ traditional scp(1) ok markus@
+
+ OpenBSD-Commit-ID: 97255e55be37e8e26605e4ba1e69f9781765d231
+
+commit 133b44e500422df68c9c25c3b6de35c0263132f1
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:10:49 2021 +0000
+
+ upstream: fix incorrect directory permissions on scp -3
+
+ transfers; ok markus@
+
+ OpenBSD-Commit-ID: 64b2abaa5635a2be65ee2e77688ad9bcebf576c2
+
+commit 98b59244ca10e62ff67a420856770cb700164f59
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:09:57 2021 +0000
+
+ upstream: a bit more debugging of file attributes being
+
+ sent/received over the wire
+
+ OpenBSD-Commit-ID: f68c4e207b08ef95200a8b2de499d422808e089b
+
+commit c677e65365d6f460c084e41e0c4807bb8a9cf601
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:08:52 2021 +0000
+
+ upstream: make scp(1) in SFTP mode output better match original
+
+ scp(1) by suppressing "Retrieving [path]" lines that were emitted to support
+ the interactive sftp(1) client. ok markus@
+
+ OpenBSD-Commit-ID: 06be293df5f156a18f366079be2f33fa68001acc
+
+commit 48cd39b7a4e5e7c25101c6d1179f98fe544835cd
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:07:18 2021 +0000
+
+ upstream: factor out a structure duplicated between downloading
+
+ and crossloading; ok markus@
+
+ OpenBSD-Commit-ID: 96eede24d520569232086a129febe342e4765d39
+
+commit 318c06bb04ee21a0cfa6b6022a201eacaa53f388
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:06:30 2021 +0000
+
+ upstream: use sftp_client crossloading to implement scp -3
+
+ feedback/ok markus@
+
+ OpenBSD-Commit-ID: 7db4c0086cfc12afc9cfb71d4c2fd3c7e9416ee9
+
+commit de7115b373ba0be3861c65de9b606a3e0e9d29a3
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:02:41 2021 +0000
+
+ upstream: support for "cross"-loading files/directories, i.e.
+
+ downloading from one SFTP server while simultaneously uploading to another.
+
+ feedback & ok markus@
+
+ OpenBSD-Commit-ID: 3982878e29d8df0fa4ddc502f5ff6126ac714235
+
+commit a50bd0367ff2063bbc70a387740a2aa6914de094
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:01:29 2021 +0000
+
+ upstream: factor our SSH2_FXP_OPEN calls into their own function;
+
+ "looks fine" markus@
+
+ OpenBSD-Commit-ID: d3dea2153f08855c6d9dacc01973248944adeffb
+
+commit e3c0ba05873cf3d3f7d19d595667a251026b2d84
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Aug 7 00:00:33 2021 +0000
+
+ upstream: prepare for scp -3 implemented via sftp
+
+ OpenBSD-Commit-ID: 194aac0dd87cb175334b71c2a30623a5ad55bb44
+
+commit 395d8fbdb094497211e1461cf0e2f80af5617e0a
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Aug 6 09:00:18 2021 +0000
+
+ upstream: Make diff invocation more portable.
+
+ POSIX does not require diff to have -N, so compare in both directions
+ with just -r, which should catch missing files in either directory.
+
+ OpenBSD-Regress-ID: 0e2ec8594556a6f369ed5a0a90c6806419b845f7
+
+commit d247a73ce27b460138599648d9c637c6f2b77605
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed Aug 4 21:28:00 2021 +0000
+
+ upstream: regression test for scp -3
+
+ OpenBSD-Regress-ID: b44375d125c827754a1f722ec6b6b75b634de05d
+
+commit 35c8e41a6f6d8ad76f8d1cd81ac2ea23d0d993b2
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Aug 6 05:04:42 2021 +0000
+
+ upstream: Document "ProxyJump none". bz#3334.
+
+ OpenBSD-Commit-ID: f78cc6f55731f2cd35c3a41d5352ac1ee419eba7
+
+commit 911ec6411821bda535d09778df7503b92f0eafab
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Wed Aug 4 01:34:55 2021 +0000
+
+ upstream: Allow for different (but POSIX compliant) behaviour of
+
+ basename(3) and prevent a use-after-free in that case in the new sftp-compat
+ code.
+
+ POSIX allows basename(3) to either return a pointer to static storage
+ or modify the passed string and return a pointer to that. OpenBSD does
+ the former and works as is, but on other platforms "filename" points
+ into "tmp" which was just freed. This makes the freeing of tmp
+ consistent with the other variable in the loop.
+
+ Pinpointed by the -portable Valgrind regress test. ok djm@ deraadt@
+
+ OpenBSD-Commit-ID: 750f3c19bd4440e4210e30dd5d7367386e833374
+
+commit 6df1fecb5d3e51f3a8027a74885c3a44f6cbfcbd
+Author: Damien Miller <djm@mindrot.org>
+Date: Wed Aug 4 11:05:11 2021 +1000
+
+ use openbsd-compat glob.h is required
+
+commit 9ebd1828881dfc9014a344587934a5ce7db6fa1b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Aug 3 21:03:23 2021 +1000
+
+ Missing space between macro arg and punctuation.
+
+ From jmc@
+
+commit 0fd3f62eddc7cf54dcc9053be6f58998f3eb926a
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Aug 3 21:02:33 2021 +1000
+
+ Avoid lines >80 chars. From jmc@
+
+commit af5d8094d8b755e1daaf2e20ff1dc252800b4c9b
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Aug 3 01:05:24 2021 +0000
+
+ upstream: regression tests for scp SFTP protocol support; mostly by
+
+ Jakub Jelen in GHPR#194 ok markus
+
+ OpenBSD-Regress-ID: 36f1458525bcb111741ec8547eaf58b13cddc715
+
+commit e4673b7f67ae7740131a4ecea29a846593049a91
+Author: anton@openbsd.org <anton@openbsd.org>
+Date: Thu Jul 29 15:34:09 2021 +0000
+
+ upstream: Treat doas with arguments as a valid SUDO variable.
+
+ Allows one to specify SUDO="doas -n" which I do while running make regress.
+
+ ok dtucker@
+
+ OpenBSD-Regress-ID: 4fe5814b5010dbf0885500d703bea06048d11005
+
+commit 197e29f1cca190d767c4b2b63a662f9a9e5da0b3
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Aug 2 23:38:27 2021 +0000
+
+ upstream: support for using the SFTP protocol for file transfers in
+
+ scp, via a new "-M sftp" option. Marked as experimental for now.
+
+ Some corner-cases exist, in particular there is no attempt to
+ provide bug-compatibility with scp's weird "double shell" quoting
+ rules.
+
+ Mostly by Jakub Jelen in GHPR#194 with some tweaks by me. ok markus@
+ Thanks jmc@ for improving the scp.1 bits.
+
+ OpenBSD-Commit-ID: 6ce4c9157ff17b650ace571c9f7793d92874051c
+
+commit dd533c7ab79d61a7796b77b64bd81b098e0d7f9f
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Fri Jul 30 14:28:13 2021 +0000
+
+ upstream: fix a formatting error and add some Xr; from debian at
+
+ helgefjell de
+
+ removed references to rlogin etc. as no longer relevant;
+ suggested by djm
+
+ ok djm dtucker
+
+ OpenBSD-Commit-ID: 3c431c303068d3aec5bb18573a0bd5e0cd77c5ae
+
+commit c7cd347a8823819411222c1e10a0d26747d0fd5c
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Fri Jul 30 14:25:01 2021 +0000
+
+ upstream: fix a formatting error and mark up known_hosts
+
+ consistently; issues reported by debian at helgefjell de
+
+ ok djm dtucker
+
+ OpenBSD-Commit-ID: a1fd8d21dc77f507685443832df0c9700481b0ce
+
+commit 4455aec2e4fc90f64ae4fc47e78ebc9c18721738
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Wed Jul 28 05:57:42 2021 +0000
+
+ upstream: no need to talk about version 2 with the -Q option, so
+
+ rewrite the text to read better;
+
+ issue reported by debian at helgefjell de
+ ok djm dtucker
+
+ OpenBSD-Commit-ID: 59fe2e8219c37906740ad062e0fdaea487dbe9cf
+
+commit bec429338e9b30d2c7668060e82608286a8a4777
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Tue Jul 27 14:28:46 2021 +0000
+
+ upstream: word fix; reported by debian at helgefjell de
+
+ OpenBSD-Commit-ID: 0c6fd22142422a25343c5bd1a618f31618f41ece
+
+commit efad4deb5a1f1cf79ebefd63c6625059060bfbe1
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Tue Jul 27 14:14:25 2021 +0000
+
+ upstream: standardise the grammar in the options list; issue
+
+ reported by debian at helgefjell de
+
+ ok dtucker djm
+
+ OpenBSD-Commit-ID: 7ac15575045d82f4b205a42cc7d5207fe4c3f8e6
+
+commit 1e11fb24066f3fc259ee30db3dbb2a3127e05956
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Aug 2 18:56:29 2021 +1000
+
+ Check for RLIMIT_NOFILE before trying to use it.
+
+commit 0f494236b49fb48c1ef33669f14822ca4f3ce2f4
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Jul 27 17:45:34 2021 +1000
+
+ lastenv is only used in setenv.
+
+ Prevents an unused variable warning on platforms that have setenv but
+ not unsetenv.
+
+commit a1f78e08bdb3eaa88603ba3c6e01de7c8671e28a
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Jul 26 12:45:30 2021 +1000
+
+ Move SUDO to "make test" command line.
+
+ Environment variables don't get passed by vmrun, so move to command
+ line.
+
+commit 02e624273b9c78a49a01239159b8c09b8409b1a0
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Jul 25 23:26:36 2021 +1000
+
+ Set SUDO for tests and cleanup.
+
+commit 460ae5d93051bab70239ad823dd784822d58baad
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Jul 25 22:37:55 2021 +1000
+
+ Pass OPENSSL=no to make tests too.
+
+commit b398f499c68d74ebe3298b73757cf3f36e14e0cb
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Jul 25 12:27:37 2021 +0000
+
+ upstream: Skip unit and makefile-based key conversion tests when
+
+ we're building with OPENSSL=no.
+
+ OpenBSD-Regress-ID: 20455ed9a977c93f846059d1fcb48e29e2c8d732
+
+commit 727ce36c8c5941bde99216d27109405907caae4f
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Jul 25 12:13:03 2021 +0000
+
+ upstream: Replace OPENSSL as the variable that points to the
+
+ openssl binary with OPENSSL_BIN. This will allow us to use the OPENSSL
+ variable from mk.conf or the make(1) command line indicating if we're
+ building with our without OpenSSL, and ultimately get the regress tests
+ working in the OPENSSL=no configuration.
+
+ OpenBSD-Regress-ID: 2d788fade3264d7803e5b54cae8875963f688c4e
+
+commit 55e17101a9075f6a63af724261c5744809dcb95c
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sat Jul 24 02:57:28 2021 +0000
+
+ upstream: Skip RFC4716 format import and export tests when built
+
+ without OpenSSL.
+
+ OpenBSD-Regress-ID: d2c2d5d38c1acc2b88cc99cfe00a2eb8bb39dfa4
+
+commit f5ccb5895d39cd627ad9e7b2c671d2587616100d
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sat Jul 24 02:51:14 2021 +0000
+
+ upstream: Don't omit ssh-keygen -y from usage when built without
+
+ OpenSSL. It is actually available, albeit only for ed25519 keys.
+
+ OpenBSD-Commit-ID: 7a254c33d0e6a55c30c6b016a8d298d3cb7a7674
+
+commit 819d57ac23469f1f03baa8feb38ddefbada90fdc
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sat Jul 24 02:08:13 2021 +0000
+
+ upstream: Exclude key conversion options from usage when built
+
+ without OpenSSL since those are not available, similar to what we currently
+ do with the moduli screening options. We can also use this to skip the
+ conversion regression tests in this case.
+
+ OpenBSD-Commit-ID: 3c82caa398cf99cd4518c23bba5a2fc66b16bafe
+
+commit b6673b1d2ee90b4690ee84f634efe40225423c38
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 24 13:02:51 2021 +1000
+
+ Test OpenBSD upstream with and without OpenSSL.
+
+commit 9d38074b5453c1abbdf888e80828c278d3b886ac
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Jul 24 01:54:23 2021 +0000
+
+ upstream: test for first-match-wins in authorized_keys environment=
+
+ options
+
+ OpenBSD-Regress-ID: 1517c90276fe84b5dc5821c59f88877fcc34c0e8
+
+commit 2b76f1dd19787e784711ea297ad8fc938b4484fd
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jul 23 05:53:02 2021 +0000
+
+ upstream: Simplify keygen-convert by using $SSH_KEYTYPES directly.
+
+ OpenBSD-Regress-ID: cdbe408ec3671ea9ee9b55651ee551370d2a4108
+
+commit 7d64a9fb587ba9592f027f7a2264226c713d6579
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Jul 24 01:55:19 2021 +0000
+
+ upstream: don't leak environment= variable when it is not the first
+
+ match
+
+ OpenBSD-Commit-ID: 7fbdc3dfe0032deaf003fd937eeb4d434ee4efe0
+
+commit db2130e2340bf923e41c791aa9cd27b9e926042c
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Fri Jul 23 06:01:17 2021 +0000
+
+ upstream: punctuation;
+
+ OpenBSD-Commit-ID: 64be152e378c45975073ab1c07e0db7eddd15806
+
+commit 03190d10980c6fc9124e988cb2df13101f266507
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 05:56:47 2021 +0000
+
+ upstream: mention in comment that read_passphrase(..., RP_ALLOW_STDIN)
+
+ will try to use askpass first. bz3314
+
+ convert a couple of debug() -> debug_f() while here
+
+ OpenBSD-Commit-ID: c7e812aebc28fcc5db06d4710e0f73613dee545c
+
+commit 1653ece6832b2b304d46866b262d5f69880a9ec7
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jul 23 05:07:16 2021 +0000
+
+ upstream: Test conversion of ed25519 and ecdsa keys too.
+
+ OpenBSD-Regress-ID: 3676d2d00e58e0d6d37f2878f108cc2b83bbe4bb
+
+commit 8b7af02dcf9d2b738787efd27da7ffda9859bed2
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jul 23 04:56:21 2021 +0000
+
+ upstream: Add test for exporting pubkey from a passphrase-protected
+
+ private key.
+
+ OpenBSD-Regress-ID: da99d93e7b235fbd5b5aaa01efc411225e6ba8ac
+
+commit 441095d4a3e5048fe3c87a6c5db5bc3383d767fb
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 03:54:55 2021 +0000
+
+ upstream: regression test for time-limited signature keys
+
+ OpenBSD-Regress-ID: 2a6f3bd900dbee0a3c96f1ff23e032c93ab392bc
+
+commit 9e1882ef6489a7dd16b6d7794af96629cae61a53
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 05:24:02 2021 +0000
+
+ upstream: note successful authentication method in final "Authenticated
+
+ to ..." message and partial auth success messages (all at LogLevel=verbose)
+ ok dtucker@
+
+ OpenBSD-Commit-ID: 06834b89ceb89f8f16c5321d368a66c08f441984
+
+commit a917e973a1b90b40ff1e950df083364b48fc6c78
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 04:04:52 2021 +0000
+
+ upstream: Add a ForkAfterAuthentication ssh_config(5) counterpart
+
+ to the ssh(1) -f flag. Last part of GHPR231 from Volker Diels-Grabsch. ok
+ dtucker
+
+ OpenBSD-Commit-ID: b18aeda12efdebe2093d55263c90fe4ea0bce0d3
+
+commit e0c5088f1c96a145eb6ea1dee438010da78f9ef5
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 04:00:59 2021 +0000
+
+ upstream: Add a StdinNull directive to ssh_config(5) that allows
+
+ the config file to do the same thing as -n does on the ssh(1) commandline.
+ Patch from Volker Diels-Grabsch via GHPR231; ok dtucker
+
+ OpenBSD-Commit-ID: 66ddf3f15c76796d4dcd22ff464aed1edd62468e
+
+commit e3957e21ffdc119d6d04c0b1686f8e2fe052f5ea
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 03:57:20 2021 +0000
+
+ upstream: make authorized_keys environment="..." directives
+
+ first-match-wins and more strictly limit their maximum number; prompted by
+ OOM reported by OSS-fuzz (35470).
+
+ feedback and ok dtucker@
+
+ OpenBSD-Commit-ID: 01f63fc10dcd995e7aed9c378ad879161af83121
+
+commit d0bb1ce731762c55acb95817df4d5fab526c7ecd
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 23 03:37:52 2021 +0000
+
+ upstream: Let allowed signers files used by ssh-keygen(1)
+
+ signatures support key lifetimes, and allow the verification mode to specify
+ a signature time to check at. This is intended for use by git to support
+ signing objects using ssh keys. ok dtucker@
+
+ OpenBSD-Commit-ID: 3e2c67b7dcd94f0610194d1e8e4907829a40cf31
+
+commit 44142068dc7ef783d135e91ff954e754d2ed432e
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 08:48:33 2021 +0000
+
+ upstream: Use SUDO when setting up hostkey.
+
+ OpenBSD-Regress-ID: 990cf4481cab8dad62e90818a9b4b36c533851a7
+
+commit 6b67f3f1d1d187597e54a139cc7785c0acebd9a2
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 05:08:54 2021 +0000
+
+ upstream: Increase time margin for rekey tests. Should help
+
+ reliability on very heavily loaded hosts.
+
+ OpenBSD-Regress-ID: 4c28a0fce3ea89ebde441d7091464176e9730533
+
+commit 7953e1bfce9e76bec41c1331a29bc6cff9d416b8
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Jul 19 13:47:51 2021 +1000
+
+ Add sshfp-connect.sh file missed in previous.
+
+commit b75a80fa8369864916d4c93a50576155cad4df03
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 03:13:28 2021 +0000
+
+ upstream: Ensure that all returned SSHFP records for the specified host
+
+ name and hostkey type match instead of only one. While there, simplify the
+ code somewhat and add some debugging. Based on discussion in bz#3322, ok
+ djm@.
+
+ OpenBSD-Commit-ID: 0a6a0a476eb7f9dfe8fe2c05a1a395e3e9b22ee4
+
+commit 1cc1fd095393663cd72ddac927d82c6384c622ba
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 02:21:50 2021 +0000
+
+ upstream: Id sync only, -portable already has this.
+
+ Put dh_set_moduli_file call inside ifdef WITH_OPENSSL. Fixes
+ build with OPENSSL=no.
+
+ OpenBSD-Commit-ID: af54abbebfb12bcde6219a44d544e18204defb15
+
+commit 33abbe2f4153f5ca5c874582f6a7cc91ae167485
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 02:46:34 2021 +0000
+
+ upstream: Add test for host key verification via SSHFP records. This
+
+ requires some external setup to operate so is disabled by default (see
+ comments in sshfp-connect.sh).
+
+ OpenBSD-Regress-ID: c52c461bd1df3a803d17498917d156ef64512fd9
+
+commit f0cd000d8e3afeb0416dce1c711c3d7c28d89bdd
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 02:29:28 2021 +0000
+
+ upstream: Add ed25519 key and test SSHFP export of it. Only test
+
+ RSA SSHFP export if we have RSA functionality compiled in.
+
+ OpenBSD-Regress-ID: b4ff5181b8c9a5862e7f0ecdd96108622333a9af
+
+commit 0075511e27e5394faa28edca02bfbf13b9a6693e
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 19 00:16:26 2021 +0000
+
+ upstream: Group keygen tests together.
+
+ OpenBSD-Regress-ID: 07e2d25c527bb44f03b7c329d893a1f2d6c5c40c
+
+commit 034828820c7e62652e7c48f9ee6b67fb7ba6fa26
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Sun Jul 18 23:10:10 2021 +0000
+
+ upstream: Add test for ssh-keygen printing of SSHFP records.
+
+ OpenBSD-Regress-ID: fde9566b56eeb980e149bbe157a884838507c46b
+
+commit 52c3b6985ef1d5dadb4c4fe212f8b3a78ca96812
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Jul 17 00:38:11 2021 +0000
+
+ upstream: wrap some long lines
+
+ OpenBSD-Commit-ID: 4f5186b1466656762dae37d3e569438d900c350d
+
+commit 43ec991a782791d0b3f42898cd789f99a07bfaa4
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sat Jul 17 00:36:53 2021 +0000
+
+ upstream: fix sftp on ControlPersist connections, broken by recent
+
+ SessionType change; spotted by sthen@
+
+ OpenBSD-Commit-ID: 4c5ddc5698790ae6ff50d2a4f8f832f0eeeaa234
+
+commit 073f45c236550f158c9a94003e4611c07dea5279
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 16 09:00:23 2021 +0000
+
+ upstream: Explicitly check for and start time-based rekeying in the
+
+ client and server mainloops.
+
+ Previously the rekey timeout could expire but rekeying would not start
+ until a packet was sent or received. This could cause us to spin in
+ select() on the rekey timeout if the connection was quiet.
+
+ ok markus@
+
+ OpenBSD-Commit-ID: 4356cf50d7900f3df0a8f2117d9e07c91b9ff987
+
+commit ef7c4e52d5d840607f9ca3a302a4cbb81053eccf
+Author: jmc@openbsd.org <jmc@openbsd.org>
+Date: Wed Jul 14 06:46:38 2021 +0000
+
+ upstream: reorder SessionType; ok djm
+
+ OpenBSD-Commit-ID: c7dd0b39e942b1caf4976a0b1cf0fed33d05418c
+
+commit 8aa2f9aeb56506dca996d68ab90ab9c0bebd7ec3
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Jul 14 11:26:50 2021 +1000
+
+ Make whitespace consistent.
+
+commit 4f4297ee9b8a39f4dfd243a74c5f51f9e7a05723
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Jul 14 11:26:12 2021 +1000
+
+ Add ARM64 Linux self-hosted runner.
+
+commit eda8909d1b0a85b9c3804a04d03ec6738fd9dc7f
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jul 13 23:48:36 2021 +0000
+
+ upstream: add a SessionType directive to ssh_config, allowing the
+
+ configuration file to offer equivalent control to the -N (no session) and -s
+ (subsystem) command-line flags.
+
+ Part of GHPR#231 by Volker Diels-Grabsch with some minor tweaks;
+ feedback and ok dtucker@
+
+ OpenBSD-Commit-ID: 726ee931dd4c5cc7f1d7a187b26f41257f9a2d12
+
+commit 7ae69f2628e338ba6e0eae7ee8a63bcf8fea7538
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Jul 12 02:12:22 2021 +0000
+
+ upstream: fix some broken tests; clean up output
+
+ OpenBSD-Regress-ID: 1d5038edb511dc4ce1622344c1e724626a253566
+
+commit f5fc6a4c3404bbf65c21ca6361853b33d78aa87e
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Jul 12 18:00:05 2021 +1000
+
+ Add configure-time detection for SSH_TIME_T_MAX.
+
+ Should fix printing cert times exceeding INT_MAX (bz#3329) on platforms
+ were time_t is a long long. The limit used is for the signed type, so if
+ some system has a 32bit unsigned time_t then the lower limit will still
+ be imposed and we would need to add some way to detect this. Anyone using
+ an unsigned 64bit can let us know when it starts being a problem.
+
+commit fd2d06ae4442820429d634c0a8bae11c8e40c174
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 12 06:22:57 2021 +0000
+
+ upstream: Make limit for time_t test unconditional in the
+
+ format_absolute_time fix for bz#3329 that allows printing of timestamps past
+ INT_MAX. This was incorrectly included with the previous commit. Based on
+ discussion with djm@.
+
+ OpenBSD-Commit-ID: 835936f6837c86504b07cabb596b613600cf0f6e
+
+commit 6c29b387cd64a57b0ec8ae7d2c8d02789d88fcc3
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 12 06:08:57 2021 +0000
+
+ upstream: Use existing format_absolute_time() function when
+
+ printing cert validity instead of doing it inline. Part of bz#3329.
+
+ OpenBSD-Commit-ID: a13d4e3c4f59644c23745eb02a09b2a4e717c00c
+
+commit 99981d5f8bfa383791afea03f6bce8454e96e323
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jul 9 09:55:56 2021 +0000
+
+ upstream: silence redundant error message; reported by Fabian Stelzer
+
+ OpenBSD-Commit-ID: 9349a703016579a60557dafd03af2fe1d44e6aa2
+
+commit e86097813419b49d5bff5c4b51d1c3a5d4d2d804
+Author: John Ericson <John.Ericson@Obsidian.Systems>
+Date: Sat Dec 26 11:40:49 2020 -0500
+
+ Re-indent krb5 section after pkg-config addition.
+
+commit 32dd2daa56c294e40ff7efea482c9eac536d8cbb
+Author: John Ericson <John.Ericson@Obsidian.Systems>
+Date: Sat Dec 26 11:40:49 2020 -0500
+
+ Support finding Kerberos via pkg-config
+
+ This makes cross compilation easier.
+
+commit def7a72234d7e4f684d72d33a0f7229f9eee0aa4
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jul 9 14:34:06 2021 +1000
+
+ Update comments about EGD to include prngd.
+
+commit b5d23150b4e3368f4983fd169d432c07afeee45a
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 5 01:21:07 2021 +0000
+
+ upstream: Fix a couple of whitespace things. Portable already has
+
+ these so this removes two diffs between the two.
+
+ OpenBSD-Commit-ID: 769f017ebafd8e741e337b3e9e89eb5ac73c9c56
+
+commit 8f57be9f279b8e905f9883066aa633c7e67b31cf
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 5 01:16:46 2021 +0000
+
+ upstream: Order includes as per style(9). Portable already has
+
+ these so this removes a handful of diffs between the two.
+
+ OpenBSD-Commit-ID: 8bd7452d809b199c19bfc49511a798f414eb4a77
+
+commit b75624f8733b3ed9e240f86cac5d4a39dae11848
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon Jul 5 00:50:25 2021 +0000
+
+ upstream: Remove comment referencing now-removed
+
+ RhostsRSAAuthentication. ok djm@
+
+ OpenBSD-Commit-ID: 3d864bfbd99a1d4429a58e301688f3be464827a9
+
+commit b67eb12f013c5441bb4f0893a97533582ad4eb13
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Jul 5 00:25:42 2021 +0000
+
+ upstream: allow spaces to appear in usernames for local to remote,
+
+ and scp -3 remote to remote copies. with & ok dtucker bz#1164
+
+ OpenBSD-Commit-ID: e9b550f3a85ffbb079b6720833da31317901d6dd
+
+commit 8c4ef0943e574f614fc7c6c7e427fd81ee64ab87
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jul 2 07:20:44 2021 +0000
+
+ upstream: Remove obsolete comments about SSHv1 auth methods. ok
+
+ djm@
+
+ OpenBSD-Commit-ID: 6060f70966f362d8eb4bec3da2f6c4712fbfb98f
+
+commit 88908c9b61bcb99f16e8d398fc41e2b3b4be2003
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 23:00:19 2021 +1000
+
+ Remove reference to ChallengeResponse.
+
+ challenge_response_authentication was removed from the struct, keeping
+ kbd_interactive_authentication.
+
+commit 321874416d610ad2158ce6112f094a4862c2e37f
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 20:38:09 2021 +1000
+
+ Move signal.h up include order to match upstream.
+
+commit 4fa83e2d0e32c2dd758653e0359984bbf1334f32
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 20:36:06 2021 +1000
+
+ Remove old OpenBSD version marker.
+
+ Looks like an accidental leftover from a sync.
+
+commit 9d5e31f55d5f3899b72645bac41a932d298ad73b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 20:34:19 2021 +1000
+
+ Remove duplicate error on error path.
+
+ There's an extra error() call on the listen error path, it looks like
+ its removal was missed during an upstream sync.
+
+commit 888c459925c7478ce22ff206c9ac1fb812a40caf
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 20:32:46 2021 +1000
+
+ Remove some whitespace not in upstream.
+
+ Reduces diff vs OpenBSD by a small amount.
+
+commit 4d2d4d47a18d93f3e0a91a241a6fdb545bbf7dc2
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 19:27:43 2021 +1000
+
+ Replace remaining references to ChallengeResponse.
+
+ Portable had a few additional references to ChallengeResponse related to
+ UsePAM, replaces these with equivalent keyboard-interactive ones.
+
+commit 53237ac789183946dac6dcb8838bc3b6b9b43be1
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 19:23:28 2021 +1000
+
+ Sync remaining ChallengeResponse removal.
+
+ These were omitted from commit 88868fd131.
+
+commit 2c9e4b319f7e98744b188b0f58859d431def343b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Jul 3 19:17:31 2021 +1000
+
+ Disable rocky84 to figure out why agent test fails
+
+commit bfe19197a92b7916f64a121fbd3c179abf15e218
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jul 2 15:43:28 2021 +1000
+
+ Remove now-unused SSHv1 enums.
+
+ sRhostsRSAAuthentication and sRSAAuthentication are protocol 1 options
+ and are no longer used.
+
+commit c73b02d92d72458a5312bd098f32ce88868fd131
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jul 2 05:11:20 2021 +0000
+
+ upstream: Remove references to ChallengeResponseAuthentication in
+
+ favour of KbdInteractiveAuthentication. The former is what was in SSHv1, the
+ latter is what is in SSHv2 (RFC4256) and they were treated as somewhat but
+ not entirely equivalent. We retain the old name as deprecated alias so
+ config files continue to work and a reference in the man page for people
+ looking for it.
+
+ Prompted by bz#3303 which pointed out the discrepancy between the two
+ when used with Match. Man page help & ok jmc@, with & ok djm@
+
+ OpenBSD-Commit-ID: 2c1bff8e5c9852cfcdab1f3ea94dfef5a22f3b7e
+
+commit f841fc9c8c7568a3b5d84a4cc0cefacb7dbc16b9
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jul 2 15:20:32 2021 +1000
+
+ Fix ifdefs around get_random_bytes_prngd.
+
+ get_random_bytes_prngd() is used if either of PRNGD_PORT or PRNGD_SOCKET
+ are defined, so adjust ifdef accordingly.
+
+commit 0767627cf66574484b9c0834500b42ea04fe528a
+Author: Damien Miller <djm@mindrot.org>
+Date: Fri Jul 2 14:30:23 2021 +1000
+
+ wrap get_random_bytes_prngd() in ifdef
+
+ avoid unused static function warning
+
+commit f93fdc4de158386efe1116bd44c5b3f4a7a82c25
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Jun 28 13:06:37 2021 +1000
+
+ Add rocky84 test target.
+
+commit d443006c0ddfa7f6a5bd9c0ae92036f3d5f2fa3b
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jun 25 06:30:22 2021 +0000
+
+ upstream: fix decoding of X.509 subject name; from Leif Thuresson
+
+ via bz3327 ok markus@
+
+ OpenBSD-Commit-ID: 0ea2e28f39750dd388b7e317bc43dd997a217ae8
+
+commit 2a5704ec142202d387fda2d6872fd4715ab81347
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jun 25 06:20:39 2021 +0000
+
+ upstream: Use better language to refer to the user. From l1ving
+
+ via github PR#250, ok jmc@
+
+ OpenBSD-Commit-ID: 07ca3526626996613e128aeddf7748c93c4d6bbf
+
+commit 4bdf7a04797a0ea1c431a9d54588417c29177d19
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jun 25 03:38:17 2021 +0000
+
+ upstream: Replace SIGCHLD/notify_pipe kludge with pselect.
+
+ Previously sshd's SIGCHLD handler would wake up select() by writing a
+ byte to notify_pipe. We can remove this by blocking SIGCHLD, checking
+ for child terminations then passing the original signal mask through
+ to pselect. This ensures that the pselect will immediately wake up if
+ a child terminates between wait()ing on them and the pselect.
+
+ In -portable, for platforms that do not have pselect the kludge is still
+ there but is hidden behind a pselect interface.
+
+ Based on other changes for bz#2158, ok djm@
+
+ OpenBSD-Commit-ID: 202c85de0b3bdf1744fe53529a05404c5480d813
+
+commit c9f7bba2e6f70b7ac1f5ea190d890cb5162ce127
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 25 15:08:18 2021 +1000
+
+ Move closefrom() to before first malloc.
+
+ When built against tcmalloc, tcmalloc allocates a descriptor for its
+ internal use, so calling closefrom() afterward causes the descriptor
+ number to be reused resulting in a corrupted connection. Moving the
+ closefrom a little earlier should resolve this. From kircherlike at
+ outlook.com via bz#3321, ok djm@
+
+commit 7ebfe4e439853b88997c9cfc2ff703408a1cca92
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 18 20:41:45 2021 +1000
+
+ Put second -lssh in link line for sftp-server.
+
+ When building --without-openssl the recent port-prngd.c change adds
+ a dependency on atomicio, but since nothing else in sftp-server uses
+ it, the linker may not find it. Add a second -lssh similar to other
+ binaries.
+
+commit e409d7966785cfd9f5970e66a820685c42169717
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 18 18:34:08 2021 +1000
+
+ Try EGD/PRNGD if random device fails.
+
+ When built --without-openssl, try EGD/PRGGD (if configured) as a last
+ resort before failing.
+
+commit e43a898043faa3a965dbaa1193cc60e0b479033d
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 18 18:32:51 2021 +1000
+
+ Split EGD/PRNGD interface into its own file.
+
+ This will allow us to use it when building --without-openssl.
+
+commit acb2887a769a1b1912cfd7067f3ce04fad240260
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu Jun 17 21:03:19 2021 +1000
+
+ Handle GIDs > 2^31 in getgrouplist.
+
+ When compiled in 32bit mode, the getgrouplist implementation may fail
+ for GIDs greater than LONG_MAX. Analysis and change from ralf.winkel
+ at tui.com.
+
+commit 31fac20c941126281b527605b73bff30a8f02edd
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Thu Jun 10 09:46:28 2021 +0000
+
+ upstream: Use $SUDO when reading sshd's pidfile here too.
+
+ OpenBSD-Regress-ID: 6bfb0d455d493f24839034a629c5306f84dbd409
+
+commit a3a58acffc8cc527f8fc6729486d34e4c3d27643
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Thu Jun 10 09:43:51 2021 +0000
+
+ upstream: Use $SUDO when reading sshd's pidfile in case it was
+
+ created with a very restrictive umask. This resyncs with -portable.
+
+ OpenBSD-Regress-ID: 07fd2af06df759d4f64b82c59094accca1076a5d
+
+commit 249ad4ae51cd3bc235e75a4846eccdf8b1416611
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Thu Jun 10 09:37:59 2021 +0000
+
+ upstream: Set umask when creating hostkeys to prevent excessive
+
+ permissions warning.
+
+ OpenBSD-Regress-ID: 382841db0ee28dfef7f7bffbd511803e1b8ab0ef
+
+commit 9d0892153c005cc65897e9372b01fa66fcbe2842
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Thu Jun 10 03:45:31 2021 +0000
+
+ upstream: Add regress test for SIGHUP restart
+
+ while handling active and unauthenticated clients. Should catch anything
+ similar to the pselect bug just fixed in sshd.c.
+
+ OpenBSD-Regress-ID: 3b3c19b5e75e43af1ebcb9586875b3ae3a4cac73
+
+commit 73f6f191f44440ca3049b9d3c8e5401d10b55097
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Thu Jun 10 03:14:14 2021 +0000
+
+ upstream: Continue accept loop when pselect
+
+ returns -1, eg if it was interrupted by a signal. This should prevent
+ the hang discovered by sthen@ wherein sshd receives a SIGHUP while it has
+ an unauthenticated child and goes on to a blocking read on a notify_pipe.
+ feedback deraadt@, ok djm@
+
+ OpenBSD-Commit-ID: 0243c1c5544fca0974dae92cd4079543a3fceaa0
+
+commit c785c0ae134a8e8b5c82b2193f64c632a98159e4
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 22:30:27 2021 +0000
+
+ upstream: test that UserKnownHostsFile correctly accepts multiple
+
+ arguments; would have caught readconf.c r1.356 regression
+
+ OpenBSD-Regress-ID: 71ca54e66c2a0211b04999263e56390b1f323a6a
+
+commit 1a6f6b08e62c78906a3032e8d9a83e721c84574e
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 22:06:12 2021 +0000
+
+ upstream: fix regression in r1.356: for ssh_config options that
+
+ accepted multiple string arguments, ssh was only recording the first.
+ Reported by Lucas via bugs@
+
+ OpenBSD-Commit-ID: 7cbf182f7449bf1cb7c5b4452667dc2b41170d6d
+
+commit 78e30af3e2b2dd540a341cc827c6b98dd8b0a6de
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 07:40:12 2021 +0000
+
+ upstream: test argv_split() optional termination on comments
+
+ OpenBSD-Regress-ID: 9fd1c4a27a409897437c010cfd79c54b639a059c
+
+commit a023138957ea2becf1c7f93fcc42b0aaac6f2b03
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Tue Jun 8 07:05:27 2021 +0000
+
+ upstream: Add testcases from bz#3319 for IPQoS and TunnelDevice
+
+ being overridden on the command line.
+
+ OpenBSD-Regress-ID: 801674d5d2d02abd58274a78cab2711f11de14a8
+
+commit 660cea10b2cdc11f13ba99c89b1bbb368a4d9ff2
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 06:52:43 2021 +0000
+
+ upstream: sprinkle some "# comment" at end of configuration lines
+
+ to test comment handling
+
+ OpenBSD-Regress-ID: cb82fbf40bda5c257a9f742c63b1798e5a8fdda7
+
+commit acc9c32dcb6def6c7d3688bceb4c0e59bd26b411
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 06:51:47 2021 +0000
+
+ upstream: more descriptive failure message
+
+ OpenBSD-Regress-ID: 5300f6faf1d9e99c0cd10827b51756c5510e3509
+
+commit ce04dd4eae23d1c9cf7c424a702f48ee78573bc1
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Jun 7 01:16:34 2021 +0000
+
+ upstream: test AuthenticationMethods inside a Match block as well
+
+ as in the main config section
+
+ OpenBSD-Regress-ID: ebe0a686621b7cb8bb003ac520975279c28747f7
+
+commit 9018bd821fca17e26e92f7a7e51d9b24cd62f2db
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Jun 7 00:00:50 2021 +0000
+
+ upstream: prepare for stricter sshd_config parsing that will refuse
+
+ a config that has {Allow,Deny}{Users,Groups} on a line with no subsequent
+ arguments. Such lines are permitted but are nonsensical noops ATM
+
+ OpenBSD-Regress-ID: ef65463fcbc0bd044e27f3fe400ea56eb4b8f650
+
+commit a10f929d1ce80640129fc5b6bc1acd9bf689169e
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 07:09:42 2021 +0000
+
+ upstream: switch sshd_config parsing to argv_split()
+
+ similar to the previous commit, this switches sshd_config parsing to
+ the newer tokeniser. Config parsing will be a little stricter wrt
+ quote correctness and directives appearing without arguments.
+
+ feedback and ok markus@
+
+ tested in snaps for the last five or so days - thanks Theo and those who
+ caught bugs
+
+ OpenBSD-Commit-ID: 9c4305631d20c2d194661504ce11e1f68b20d93e
+
+commit ea9e45c89a4822d74a9d97fef8480707d584da4d
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 07:07:15 2021 +0000
+
+ upstream: Switch ssh_config parsing to use argv_split()
+
+ This fixes a couple of problems with the previous tokeniser,
+ strdelim()
+
+ 1. strdelim() is permissive wrt accepting '=' characters. This is
+ intended to allow it to tokenise "Option=value" but because it
+ cannot keep state, it will incorrectly split "Opt=val=val2".
+ 2. strdelim() has rudimentry handling of quoted strings, but it
+ is incomplete and inconsistent. E.g. it doesn't handle escaped
+ quotes inside a quoted string.
+ 3. It has no support for stopping on a (unquoted) comment. Because
+ of this readconf.c r1.343 added chopping of lines at '#', but
+ this caused a regression because these characters may legitimately
+ appear inside quoted strings.
+
+ The new tokeniser is stricter is a number of cases, including #1 above
+ but previously it was also possible for some directives to appear
+ without arguments. AFAIK these were nonsensical in all cases, and the
+ new tokeniser refuses to accept them.
+
+ The new code handles quotes much better, permitting quoted space as
+ well as escaped closing quotes. Finally, comment handling should be
+ fixed - the tokeniser will terminate only on unquoted # characters.
+
+ feedback & ok markus@
+
+ tested in snaps for the last five or so days - thanks Theo and those who
+ caught bugs
+
+ OpenBSD-Commit-ID: dc72fd12af9d5398f4d9e159d671f9269c5b14d5
+
+commit d786424986c04d1d375f231fda177c8408e05c3e
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Tue Jun 8 07:02:46 2021 +0000
+
+ upstream: Check if IPQoS or TunnelDevice are already set before
+
+ overriding. Prevents values in config files from overriding values supplied
+ on the command line. bz#3319, ok markus.
+
+ OpenBSD-Commit-ID: f3b08b898c324debb9195e6865d8999406938f74
+
+commit aae4b4d3585b9f944d7dbd3c9e5ba0006c55e457
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Tue Jun 8 06:54:40 2021 +0000
+
+ upstream: Allow argv_split() to optionally terminate tokenisation
+
+ when it encounters an unquoted comment.
+
+ Add some additional utility function for working with argument
+ vectors, since we'll be switching to using them to parse
+ ssh/sshd_config shortly.
+
+ ok markus@ as part of a larger diff; tested in snaps
+
+ OpenBSD-Commit-ID: fd9c108cef2f713f24e3bc5848861d221bb3a1ac
+
+commit da9f9acaac5bab95dca642b48e0c8182b246ab69
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Jun 7 19:19:23 2021 +1000
+
+ Save logs on failure for upstream test
+
+commit 76883c60161e5f3808787085a27a8c37f8cc4e08
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Jun 7 14:36:32 2021 +1000
+
+ Add obsdsnap-i386 upstream test target.
+
+commit d45b9c63f947ec5ec314696e70281f6afddc0ac3
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon Jun 7 03:38:38 2021 +0000
+
+ upstream: fix debug message when finding a private key to match a
+
+ certificate being attempted for user authentication. Previously it would
+ print the certificate's path, whereas it was supposed to be showing the
+ private key's path. Patch from Alex Sherwin via GHPR247
+
+ OpenBSD-Commit-ID: d5af3be66d0f22c371dc1fe6195e774a18b2327b
+
+commit 530739d42f6102668aecd699be0ce59815c1eceb
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sun Jun 6 11:34:16 2021 +0000
+
+ upstream: Match host certificates against host public keys, not private
+
+ keys. Allows use of certificates with private keys held in a ssh-agent.
+ Reported by Miles Zhou in bz3524; ok dtucker@
+
+ OpenBSD-Commit-ID: 25f5bf70003126d19162862d9eb380bf34bac22a
+
+commit 4265215d7300901fd7097061c7517688ade82f8e
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sun Jun 6 03:40:39 2021 +0000
+
+ upstream: Client-side workaround for a bug in OpenSSH 7.4: this release
+
+ allows RSA/SHA2 signatures for public key authentication but fails to
+ advertise this correctly via SSH2_MSG_EXT_INFO. This causes clients of these
+ server to incorrectly match PubkeyAcceptedAlgorithms and potentially refuse
+ to offer valid keys.
+
+ Reported by and based on patch from Gordon Messmer via bz3213, thanks
+ also for additional analysis by Jakub Jelen. ok dtucker
+
+ OpenBSD-Commit-ID: d6d0b7351d5d44c45f3daaa26efac65847a564f7
+
+commit bda270d7fb8522d43c21a79a4b02a052d7c64de8
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sun Jun 6 03:17:02 2021 +0000
+
+ upstream: degrade gracefully if a sftp-server offers the
+
+ limits@openssh.com extension but fails when the client tries to invoke it.
+ Reported by Hector Martin via bz3318
+
+ OpenBSD-Commit-ID: bd9d1839c41811616ede4da467e25746fcd9b967
+
+commit d345d5811afdc2d6923019b653cdd93c4cc95f76
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Sun Jun 6 03:15:39 2021 +0000
+
+ upstream: the limits@openssh.com extension was incorrectly marked
+
+ as an operation that writes to the filesystem, which made it unavailable in
+ sftp-server read-only mode. Spotted by Hector Martin via bz3318
+
+ OpenBSD-Commit-ID: f054465230787e37516c4b57098fc7975e00f067
+
+commit 2b71010d9b43d7b8c9ec1bf010beb00d98fa765a
+Author: naddy@openbsd.org <naddy@openbsd.org>
+Date: Sat Jun 5 13:47:00 2021 +0000
+
+ upstream: PROTOCOL.certkeys: update reference from IETF draft to
+
+ RFC
+
+ Also fix some typos.
+ ok djm@
+
+ OpenBSD-Commit-ID: 5e855b6c5a22b5b13f8ffa3897a868e40d349b44
+
+commit aa99b2d9a3e45b943196914e8d8bf086646fdb54
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 4 23:41:29 2021 +1000
+
+ Clear notify_pipe from readset if present.
+
+ Prevents leaking an implementation detail to the caller.
+
+commit 6de8dadf6b4d0627d35bca0667ca44b1d61c2c6b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 4 23:24:25 2021 +1000
+
+ space->tabs.
+
+commit c8677065070ee34c05c7582a9c2f58d8642e552d
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Jun 4 18:39:48 2021 +1000
+
+ Add pselect implementation for platforms without.
+
+ This is basically the existing notify_pipe kludge from serverloop.c
+ moved behind a pselect interface. It works by installing a signal
+ handler that writes to a pipe that the select is watching, then calls
+ the original handler.
+
+ The select call in serverloop will become pselect soon, at which point the
+ kludge will be removed from thereand will only exist in the compat layer.
+ Original code by markus, help from djm.
+
+commit 7cd7f302d3a072748299f362f9e241d81fcecd26
+Author: Vincent Brillault <vincent.brillault@cern.ch>
+Date: Sun May 24 09:15:06 2020 +0200
+
+ auth_log: dont log partial successes as failures
+
+ By design, 'partial' logins are successful logins, so initially with
+ authenticated set to 1, for which another authentication is required. As
+ a result, authenticated is always reset to 0 when partial is set to 1.
+ However, even if authenticated is 0, those are not failed login
+ attempts, similarly to attempts with authctxt->postponed set to 1.
+
+commit e7606919180661edc7f698e6a1b4ef2cfb363ebf
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jun 4 06:19:07 2021 +0000
+
+ upstream: The RB_GENERATE_STATIC(3) macro expands to a series of
+
+ function definitions and not a statement, so there should be no semicolon
+ following them. Patch from Michael Forney
+
+ OpenBSD-Commit-ID: c975dd180580f0bdc0a4d5b7d41ab1f5e9b7bedd
+
+commit c298c4da574ab92df2f051561aeb3e106b0ec954
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jun 4 05:59:18 2021 +0000
+
+ upstream: rework authorized_keys example section, removing irrelevant
+
+ stuff, de-wrapping the example lines and better aligning the examples with
+ common usage and FAQs; ok jmc
+
+ OpenBSD-Commit-ID: d59f1c9281f828148e2a2e49eb9629266803b75c
+
+commit d9cb35bbec5f623589d7c58fc094817b33030f35
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jun 4 05:10:03 2021 +0000
+
+ upstream: adjust SetEnv description to clarify $TERM handling
+
+ OpenBSD-Commit-ID: 8b8cc0124856bc1094949d55615e5c44390bcb22
+
+commit 771f57a8626709f2ad207058efd68fbf30d31553
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Jun 4 05:09:08 2021 +0000
+
+ upstream: Switch the listening select loop from select() to
+
+ pselect() and mask signals while checking signal flags, umasking for pselect
+ and restoring afterwards. Also restore signals before sighup_restart so they
+ don't remain blocked after restart.
+
+ This prevents a race where a SIGTERM or SIGHUP can arrive between
+ checking the flag and calling select (eg if sshd is processing a
+ new connection) resulting in sshd not shutting down until the next
+ time it receives a new connection. bz#2158, with & ok djm@
+
+ OpenBSD-Commit-ID: bf85bf880fd78e00d7478657644fcda97b9a936f
+
+commit f64f8c00d158acc1359b8a096835849b23aa2e86
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jun 4 05:02:40 2021 +0000
+
+ upstream: allow ssh_config SetEnv to override $TERM, which is otherwise
+
+ handled specially by the protocol. Useful in ~/.ssh/config to set TERM to
+ something generic (e.g. "xterm" instead of "xterm-256color") for destinations
+ that lack terminfo entries. feedback and ok dtucker@
+
+ OpenBSD-Commit-ID: 38b1ef4d5bc159c7d9d589d05e3017433e2d5758
+
+commit 60107677dc0ce1e93c61f23c433ad54687fcd9f5
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Jun 4 04:02:21 2021 +0000
+
+ upstream: correct extension name "no-presence-required" =>
+
+ "no-touch-required"
+
+ document "verify-required" option
+
+ OpenBSD-Commit-ID: 1879ff4062cf61d79b515e433aff0bf49a6c55c5
+
+commit ecc186e46e3e30f27539b4311366dfda502f0a08
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Jun 2 13:54:11 2021 +1000
+
+ Retire fbsd7 test target.
+
+ It's the slowest of the selfhosted targets (since it's 32bit but has
+ most of the crypto algos). We still have coverage for 32bit i386.
+
+commit 5de0867b822ec48b5eec9abde0f5f95d1d646546
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Jun 2 11:21:40 2021 +1000
+
+ Check for $OPENSSL in md5 fallback too.
+
+commit 1db69d1b6542f8419c04cee7fd523a4a11004be2
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Jun 2 11:17:54 2021 +1000
+
+ Add dfly60 target.
+
+commit a3f2dd955f1c19cad387a139f0e719af346ca6ef
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Wed Jun 2 00:17:45 2021 +0000
+
+ upstream: Merge back shell portability changes
+
+ bringing it back in sync with -portable.
+
+ OpenBSD-Regress-ID: c07905ba931e66ad7d849b87b7d19648007175d1
+
+commit 9d482295c9f073e84d75af46b720a1c0f7ec2867
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Tue Jun 1 23:56:20 2021 +0000
+
+ upstream: Use a default value for $OPENSSL,
+
+ allowing it to be overridden. Do the same in the PuTTY tests since it's
+ needed there and not exported by test-exec.sh.
+
+ OpenBSD-Regress-ID: c49dcd6aa7602a8606b7afa192196ca1fa65de16
+
+commit 07660b3c99f8ea74ddf4a440e55c16c9f7fb3dd1
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon May 24 10:25:18 2021 +0000
+
+ upstream: Find openssl binary via environment variable. This
+
+ allows overriding if necessary (eg in -portable where we're testing against a
+ specific version of OpenSSL).
+
+ OpenBSD-Regress-ID: 491f39cae9e762c71aa4bf045803d077139815c5
+
+commit 1a4d1da9188d7c88f646b61f0d6a3b34f47c5439
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 21 04:03:47 2021 +0000
+
+ upstream: fix memleak in test
+
+ OpenBSD-Regress-ID: 5e529d0982aa04666604936df43242e97a7a6f81
+
+commit 60455a5d98065a73ec9a1f303345856bbd49aecc
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 21 03:59:01 2021 +0000
+
+ upstream: also check contents of remaining string
+
+ OpenBSD-Regress-ID: d526fa07253f4eebbc7d6205a0ab3d491ec71a28
+
+commit 39f6cd207851d7b67ca46903bfce4a9f615b5b1c
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 21 03:48:07 2021 +0000
+
+ upstream: unit test for misc.c:strdelim() that mostly servces to
+
+ highlight its inconsistencies
+
+ OpenBSD-Regress-ID: 8d2bf970fcc01ccc6e36a5065f89b9c7fa934195
+
+commit 7a3a1dd2c7d4461962acbcc0ebee9445ba892be0
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu May 27 21:23:15 2021 +1000
+
+ Put minix3 config in the host-specific block.
+
+commit 59a194825f12fff8a7f75d91bf751ea17645711b
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon May 31 06:48:42 2021 +0000
+
+ upstream: Hash challenge supplied by client during FIDO key enrollment
+
+ prior to passing it to libfido2, which does expect a hash.
+
+ There is no effect for users who are simply generating FIDO keys using
+ ssh-keygen - by default we generate a random 256 bit challenge, but
+ people building attestation workflows around our tools should now have
+ a more consistent experience (esp. fewer failures when they fail to
+ guess the magic 32-byte challenge length requirement).
+
+ ok markus@
+
+ OpenBSD-Commit-ID: b8d5363a6a7ca3b23dc28f3ca69470472959f2b5
+
+commit eb68e669bc8ab968d4cca5bf1357baca7136a826
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu May 27 21:14:15 2021 +1000
+
+ Include login_cap.h for login_getpwclass override.
+
+ On minix3, login_getpwclass is __RENAME'ed to __login_getpwclass50 so
+ without this the include overriding login_getpwclass causes a compile
+ error.
+
+commit 2063af71422501b65c7a92a5e14c0e6a3799ed89
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu May 27 21:13:38 2021 +1000
+
+ Add minix3 test target.
+
+commit 2e1efcfd9f94352ca5f4b6958af8a454f8cf48cd
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed May 26 01:47:24 2021 +0000
+
+ upstream: fix SEGV in UpdateHostkeys debug() message, triggered
+
+ when the update removed more host keys than remain present. Fix tested by
+ reporter James Cook, via bugs@
+
+ OpenBSD-Commit-ID: 44f641f6ee02bb957f0c1d150495b60cf7b869d3
+
+commit 9acd76e6e4d2b519773e7119c33cf77f09534909
+Author: naddy@openbsd.org <naddy@openbsd.org>
+Date: Sun May 23 18:22:57 2021 +0000
+
+ upstream: ssh: The client configuration keyword is
+
+ "hostbasedacceptedalgorithms"
+
+ This fixes a mistake that slipped in when "HostbasedKeyTypes" was
+ renamed to "HostbasedAcceptedAlgorithms".
+
+ Bug report by zack@philomathiclife.com
+
+ OpenBSD-Commit-ID: d745a7e8e50b2589fc56877f322ea204bc784f38
+
+commit 078a0e60c92700da4c536c93c007257828ccd05b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue May 25 11:40:47 2021 +1000
+
+ Rename README.md to ci-status.md.
+
+ The original intent was to provide a status page for the CIs configured
+ in that directory, but it had the side effect of replacing the top-level
+ README.md.
+
+commit 7be4ac813662f68e89f23c50de058a49aa32f7e4
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Wed May 19 01:24:05 2021 +0000
+
+ upstream: restore blocking status on stdio fds before close
+
+ ssh(1) needs to set file descriptors to non-blocking mode to operate
+ but it was not restoring the original state on exit. This could cause
+ problems with fds shared with other programs via the shell, e.g.
+
+ > $ cat > test.sh << _EOF
+ > #!/bin/sh
+ > {
+ > ssh -Fnone -oLogLevel=verbose ::1 hostname
+ > cat /usr/share/dict/words
+ > } | sleep 10
+ > _EOF
+ > $ ./test.sh
+ > Authenticated to ::1 ([::1]:22).
+ > Transferred: sent 2352, received 2928 bytes, in 0.1 seconds
+ > Bytes per second: sent 44338.9, received 55197.4
+ > cat: stdout: Resource temporarily unavailable
+
+ This restores the blocking status for fds 0,1,2 (stdio) before ssh(1)
+ abandons/closes them.
+
+ This was reported as bz3280 and GHPR246; ok dtucker@
+
+ OpenBSD-Commit-ID: 8cc67346f05aa85a598bddf2383fcfcc3aae61ce
+
+commit c4902e1a653c67fea850ec99c7537f358904c0af
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon May 17 11:43:16 2021 +0000
+
+ upstream: fix breakage of -W forwaring introduced in 1.554; reported by
+
+ naddy@ and sthen@, ok sthen@
+
+ OpenBSD-Commit-ID: f72558e643a26dc4150cff6e5097b5502f6c85fd
+
+commit afea01381ad1fcea1543b133040f75f7542257e6
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Mon May 17 07:22:45 2021 +0000
+
+ upstream: Regenerate moduli.
+
+ OpenBSD-Commit-ID: 83c93a2a07c584c347ac6114d6329b18ce515557
+
+commit be2866d6207b090615ff083c9ef212b603816a56
+Author: Damien Miller <djm@mindrot.org>
+Date: Mon May 17 09:40:23 2021 +1000
+
+ Handle Android libc returning NULL pw->pw_passwd
+
+ Reported by Luke Dashjr
+
+commit 5953c143008259d87342fb5155bd0b8835ba88e5
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 14 05:20:32 2021 +0000
+
+ upstream: fix previous: test saved no_shell_flag, not the one that just
+
+ got clobbered
+
+ OpenBSD-Commit-ID: b8deace085d9d941b2d02f810243b9c302e5355d
+
+commit 1e9fa55f4dc4b334651d569d3448aaa3841f736f
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 14 03:09:48 2021 +0000
+
+ upstream: Fix ssh started with ControlPersist incorrectly executing a
+
+ shell when the -N (no shell) option was specified. bz3290 reported by Richard
+ Schwab; patch from markus@ ok me
+
+ OpenBSD-Commit-ID: ea1ea4af16a95687302f7690bdbe36a6aabf87e1
+
+commit d1320c492f655d8f5baef8c93899d79dded217a5
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Wed May 12 11:34:30 2021 +0000
+
+ upstream: Clarify language about moduli. While both ends of the
+
+ connection do need to use the same parameters (ie groups), the DH-GEX
+ protocol takes care of that and both ends do not need the same contents in
+ the moduli file, which is what the previous text suggested. ok djm@ jmc@
+
+ OpenBSD-Commit-ID: f0c18cc8e79c2fbf537a432a9070ed94e96a622a
+
+commit d3cc4d650ce3e59f3e370b101778b0e8f1c02c4d
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 7 04:11:51 2021 +0000
+
+ upstream: include pid in LogVerbose spam
+
+ OpenBSD-Commit-ID: aacb86f96ee90c7cb84ec27452374285f89a7f00
+
+commit e3c032333be5fdbbaf2751f6f478e044922b4ec4
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 7 03:09:38 2021 +0000
+
+ upstream: don't sigdie() in signal handler in privsep child process;
+
+ this can end up causing sandbox violations per bz3286; ok dtucker@
+
+ OpenBSD-Commit-ID: a7f40b2141dca4287920da68ede812bff7ccfdda
+
+commit a4039724a3f2abac810735fc95cf9114a3856049
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri May 7 09:23:40 2021 +0000
+
+ upstream: Increase ConnectionAttempts from 4 to 10 as the tests
+
+ occasionally time out on heavily loaded hosts.
+
+ OpenBSD-Regress-ID: 29a8cdef354fc9da471a301f7f65184770434f3a
+
+commit c0d7e36e979fa3cdb60f5dcb6ac9ad3fd018543b
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 7 02:26:55 2021 +0000
+
+ upstream: dump out a usable private key string too; inspired by Tyson
+
+ Whitehead
+
+ OpenBSD-Regress-ID: 65572d5333801cb2f650ebc778cbdc955e372058
+
+commit 24fee8973abdf1c521cd2c0047d89e86d9c3fc38
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri May 7 02:29:40 2021 +0000
+
+ upstream: correct mistake in spec - the private key blobs are encoded
+
+ verbatim and not as strings (i.e. no 4-byte length header)
+
+ OpenBSD-Commit-ID: 3606b5d443d72118c5b76c4af6dd87a5d5a4f837
+
+commit f43859159cc62396ad5d080f0b1f2635a67dac02
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Tue May 4 22:53:52 2021 +0000
+
+ upstream: Don't pass NULL as a string in debugging as it does not work
+
+ on some platforms in -portable. ok djm@
+
+ OpenBSD-Commit-ID: 937c892c99aa3c9c272a8ed78fa7c2aba3a44fc9
+
+commit ac31aa3c6341905935e75f0539cf4a61bbe99779
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Mon May 3 00:16:45 2021 +0000
+
+ upstream: more debugging for UpdateHostKeys signature failures
+
+ OpenBSD-Commit-ID: 1ee95f03875e1725df15d5e4bea3e73493d57d36
+
+commit 8e32e97e788e0676ce83018a742203614df6a2b3
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat May 1 20:07:47 2021 +1000
+
+ Add obsd69 test target.
+
+commit f06893063597c5bb9d9e93f851c4070e77d2fba9
+Author: djm@openbsd.org <djm@openbsd.org>
+Date: Fri Apr 30 04:29:53 2021 +0000
+
+ upstream: a little debugging in the main mux process for status
+
+ confirmation failures in multiplexed sessions
+
+ OpenBSD-Commit-ID: 6e27b87c95176107597035424e1439c3232bcb49
+
+commit e65cf00da6bc31e5f54603b7feb7252dc018c033
+Author: dtucker@openbsd.org <dtucker@openbsd.org>
+Date: Fri Apr 30 04:02:52 2021 +0000
+
+ upstream: Remove now-unused skey function prototypes leftover from
+
+ skey removal.
+
+ OpenBSD-Commit-ID: 2fc36d519fd37c6f10ce74854c628561555a94c3
+
+commit ae5f9b0d5c8126214244ee6b35aae29c21028133
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu Apr 29 13:01:50 2021 +1000
+
+ Wrap sntrup761x25519 inside ifdef.
+
+ From balu.gajjala at gmail.com via bz#3306.
+
+commit 70a8dc138a6480f85065cdb239915ad4b7f928cf
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Apr 28 14:44:07 2021 +1000
+
+ Add status badges for Actions-based tests.
+
+commit 40b59024cc3365815381474cdf4fe423102e391b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Apr 28 12:22:11 2021 +1000
+
+ Add obsdsnap (OpenBSD snapshot) test target.
+
+commit e627067ec8ef9ae8e7a638f4dbac91d52dee3e6d
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Apr 28 11:35:28 2021 +1000
+
+ Add test building upstream OpenBSD source.
+
+commit 1b8108ebd12fc4ed0fb39ef94c5ba122558ac373
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Apr 27 14:22:20 2021 +1000
+
+ Test against OpenSSL 1.1.0h instead of 1.1.0g.
+
+ 1.1.0g requires a perl glob module that's not installed by default.
+
+commit 9bc20efd39ce8525be33df3ee009f5a4564224f1
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Apr 27 12:37:59 2021 +1000
+
+ Use the default VM type for libcrypto ver tests.
+
+commit 9f79e80dc40965c2e73164531250b83b176c1eea
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Apr 27 12:24:10 2021 +1000
+
+ Always build OpenSSL shared.
+
+ This is the default for current versions but we need it to test against
+ earlier versions.
+
+commit b3cc9fbdff2782eca79e33e02ac22450dc63bce9
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Apr 27 09:18:02 2021 +1000
+
+ Fix custom OpenSSL tests.
+
+ Check out specified OpenSSL version. Install custom libcrypto where
+ configure expects to find it. Remove unneeded OpenSSL config time
+ options. Older OpenSSL versions were not make -j safe so remove it.
+
+commit 77532609874a99a19e3e2eb2d1b7fa93aef963bb
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 17:18:25 2021 +1000
+
+ Export CC and CFLAGS for c89 test.
+
+commit 33f62dfbe865f4de77980ab88774bf1eb5e4e040
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 17:13:44 2021 +1000
+
+ Add c89 here too.
+
+commit da9d59f526fce58e11cba49cd8eb011dc0bf5677
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 15:34:23 2021 +1000
+
+ Add test against OpenSSL w/out ECC.
+
+commit 29e194a752359ebf85bf7fce100f23a0477fc4de
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 14:49:59 2021 +1000
+
+ Ensure we can still build with C89.
+
+commit a38016d369d21df5d35f761f2b67e175e132ba22
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 14:29:03 2021 +1000
+
+ Interop test agains PuTTY.
+
+commit 095b0307a77be8803768857cc6c0963fa52ed85b
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 14:02:03 2021 +1000
+
+ Support testing against arbitary libcrytpo vers.
+
+ Add tests against various LibreSSL and OpenSSL versions.
+
+commit b16082aa110fa7128ece2a9037ff420c4a285317
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Mon Apr 26 13:35:44 2021 +1000
+
+ Add fbsd10 test target.
+
+commit 2c805f16b24ea37cc051c6018fcb05defab6e57a
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Apr 25 14:15:02 2021 +1000
+
+ Disable compiler hardening on nbsd4.
+
+ The system compiler supports -fstack-protector-all, but using it will
+ result in an internal compiler error on some files.
+
+commit 6a5d39305649da5dff1934ee54292ee0cebd579d
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sun Apr 25 13:01:34 2021 +1000
+
+ Add nbsd3, nbsd4 and nbsd9 test targets.
+
+commit d1aed05bd2e4ae70f359a394dc60a2d96b88f78c
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Apr 24 22:03:46 2021 +1000
+
+ Comment out nbsd2 test target for now.
+
+commit a6b4ec94e5bd5a8a18cd2c9942d829d2e5698837
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Apr 24 17:52:24 2021 +1000
+
+ Add OPENBSD ORIGINAL marker.
+
+commit 3737c9f66ee590255546c4b637b6d2be669a11eb
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 19:49:46 2021 +1000
+
+ Replace "==" (a bashism) with "=".
+
+commit a116b6f5be17a1dd345b7d54bf8aa3779a28a0df
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 16:34:48 2021 +1000
+
+ Add nbsd2 test target.
+
+commit 196bf2a9bb771f45d9b0429cee7d325962233c44
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 14:54:10 2021 +1000
+
+ Add obsd68 test target.
+
+commit e3ba6574ed69e8b7af725cf5e8a9edaac04ff077
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 14:53:32 2021 +1000
+
+ Remove dependency on bash.
+
+commit db1f9ab8feb838aee9f5b99c6fd3f211355dfdcf
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 14:41:13 2021 +1000
+
+ Add obsd67 test target.
+
+commit c039a6bf79192fe1daa9ddcc7c87dd98e258ae7c
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 11:08:23 2021 +1000
+
+ Re-add macos-11.0 test target.
+
+commit a6db3a47b56adb76870d59225ffb90a65bc4daf2
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 10:28:28 2021 +1000
+
+ Add openindiana test target.
+
+commit 3fe7e73b025c07eda46d78049f1da8ed7dfc0c69
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 23 10:26:35 2021 +1000
+
+ Test krb5 on Solaris 11 too.
+
+commit f57fbfe5eb02df1a91f1a237c4d27165afd87c13
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu Apr 22 22:27:26 2021 +1000
+
+ Don't always set SUDO.
+
+ Rely on sourcing configs to set as appropriate.
+
+commit e428f29402fb6ac140b52f8f12e06ece7bb104a0
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Thu Apr 22 22:26:08 2021 +1000
+
+ Remove now-unused 2nd arg to configs.
+
+commit cb4ff640d79b3c736879582139778f016bbb2cd7
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Wed Apr 21 01:08:04 2021 +1000
+
+ Add win10 test target.
+
+commit 4457837238072836b2fa3107d603aac809624983
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Tue Apr 20 23:31:29 2021 +1000
+
+ Add nbsd8 test target.
+
+commit bd4fba22e14da2fa196009010aabec5a8ba9dd42
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Sat Apr 17 09:55:47 2021 +1000
+
+ Add obsd51 target.
+
+commit 9403d0e805c77a5741ea8c3281bbe92558c2f125
+Author: Darren Tucker <dtucker@dtucker.net>
+Date: Fri Apr 16 18:14:25 2021 +1000
+
+ Add fbsd13 target.
+
commit e86968280e358e62649d268d41f698d64d0dc9fa
Author: Damien Miller <djm@mindrot.org>
Date: Fri Apr 16 13:55:25 2021 +1000
@@ -11328,1579 +13701,3 @@ Date: Fri Aug 23 10:08:48 2019 +1000
Used by some hardened heap allocators. Requested by Yegor
Timoshenko in https://github.com/openssh/openssh-portable/pull/142
-
-commit e3b6c966b79c3ea5d51b923c3bbdc41e13b96ea0
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Aug 16 06:13:15 2019 +0000
-
- upstream: switch percent_expand() to use sshbuf instead of a limited
-
- fixed buffer; ok markus@
-
- OpenBSD-Commit-ID: 3f9ef20bca5ef5058b48c1cac67c53b9a1d15711
-
-commit 9ab5b9474779ac4f581d402ae397f871ed16b383
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Aug 9 05:05:54 2019 +0000
-
- upstream: produce a useful error message if the user's shell is set
-
- incorrectly during "match exec" processing. bz#2791 reported by Dario
- Bertini; ok dtucker
-
- OpenBSD-Commit-ID: cf9eddd6a6be726cb73bd9c3936f3888cd85c03d
-
-commit 8fdbc7247f432578abaaca1b72a0dbf5058d67e5
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Aug 9 04:24:03 2019 +0000
-
- upstream: Change description of TCPKeepAlive from "inactive" to
-
- "unresponsive" to clarify what it checks for. Patch from jblaine at
- kickflop.net via github pr#129, ok djm@.
-
- OpenBSD-Commit-ID: 3682f8ec7227f5697945daa25d11ce2d933899e9
-
-commit 7afc45c3ed72672690014dc432edc223b23ae288
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Aug 8 08:02:57 2019 +0000
-
- upstream: Allow the maximimum uint32 value for the argument passed to
-
- -b which allows better error messages from later validation. bz#3050, ok
- djm@
-
- OpenBSD-Commit-ID: 10adf6876b2401b3dc02da580ebf67af05861673
-
-commit c31e4f5fb3915c040061981a67224de7650ab34b
-Author: naddy@openbsd.org <naddy@openbsd.org>
-Date: Mon Aug 5 21:45:27 2019 +0000
-
- upstream: Many key types are supported now, so take care to check
-
- the size restrictions and apply the default size only to the matching key
- type. tweak and ok dtucker@
-
- OpenBSD-Commit-ID: b825de92d79cc4cba19b298c61e99909488ff57e
-
-commit 6b39a7b49ebacec4e70e24bfc8ea2f11057aac22
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Mon Aug 5 11:50:33 2019 +0000
-
- upstream: Remove now-redundant perm_ok arg since
-
- sshkey_load_private_type will now return SSH_ERR_KEY_BAD_PERMISSIONS in that
- case. Patch from jitendra.sharma at intel.com, ok djm@
-
- OpenBSD-Commit-ID: 07916a17ed0a252591b71e7fb4be2599cb5b0c77
-
-commit d46075b923bf25e6f25959a3f5b458852161cb3e
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Mon Aug 5 21:36:48 2019 +1000
-
- Fix mem leak in unit test.
-
- Patch from jitendra.sharma at intel.com.
-
-commit c4ffb72593c08921cf9291bc05a5ef1d0aaa6891
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Aug 2 01:41:24 2019 +0000
-
- upstream: fix some memleaks in test_helper code
-
- bz#3037 from Jitendra Sharma
-
- OpenBSD-Regress-ID: 71440fa9186f5842a65ce9a27159385c6cb6f751
-
-commit 6e76e69dc0c7712e9ac599af34bd091b0e7dcdb5
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Aug 2 01:23:19 2019 +0000
-
- upstream: typo; from Christian Hesse
-
- OpenBSD-Commit-ID: 82f6de7438ea7ee5a14f44fdf5058ed57688fdc3
-
-commit 49fa065a1bfaeb88a59abdfa4432d3b9c35b0655
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Tue Jul 30 05:04:49 2019 +0000
-
- upstream: let sshbuf_find/cmp take a void* for the
-
- search/comparison argument, instead of a u_char*. Saves callers needing to
- cast.
-
- OpenBSD-Commit-ID: d63b69b7c5dd570963e682f758f5a47b825605ed
-
-commit 7adf6c430d6fc17901e167bc0789d31638f5c2f8
-Author: mestre@openbsd.org <mestre@openbsd.org>
-Date: Wed Jul 24 08:57:00 2019 +0000
-
- upstream: When using a combination of a Yubikey+GnuPG+remote
-
- forwarding the gpg-agent (and options ControlMaster+RemoteForward in
- ssh_config(5)) then the codepath taken will call mux_client_request_session
- -> mm_send_fd -> sendmsg(2). Since sendmsg(2) is not allowed in that codepath
- then pledge(2) kills the process.
-
- The solution is to add "sendfd" to pledge(2), which is not too bad considering
- a little bit later we reduce pledge(2) to only "stdio proc tty" in that
- codepath.
-
- Problem reported and diff provided by Timothy Brown <tbrown at freeshell.org>
-
- OK deraadt@
-
- OpenBSD-Commit-ID: 7ce38b6542bbec00e441595d0a178e970a9472ac
-
-commit 0e2fe18acc1da853a9120c2e9af68e8d05e6503e
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 23 23:06:57 2019 +0000
-
- upstream: Fix typo in CASignatureAlgorithms wherein what should be
-
- a comma is a dot. Patch from hnj2 via github pr#141.
-
- OpenBSD-Commit-ID: 01f5a460438ff1af09aab483c0a70065309445f0
-
-commit e93ffd1a19fc47c49d68ae2fb332433690ecd389
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Mon Jul 29 16:04:01 2019 +1000
-
- Report success of individual tests as well as all.
-
- This puts the "all tests passed" message back at the end where the
- test harnesses can find it.
-
-commit 2ad5b36b18bddf2965fe60384c29b3f1d451b4ed
-Author: Damien Miller <djm@mindrot.org>
-Date: Mon Jul 29 09:49:23 2019 +1000
-
- convert to UTF-8; from Mike Frysinger
-
-commit d31e7c937ba0b97534f373cf5dea34675bcec602
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Jul 26 04:22:21 2019 +0000
-
- upstream: Restrict limit-keytype to types supported by build. This
-
- means we have to skip a couple tests when only one key type is supported.
-
- OpenBSD-Regress-ID: 22d05befb9c7ce21ce8dc22acf1ffe9e2ef2e95e
-
-commit 0967a233b8a28907ae8a4a6773c89f21d2ace11b
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Thu Jul 25 18:36:28 2019 +1000
-
- Remove override disabling DH-GEX.
-
- The DH-GEX override doesn't work when build without OpenSSL, and
- we'll prefer curve25519 these days, removing the need for it.
-
-commit 061407efc19b41ab4a7485e5adcff2a12befacdb
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Jul 25 09:17:35 2019 +0000
-
- upstream: Only use supported key types during KRL test, preferring
-
- ed25519 since it's supported by both OpenSSL and non-OpenSSL builds.
-
- OpenBSD-Regress-ID: 9f2bb3eadd50fcc8245b1bd8fd6f0e53602f71aa
-
-commit 47f8ff1fa5b76790c1d785815fd13ee6009f8012
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Jul 25 08:48:11 2019 +0000
-
- upstream: Switch keys-command test from rsa to ed25519 since it's
-
- supported for both OpenSSL and non-OpenSSL builds.
-
- OpenBSD-Regress-ID: 174be4be876edd493e4a5c851e5bc579885e7a0a
-
-commit 1e94afdfa8df774ab7dd3bad52912b636dc31bbd
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Jul 25 08:28:15 2019 +0000
-
- upstream: Make certificate tests work with the supported key
-
- algorithms. Allows tests to pass when built without OpenSSL.
-
- OpenBSD-Regress-ID: 617169a6dd9d06db3697a449d9a26c284eca20fc
-
-commit 26bf693661a48b97b6023f702b2af643676ac21a
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 23 13:49:14 2019 +0000
-
- upstream: Construct list of key types to test based on the types
-
- supported by the binaries.
-
- OpenBSD-Regress-ID: fcbd115efacec8ab0ecbdb3faef79ac696cb1d62
-
-commit 773c55b3d1230e8f7714a1b33873c37b85049c74
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 23 13:32:48 2019 +0000
-
- upstream: Only use DSA key type in tests if binaries support it.
-
- OpenBSD-Regress-ID: 770e31fe61dc33ed8eea9c04ce839b33ddb4dc96
-
-commit 159e987a54d92ccd73875e7581ffc64e8927a715
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Wed Jul 24 14:21:19 2019 +1000
-
- Split test targets further.
-
- Splits test into file-tests, t-exec, unit and interop-tests and their
- respective dependencies. Should allow running any set individually
- without having to build the other dependencies that are not needed
- for that specific test.
-
-commit 520d4550a2470106d63e30079bb05ce82f3a4f7d
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Wed Jul 24 11:20:18 2019 +1000
-
- Add lib dependencies for regress binary targets.
-
-commit 4e8d0dd78d5f6142841a07dc8b8c6b4730eaf587
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Wed Jul 24 00:12:51 2019 +1000
-
- Make "unit" a dependency of "test".
-
-commit 4317b2a0480e293e58ba115e47b49d3a384b6568
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 23:24:47 2019 +1000
-
- upstream rev 1.28: fix comment typo.
-
-commit e0055af2bd39fdb44566ff6594147664e1fac8b8
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 23:06:22 2019 +1000
-
- Split regress-binaries into two targets.
-
- Split the binaries for the unit tests out into a regress-unit-binaries
- target, and add a dependency on it for only the unit tests. This allows
- us to run the integration tests only ("make t-exec") without building
- the unit tests, which allows us to run a subset of the tests when
- building --without-openssl without trying (and failing) to build the
- unit tests.
-
- This means there are two targets for "unit" which I *think* is valid
- (it works in testing, and makedepend will generate Makefiles of this
- form)a but I could be wrong.
-
-commit 7cdf9fdcf11aaaa98c2bd22c92882ea559e772ad
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 23 08:19:29 2019 +0000
-
- upstream: Skip DH group generation test if binaries don't support
-
- DH-GEX.
-
- OpenBSD-Regress-ID: 7c918230d969ecf7656babd6191a74526bffbffd
-
-commit 3a3eab8bb0da3d2f0f32cb85a1a268bcca6e4d69
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 23 07:55:29 2019 +0000
-
- upstream: Only test conversion of key types supported by the
-
- binaries.
-
- OpenBSD-Regress-ID: e3f0938a0a7407e2dfbb90abc3ec979ab6e8eeea
-
-commit 7e66b7d98c6e3f48a1918c3e1940c9b11b10ec63
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 23 07:39:43 2019 +0000
-
- upstream: Only add ssh-dss to allowed key types if it's supported
-
- by the binary.
-
- OpenBSD-Regress-ID: 395a54cab16e9e4ece9aec047ab257954eebd413
-
-commit fd0684b319e664d8821dc4ca3026126dfea3ccf4
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 22:36:39 2019 +1000
-
- Remove sys/cdefs.h include.
-
- It's not needed on -portable (that's handled by includes.h) and not all
- platforms have it.
-
-commit 9634ffbf29b3c2493e69d10b37077b09a8cbf5ff
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 22:25:44 2019 +1000
-
- Add headers to prevent warnings w/out OpenSSL.
-
-commit 2ea60312e1c08dea88982fec68244f89a40912ff
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 22:11:50 2019 +1000
-
- Include stdlib.h for free() and calloc().
-
-commit 11cba2a4523fda447e2554ea457484655bedc831
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 21:51:22 2019 +1000
-
- Re-apply portability changes to current sha2.{c,h}.
-
- Rather than attempt to apply 14 years' worth of changes to OpenBSD's sha2
- I imported the current versions directly then re-applied the portability
- changes. This also allowed re-syncing digest-libc.c against upstream.
-
-commit 09159594a3bbd363429ee6fafde57ce77986dd7c
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 20:27:51 2019 +1000
-
- Import current sha2.c and sha2.h from OpenBSD.
-
- These are not changed from their original state, the next commit will
- re-apply the portable changes.
-
-commit 2e6035b900cc9d7432d95084e03993d1b426f812
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 23 08:11:22 2019 +1000
-
- Rename valgrind "errors" to "failures".
-
- When valgrind is enabled, test-exec.sh counts the number of invocations
- that valgrind detects failures in, not the total number of errors detected.
- This makes the name to be more accurate.
-
-commit e82c9bb9ffa65725cc2e03ea81cb79ce3387f66b
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 18:51:18 2019 +1000
-
- Skip running sftp-chroot under Valgrind.
-
-commit 41e22c2e05cb950b704945ac9408f6109c9b7848
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Sat Jul 20 09:50:58 2019 +0000
-
- upstream: Remove the sleeps and thus races from the forwarding
-
- test. They were originally required to work with Protocol 1, but now we can
- use ssh -N and the control socket without the sleeps. While there, suppress
- output fro the control exit commands.
-
- OpenBSD-Regress-ID: 4c51a1d651242f12c90074c18c61008a74c1c790
-
-commit 0423043c5e54293f4dd56041304fd0046c317be9
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Sat Jul 20 09:37:31 2019 +0000
-
- upstream: Allow SLEEPTIME to be overridden.
-
- OpenBSD-Regress-ID: 1596ab168729954be3d219933b2d01cc93687e76
-
-commit d466b6a5cfba17a83c7aae9f584ab164e2ece0a1
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Sat Jul 20 09:14:40 2019 +0000
-
- upstream: Move sleep time into a variable so that we can increase
-
- it for platforms or configurations that are much slower then usual.
-
- OpenBSD-Regress-ID: 88586cabc800062c260d0b876bdcd4ca3f58a872
-
-commit b4a7c9d2b5f928e0b902b580d35dc8b244a3aae0
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jul 19 03:45:44 2019 +0000
-
- upstream: add regression tests for scp for out-of-destination path file
-
- creation by Harry Sintonen via Jakub Jelen in bz3007
-
- OpenBSD-Regress-ID: 01ae5fbc6ce400b2df5a84dc3152a9e31f354c07
-
-commit bca0582063f148c7ddf409ec51435a5a726bee4c
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jul 19 03:38:01 2019 +0000
-
- upstream: Accept the verbose flag when searching for host keys in known
-
- hosts (i.e. "ssh-keygen -vF host") to print the matching host's random- art
- signature too. bz#3003 "amusing, pretty" deraadt@
-
- OpenBSD-Commit-ID: 686221a5447d6507f40a2ffba5393984d889891f
-
-commit 5299a09fa2879a068af200c91028fcfa9283c0f0
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 13:50:25 2019 +1000
-
- Revert one dependency per line change.
-
- It turns out that having such a large number of lines in the .depend
- file will cause the memory usage of awk during AC_SUBST to blow up on at
- least NetBSD's awk, causing configure to fail.
-
-commit 01dddb231f23b4a7b616f9d33a0b9d937f9eaf0e
-Author: Damien Miller <djm@mindrot.org>
-Date: Fri Jul 19 13:19:19 2019 +1000
-
- fix SIGWINCH delivery of Solaris for mux sessions
-
- Remove PRIV_PROC_SESSION which was limiting ability to send SIGWINCH
- signals to other sessions. bz#3030; report and fix from Darren Moffat
-
-commit 05500af21d27c1a3ddac232b018cc23da7b1ee95
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 13:20:03 2019 +1000
-
- Force dependencies one per line.
-
- Force makedepend to output one dependency per line, which will make
- reading diffs against it much easier. ok djm@
-
-commit b5bc5d016bbb83eb7f8e685390044e78b1ea1427
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 13:18:07 2019 +1000
-
- make depend.
-
-commit 65333f7454365fe40f7367630e7dd10903b9d99e
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 13:16:11 2019 +1000
-
- Show when skipping valgrind for a test.
-
-commit fccb7eb3436da8ef3dcd22e5936ba1abc7ae6730
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 10:41:56 2019 +1000
-
- Enable connect-privsep test with valgrind.
-
- connect-privsep seems to work OK with valgrind now so don't skip
- valgrind on it.
-
-commit d7423017265c5ae6d0be39340feb6c9f016b1f71
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 19 07:43:07 2019 +1000
-
- Show valgrind results and error counts.
-
-commit 22b9b3e944880db906c6ac5527c4228bd92b293a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Thu Jul 18 13:40:12 2019 +1000
-
- Fix format string integer type in error message.
-
-commit ed46a0c0705895834d3f47a46faa89c2a71b760a
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Thu Jul 18 13:26:00 2019 +0000
-
- upstream: fix off-by-one in sshbuf_dtob64() base64 wrapping that could
-
- cause extra newlines to be appended at the end of the base64 text (ugly, but
- harmless). Found and fixed by Sebastian Kinne
-
- OpenBSD-Commit-ID: 9fe290bd68f706ed8f986a7704ca5a2bd32d7b68
-
-commit a192021fedead23c375077f92346336d531f8cad
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Thu Jul 18 11:09:38 2019 +1000
-
- Fail tests if Valgrind enabled and reports errors.
-
- Also dump the failing valgrind report to stdout (not the cleanest
- solution, but better than nothing).
-
-commit d1c491ecb939ee10b341fa7bb6205dff19d297e5
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Thu Jul 18 10:17:54 2019 +1000
-
- Allow low-priv tests to write to pipe dir.
-
- When running regression tests with Valgrind and SUDO, the low-priv agent
- tests need to be able to create pipes in the appropriate directory.
-
-commit 8a5bb3e78191cc206f970c26d2a26c949971e91a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Wed Jul 17 21:24:55 2019 +1000
-
- Put valgrind vgdb files to a specific directory.
-
- Valgrind by default puts vgdb files and pipes under /tmp, however it
- is not always able to clean them up, which can cause test failures when
- there's a pid/file collision. Using a specific directory ensures that
- we can clean up and start clean.
-
-commit f8829fe57fb0479d6103cfe1190095da3c032c6d
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Tue Jul 16 22:16:49 2019 +0000
-
- upstream: adapt to sshbuf_dtob64() change
-
- OpenBSD-Regress-ID: 82374a83edf0955fd1477169eee3f5d6467405a6
-
-commit 1254fcbb2f005f745f2265016ee9fa52e16d37b0
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 16 03:21:54 2019 +0000
-
- upstream: Remove ssh1 files from CLEANFILES since ssh1 no longer
-
- supported.
-
- OpenBSD-Regress-ID: 5b9ae869dc669bac05939b4a2fdf44ee067acfa0
-
-commit 9dc81a5adabc9a7d611ed2e63fbf4c85d43b15c6
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Jul 16 02:09:29 2019 +0000
-
- upstream: Update names of host key files in CLEANFILES to match
-
- recent changes to the tests.
-
- OpenBSD-Regress-ID: 28743052de3acf70b06f18333561497cd47c4ecf
-
-commit e44e4ad1190db22ed407a79f32a8cff5bcd2b815
-Author: Damien Miller <djm@mindrot.org>
-Date: Tue Jul 16 23:26:53 2019 +1000
-
- depend
-
-commit 16dd8b2c78a0de106c7429e2a294d203f6bda3c7
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Tue Jul 16 13:18:39 2019 +0000
-
- upstream: remove mostly vestigal uuencode.[ch]; moving the only unique
-
- functionality there (wrapping of base64-encoded data) to sshbuf functions;
- feedback and ok markus@
-
- OpenBSD-Commit-ID: 4dba6735d88c57232f6fccec8a08bdcfea44ac4c
-
-commit 45478898f9590b5cc8bc7104e573b84be67443b0
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 16 09:20:23 2019 +1000
-
- Hook memmem compat code into build.
-
- This fixes builds on platforms that don't have it (at least old DragonFly,
- probably others).
-
-commit c7bd4617293a903bd3fac3394a7e72d439af49a5
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Jul 16 09:07:18 2019 +1000
-
- Import memmem.c from OpenBSD.
-
-commit 477e2a3be8b10df76e8d76f0427b043280d73d68
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Mon Jul 15 13:12:02 2019 +0000
-
- upstream: unit tests for sshbuf_cmp() and sshbuf_find(); ok markus
-
- OpenBSD-Regress-ID: b52d36bc3ab6dc158c1e59a9a4735f821cf9e1fd
-
-commit eb0d8e708a1f958aecd2d6e2ff2450af488d4c2a
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Mon Jul 15 13:16:29 2019 +0000
-
- upstream: support PKCS8 as an optional format for storage of
-
- private keys, enabled via "ssh-keygen -m PKCS8" on operations that save
- private keys to disk.
-
- The OpenSSH native key format remains the default, but PKCS8 is a
- superior format to PEM if interoperability with non-OpenSSH software
- is required, as it may use a less terrible KDF (IIRC PEM uses a single
- round of MD5 as a KDF).
-
- adapted from patch by Jakub Jelen via bz3013; ok markus
-
- OpenBSD-Commit-ID: 027824e3bc0b1c243dc5188504526d73a55accb1
-
-commit e18a27eedccb024acb3cd9820b650a5dff323f01
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Mon Jul 15 13:11:38 2019 +0000
-
- upstream: two more bounds-checking sshbuf counterparts to common
-
- string operations: sshbuf_cmp() (bcmp-like) and sshbuf_find() (memmem like)
-
- feedback and ok markus@
-
- OpenBSD-Commit-ID: fd071ec2485c7198074a168ff363a0d6052a706a
-
-commit bc551dfebb55845537b1095cf3ccd01640a147b7
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Mon Jul 15 12:52:45 2019 +1000
-
- Clear valgrind-out dir to prevent collisions.
-
-commit 5db9ba718e983661a9114ae1418f6e412d1f52d5
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Mon Jul 15 12:02:27 2019 +1000
-
- Allow agent tests to write to valgrind dir.
-
-commit 121e48fa5305f41f0477d9908e3d862987a68a84
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Sun Jul 14 23:33:19 2019 +0000
-
- upstream: unit tests for sshbuf_peek/poke bounds-checked random access
-
- functions. ok markus@
-
- OpenBSD-Regress-ID: 034c4284b1da6b12e25c762a6b958efacdafbaef
-
-commit 101d164723ffbc38f8036b6f3ea3bfef771ba250
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Sun Jul 14 23:32:27 2019 +0000
-
- upstream: add some functions to perform random-access read/write
-
- operations inside buffers with bounds checking. Intended to replace manual
- pointer arithmetic wherever possible.
-
- feedback and ok markus@
-
- OpenBSD-Commit-ID: 91771fde7732738f1ffed078aa5d3bee6d198409
-
-commit 7250879c72d28275a53f2f220e49646c3e42ef18
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jul 12 04:08:39 2019 +0000
-
- upstream: include SHA2-variant RSA key algorithms in KEX proposal;
-
- allows ssh-keyscan to harvest keys from servers that disable olde SHA1
- ssh-rsa. bz#3029 from Jakub Jelen
-
- OpenBSD-Commit-ID: 9f95ebf76a150c2f727ca4780fb2599d50bbab7a
-
-commit a0876bd994cab9ba6e47ba2a163a4417c7597487
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jul 12 03:56:21 2019 +0000
-
- upstream: print explicit "not modified" message if a file was
-
- requested for resumed download but was considered already complete.
-
- bz#2978 ok dtucker
-
- OpenBSD-Commit-ID: f32084b26a662f16215ee4ca4a403d67e49ab986
-
-commit b9b0f2ac9625933db53a35b1c1ce423876630558
-Author: tb@openbsd.org <tb@openbsd.org>
-Date: Wed Jul 10 07:04:27 2019 +0000
-
- upstream: Fix a typo and make <esc><right> move right to the
-
- closest end of a word just like <esc><left> moves left to the closest
- beginning of a word.
-
- ok djm
-
- OpenBSD-Commit-ID: 6afe01b05ed52d8b12eb1fda6e9af5afb5e198ee
-
-commit 8729498a5d239980a91d32f031b34e8c58c52f62
-Author: Damien Miller <djm@mindrot.org>
-Date: Wed Jul 10 09:43:19 2019 +1000
-
- fix typo that prevented detection of Linux VRF
-
- Reported by hexiaowen AT huawei.com
-
-commit 5b2b79ff7c057ee101518545727ed3023372891d
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Tue Jul 9 04:15:00 2019 +0000
-
- upstream: cap the number of permiopen/permitlisten directives we're
-
- willing to parse on a single authorized_keys line; ok deraadt@
-
- OpenBSD-Commit-ID: a43a752c2555d26aa3fc754805a476f6e3e30f46
-
-commit eb0b51dac408fadd1fd13fa6d726ab8fdfcc4152
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Mon Jul 8 17:27:26 2019 +1000
-
- Move log.h include inside ifdefs.
-
- Fixes build on some other platforms that don't have va_list immediately
- available (eg NetBSD).
-
-commit 43702f8e6fa22a258e25c4dd950baaae0bc656b7
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jul 6 23:07:04 2019 +1000
-
- Include log.h for debug() and friends.
-
- Should fix some compiler warnings on IRIX (bz#3032).
-
-commit 53a6ebf1445a857f5e487b18ee5e5830a9575149
-Author: Damien Miller <djm@mindrot.org>
-Date: Mon Jul 8 13:44:32 2019 +1000
-
- sftp-realpath.c needs includes.h
-
-commit 4efe1adf05ee5d3fce44320fcff68735891f4ee6
-Author: Damien Miller <djm@mindrot.org>
-Date: Mon Jul 8 13:38:39 2019 +1000
-
- remove realpath() compat replacement
-
- We shipped a BSD implementation of realpath() because sftp-server
- depended on its behaviour.
-
- OpenBSD is now moving to a more strictly POSIX-compliant realpath(2),
- so sftp-server now unconditionally requires its own BSD-style realpath
- implementation. As such, there is no need to carry another independant
- implementation in openbsd-compat.
-
- ok dtucker@
-
-commit 696fb4298e80f2ebcd188986a91b49af3b7ca14c
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Sun Jul 7 01:05:00 2019 +0000
-
- upstream: Remove some set but never used variables. ok daraadt@
-
- OpenBSD-Commit-ID: 824baf9c59afc66a4637017e397b9b74a41684e7
-
-commit 156e9e85e92b46ca90226605d9eff49e8ec31b22
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Fri Jul 5 12:35:40 2019 +0000
-
- upstream: still compile uuencode.c, unbreaks build
-
- OpenBSD-Commit-ID: 5ea3d63ab972691f43e9087ab5fd8376d48e898f
-
-commit cec9ee527a12b1f6c2e0a1c155fec64a38d71cf6
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jul 5 07:32:01 2019 +0000
-
- upstream: revert header removal that snuck into previous
-
- OpenBSD-Commit-ID: 3919cdd58989786660b8269b325646ef8856428e
-
-commit 569b650f93b561c09c655f83f128e1dfffe74101
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jul 5 04:55:40 2019 +0000
-
- upstream: add a local implementation of BSD realpath() for
-
- sftp-server use ahead of OpenBSD's realpath changing to match POSIX;
-
- ok deraadt@ (thanks for snaps testing)
-
- OpenBSD-Commit-ID: 4f8cbf7ed8679f6237264301d104ecec64885d55
-
-commit b8e2b797362526437e0642a6c2f2970d794f2561
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jul 6 13:13:57 2019 +1000
-
- Add prototype for strnlen to prevent warnings.
-
-commit 4c3e00b1ed7e596610f34590eb5d54ee50d77878
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jul 6 13:02:34 2019 +1000
-
- Cast *ID types to unsigned long when printing.
-
- UID and GID types vary by platform so cast to u_long and use %lu when
- printing them to prevent warnings.
-
-commit 2753521e899f30d1d58b5da0b4e68fde6fcf341e
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jul 6 12:54:43 2019 +1000
-
- Add prototype for compat strndup.(bz#3032).
-
-commit 01a1e21cd55d99293c8ff8ed7c590f2ee440da43
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jul 6 12:00:41 2019 +1000
-
- Add missing bracket in EGD seeding code.
-
- When configured --with-prngd-socket the code had a missing bracket after
- an API change. Fix that and a couple of warnings. bz#3032 , from
- ole.weidner at protonmail.ch
-
-commit e187b1d4607392cf2c19243afe0d0311a4ff3591
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Jul 5 04:19:39 2019 +0000
-
- upstream: Add (recently added) rsa_oldfmt to CLEANFILES.
-
- OpenBSD-Regress-ID: 405beda94e32aa6cc9c80969152fab91f7c54bd3
-
-commit 74b541bfabdcb57c1683cd9b3f1d1f4d5e41563e
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Jul 5 04:12:46 2019 +0000
-
- upstream: Adapt the PuTTY/Conch tests to new key names.
-
- A recent regress change (2a9b3a2ce411d16cda9c79ab713c55f65b0ec257 in
- portable) broke the PuTTY and Twisted Conch interop tests, because the
- key they want to use is now called ssh-rsa rather than rsa. Adapt the
- tests to the new file names. bz#3020, patch from cjwatson at debian.org.
-
- OpenBSD-Regress-ID: fd342a37db4d55aa4ec85316f73082c8eb96e64e
-
-commit de08335a4cfaa9b7081e94ea4a8b7153c230546d
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Jul 5 04:03:13 2019 +0000
-
- upstream: Add a sleep to allow forwards to come up.
-
- Currently when the multiplex client requests a forward it returns
- once the request has been sent but not necessarily when the forward
- is up. This causes intermittent text failures due to this race,
- so add some sleeps to mitigate this until we can fix it properly.
-
- OpenBSD-Regress-ID: 384c7d209d2443d25ea941d7f677e932621fb253
-
-commit 4d249284729f864faa2e8f3e015f9a41b674544a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 5 14:58:57 2019 +1000
-
- Remove nc stderr redirection to resync w/OpenBSD.
-
-commit c5cfa90e03432181ffcc7ad3f9f815179bd0c626
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jul 5 13:21:45 2019 +1000
-
- Do not fatal on failed lookup of group "tty".
-
- Some platforms (eg AIX and Cygwin) do not have a "tty" group. In those
- cases we will fall back to making the tty device the user's primary
- group, so do not fatal if the group lookup fails. ok djm@
-
-commit 8b4cc4bdc8a70bf209a274fa2b2a49c1e3c8d8a2
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Thu Jul 4 16:20:10 2019 +0000
-
- upstream: fatal() if getgrnam() cannot find "tty"
-
- OpenBSD-Commit-ID: d148c1c052fa0ed7d105b5428b5c1bab91630048
-
-commit 48cccc275c6a1e91d3f80fdb0dc0d5baf529aeca
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Thu Jul 4 16:16:51 2019 +0000
-
- upstream: stat() returns precisely -1 to indicate error
-
- OpenBSD-Commit-ID: 668e8d022ed4ab847747214f64119e5865365fa1
-
-commit 8142fcaf9ed8ff66252deecbfd29fc59d5f2df4f
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Wed Jul 3 03:24:02 2019 +0000
-
- upstream: snprintf/vsnprintf return < 0 on error, rather than -1.
-
- OpenBSD-Commit-ID: a261c421140a0639bb2b66bbceca72bf8239749d
-
-commit 4d28fa78abce2890e136281950633fae2066cc29
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Fri Jun 28 13:35:04 2019 +0000
-
- upstream: When system calls indicate an error they return -1, not
-
- some arbitrary value < 0. errno is only updated in this case. Change all
- (most?) callers of syscalls to follow this better, and let's see if this
- strictness helps us in the future.
-
- OpenBSD-Commit-ID: 48081f00db7518e3b712a49dca06efc2a5428075
-
-commit e8c974043c1648eab0ad67a7ba6a3e444fe79d2d
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Fri Jun 28 05:44:09 2019 +0000
-
- upstream: asprintf returns -1, not an arbitrary value < 0. Also
-
- upon error the (very sloppy specification) leaves an undefined value in *ret,
- so it is wrong to inspect it, the error condition is enough. discussed a
- little with nicm, and then much more with millert until we were exasperated
-
- OpenBSD-Commit-ID: 29258fa51edf8115d244b9d4b84028487bf8923e
-
-commit 1b2d55d15c6240c15a1e1cf4203b82e54a766272
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Fri Jun 28 01:23:50 2019 +0000
-
- upstream: oops, from asou
-
- OpenBSD-Commit-ID: 702e765d1639b732370d8f003bb84a1c71c4d0c6
-
-commit 5cdbaa78fcb718c39af4522d98016ad89d065427
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Thu Jun 27 18:03:37 2019 +0000
-
- upstream: Some asprintf() calls were checked < 0, rather than the
-
- precise == -1. ok millert nicm tb, etc
-
- OpenBSD-Commit-ID: caecf8f57938685c04f125515b9f2806ad408d53
-
-commit b2e3e57be4a933d9464bccbe592573725765486f
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Thu Jun 27 06:29:35 2019 +0000
-
- upstream: fix NULL deference (bzero) on err
-
- =?UTF-8?q?or=20path=20added=20in=20last=20commit;=20spotted=20by=20Reynir?=
- =?UTF-8?q?=20Bj=C3=B6rnsson?=
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
-
- ok deraadt@ markus@ tb@
-
- OpenBSD-Commit-ID: b11b084bcc551b2c630560eb08618dd501027bbd
-
-commit 58ceacdcbaebefc77d120712de55c6fc6aa32bb1
-Author: Jitendra Sharma <jitendra.sharma@intel.com>
-Date: Fri Jun 21 09:54:17 2019 +0530
-
- Update README doc to include missing test cases
-
- Readme regress document is missing various individual tests,
- which are supported currently. Update README to
- include those test cases.
-
-commit 7959330a554051b5587f8af3fec0c2c0d5820f64
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Wed Jun 26 22:29:43 2019 +0000
-
- upstream: Remove unneeded unlink of xauthfile o
-
- =?UTF-8?q?n=20error=20path.=20=20From=20Erik=20Sj=C3=B6lund=20via=20githu?=
- =?UTF-8?q?b,=20ok=20djm@=20deraadt@?=
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
-
- OpenBSD-Commit-ID: 62a4893cf83b29a4bbfedc40e7067c25c203e632
-
-commit 8de52eb224143783a49f9bddd9ab7800022a8276
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Sun Jun 23 12:21:46 2019 +0000
-
- upstream: fix mismatch proto/decl from key shielding change; spotted
-
- via oss-fuzz
-
- OpenBSD-Commit-ID: 1ea0ba05ded2c5557507bd844cd446e5c8b5b3b7
-
-commit 1dfadb9b57c2985c95838a0292d1c2f6a501896e
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 21 04:21:45 2019 +0000
-
- upstream: adapt for key shielding API changes (const removal)
-
- OpenBSD-Regress-ID: 298890bc52f0cd09dba76dc1022fabe89bc0ded6
-
-commit 4f7a56d5e02e3d04ab69eac1213817a7536d0562
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 21 04:21:04 2019 +0000
-
- upstream: Add protection for private keys at rest in RAM against
-
- speculation and memory sidechannel attacks like Spectre, Meltdown, Rowhammer
- and Rambleed. This change encrypts private keys when they are not in use with
- a symmetic key that is derived from a relatively large "prekey" consisting of
- random data (currently 16KB).
-
- Attackers must recover the entire prekey with high accuracy before
- they can attempt to decrypt the shielded private key, but the current
- generation of attacks have bit error rates that, when applied
- cumulatively to the entire prekey, make this unlikely.
-
- Implementation-wise, keys are encrypted "shielded" when loaded and then
- automatically and transparently unshielded when used for signatures or
- when being saved/serialised.
-
- Hopefully we can remove this in a few years time when computer
- architecture has become less unsafe.
-
- been in snaps for a bit already; thanks deraadt@
-
- ok dtucker@ deraadt@
-
- OpenBSD-Commit-ID: 19767213c312e46f94b303a512ef8e9218a39bd4
-
-commit 4cd6b12cc9c10bf59c8b425041f3ea5091285a0f
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 21 03:19:59 2019 +0000
-
- upstream: print the correct AuthorizedPrincipalsCommand rather than
-
- an uninitialised variable; spotted by dtucker@
-
- OpenBSD-Commit-ID: 02802018784250f68202f01c8561de82e17b0638
-
-commit 5f68ab436b0e01751d564e9a9041e6ac3673e45a
-Author: jmc@openbsd.org <jmc@openbsd.org>
-Date: Wed Jun 19 20:12:44 2019 +0000
-
- upstream: from tim: - for reput, it is remote-path which is
-
- optional, not local-path - sync help
-
- from deraadt:
- - prefer -R and undocument -r (but add a comment for future editors)
-
- from schwarze:
- - prefer -p and undocument -P (as above. the comment was schwarze's too)
-
- more:
- - add the -f flag to reput and reget
- - sort help (i can;t remember who suggested this originally)
-
- djm and deraadt were ok with earlier versions of this;
- tim and schwarze ok
-
- OpenBSD-Commit-ID: 3c699b53b46111f5c57eed4533f132e7e58bacdd
-
-commit 99bcbbc77fbd5a5027031f42a5931b21b07c947e
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 14 04:03:48 2019 +0000
-
- upstream: check for convtime() refusing to accept times that
-
- resolve to LONG_MAX Reported by Kirk Wolf bz2977; ok dtucker
-
- OpenBSD-Regress-ID: 15c9fe87be1ec241d24707006a31123d3a3117e0
-
-commit e5cccb2410247c9b8151b9510a876abdf5424b24
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Sun Apr 28 22:53:26 2019 +0000
-
- upstream: Add unit tests for user@host and URI parsing.
-
- OpenBSD-Regress-ID: 69d5b6f278e04ed32377046f7692c714c2d07a68
-
-commit 0bb7e38834e3f9886302bbaea630a6b0f8cfb520
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Apr 18 18:57:16 2019 +0000
-
- upstream: Add tests for sshd -T -C with Match.
-
- OpenBSD-Regress-ID: d4c34916fe20d717692f10ef50b5ae5a271c12c7
-
-commit 73eb6cef41daba0359c1888e4756108d41b4e819
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sun Jun 16 12:55:27 2019 +1000
-
- Include stdio.h for vsnprintf.
-
- Patch from mforney at mforney.org.
-
-commit adcaf40fd0a180e6cb5798317fdf479b52e3c09a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 09:07:04 2019 +1000
-
- upstream rev 1.27: fix integer overflow.
-
- Cast bitcount to u_in64_t before bit shifting to prevent integer overflow
- on 32bit platforms which cause incorrect results when adding a block
- >=512M in size. sha1 patch from ante84 at gmail.com via openssh github,
- sha2 with djm@, ok tedu@
-
-commit 7689048e6103d3c34cba24ac5aeea7bf8405d19a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 09:06:06 2019 +1000
-
- upstream rev 1.25: add DEF_WEAK.
-
- Wrap blowfish, sha*, md5, and rmd160 so that internal calls go direct
- ok deraadt@
-
-commit 55f3153393ac7e072a4b4b21b194864460d8f44a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 09:02:24 2019 +1000
-
- upstream rev 1.25: add sys/types.h
-
-commit 10974f986fa842a3a3a693e3d5761072540002b4
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 09:01:14 2019 +1000
-
- upstream: Use explicit_bzero instead of memset
-
- in hash Final and End functions. OK deraadt@ djm@
-
-commit cb8f56570f70b00abae4267d4bcce2bfae7dfff6
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 14 04:13:58 2019 +0000
-
- upstream: slightly more instructive error message when the user
-
- specifies multiple -J options on the commandline. bz3015 ok dtucker@
-
- OpenBSD-Commit-ID: 181c15a65cac3b575819bc8d9a56212c3c748179
-
-commit 2317ce4b0ed7d8c4b0c684e2d47bff5006bd1178
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 14 03:51:47 2019 +0000
-
- upstream: process agent requests for RSA certificate private keys using
-
- correct signature algorithm when requested. Patch from Jakub Jelen in bz3016
- ok dtucker markus
-
- OpenBSD-Commit-ID: 61f86efbeb4a1857a3e91298c1ccc6cf49b79624
-
-commit c95b90d40170473825904be561b1eafba354f376
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 14 03:39:59 2019 +0000
-
- upstream: for public key authentication, check AuthorizedKeysFiles
-
- files before consulting AuthorizedKeysCommand; ok dtucker markus
-
- OpenBSD-Commit-ID: 13652998bea5cb93668999c39c3c48e8429db8b3
-
-commit a5a53914989ddd3521b6edc452bc3291784a4f4f
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri Jun 14 03:28:19 2019 +0000
-
- upstream: if passed a bad fd, log what it was
-
- OpenBSD-Commit-ID: 582e2bd05854e49365195b58989b68ac67f09140
-
-commit 7349149da1074d82b71722338e05b6a282f126cc
-Author: jmc@openbsd.org <jmc@openbsd.org>
-Date: Wed Jun 12 11:31:50 2019 +0000
-
- upstream: Hostname->HostName cleanup; from lauri tirkkonen ok
-
- dtucker
-
- OpenBSD-Commit-ID: 4ade73629ede63b691f36f9a929f943d4e7a44e4
-
-commit 76af9c57387243556d38935555c227d0b34062c5
-Author: jmc@openbsd.org <jmc@openbsd.org>
-Date: Wed Jun 12 05:53:21 2019 +0000
-
- upstream: deraadt noticed some inconsistency in the way we denote
-
- the "Hostname" and "X11UseLocalhost" keywords; this makes things consistent
- (effectively reversing my commit of yesterday);
-
- ok deraadt markus djm
-
- OpenBSD-Commit-ID: 255c02adb29186ac91dcf47dfad7adb1b1e54667
-
-commit d1bbfdd932db9b9b799db865ee1ff50060dfc895
-Author: jmc@openbsd.org <jmc@openbsd.org>
-Date: Tue Jun 11 13:39:40 2019 +0000
-
- upstream: consistent lettering for "HostName" keyword; from lauri
-
- tirkkonen
-
- OpenBSD-Commit-ID: 0c267a1257ed7482b13ef550837b6496e657d563
-
-commit fc0340f7c4ee29bfb12bd1de9f99defa797e16b4
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 00:10:59 2019 +1000
-
- Typo fixes in error messages.
-
- Patch from knweiss at gmail.com via github pull req #97 (portable-
- specific parts).
-
-commit 4b7dd22b02b64b1ededd3c0e98a6e7ae21e31d38
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Jun 7 14:18:48 2019 +0000
-
- upstream: Typo and spelling fixes in comments and error messages.
-
- Patch from knweiss at gmail.com via -portable.
-
- OpenBSD-Commit-ID: 2577465442f761a39703762c4f87a8dfcb918b4b
-
-commit 130ef0695e1731392ca33831939fe89e8b70cc17
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 00:47:07 2019 +1000
-
- Include missed bits from previous sync.
-
-commit 25e3bccbaa63d27b9d5e09c123f1eb28594d2bd6
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Jun 7 03:47:12 2019 +0000
-
- upstream: Check for user@host when parsing sftp target. This
-
- allows user@[1.2.3.4] to work without a path in addition to with one.
- bz#2999, ok djm@
-
- OpenBSD-Commit-ID: d989217110932490ba8ce92127a9a6838878928b
-
-commit 0323d9b619d512f80c57575b810a05791891f657
-Author: otto@openbsd.org <otto@openbsd.org>
-Date: Thu Jun 6 05:13:13 2019 +0000
-
- upstream: Replace calls to ssh_malloc_init() by a static init of
-
- malloc_options. Prepares for changes in the way malloc is initialized. ok
- guenther@ dtucker@
-
- OpenBSD-Commit-ID: 154f4e3e174f614b09f792d4d06575e08de58a6b
-
-commit c586d2d3129265ea64b12960c379d634bccb6535
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Fri May 31 03:20:07 2019 +0000
-
- upstream: fix ssh-keysign fd handling problem introduced in r1.304
-
- caused by a typo (STDIN_FILENO vs STDERR_FILENO)
-
- OpenBSD-Commit-ID: 57a0b4be7bef23963afe24150e24bf014fdd9cb0
-
-commit 410b231aa41ff830b2f5b09b5aaf5e5cdc1ab86b
-Author: lum@openbsd.org <lum@openbsd.org>
-Date: Wed May 29 08:30:26 2019 +0000
-
- upstream: Make the standard output messages of both methods of
-
- changing a key pair's comments (using -c and -C) more applicable to both
- methods. ok and suggestions djm@ dtucker@
-
- OpenBSD-Commit-ID: b379338118109eb36e14a65bc0a12735205b3de6
-
-commit 2b3402dc9f1d9b0df70291b424f36e436cdfa7e0
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Sat Jun 8 00:03:07 2019 +1000
-
- Always clean up before and after utimensat test.
-
-commit 182898192d4b720e4faeafd5b39c2cfb3b92aa21
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jun 7 23:47:37 2019 +1000
-
- Update utimensat test.
-
- POSIX specifies that when given a symlink, AT_SYMLINK_NOFOLLOW should
- update the symlink and not the destination. The compat code doesn't
- have a way to do this, so where possible it fails instead of following a
- symlink when explicitly asked not to. Instead of checking for an explicit
- failure, check that it does not update the destination, which both the
- real and compat implmentations should honour.
-
- Inspired by github pull req #125 from chutzpah at gentoo.org.
-
-commit d220b675205185e0b4d6b6524acc2e5c599ef0e2
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Jun 7 14:26:54 2019 +1000
-
- Have pthread_create return errno on failure.
-
- According to POSIX, pthread_create returns the failure reason in
- the non-zero function return code so make the fork wrapper do that.
- Matches previous change.
-
-commit 1bd4f7f25f653e0cadb2e6f25d79bc3c35c6aa4d
-Author: Elliott Hughes <enh@google.com>
-Date: Thu Apr 25 13:36:27 2019 -0700
-
- pthread_create(3) returns positive values on failure.
-
- Found by inspection after finding similar bugs in other code used by
- Android.
-
-commit b3a77b25e5f7880222b179431a74fad76d2cf60c
-Author: Harald Freudenberger <freude@linux.ibm.com>
-Date: Fri May 24 10:11:15 2019 +0200
-
- allow s390 specific ioctl for ecc hardware support
-
- Adding another s390 specific ioctl to be able to support ECC hardware
- acceleration to the sandbox seccomp filter rules.
-
- Now the ibmca openssl engine provides elliptic curve cryptography
- support with the help of libica and CCA crypto cards. This is done via
- jet another ioctl call to the zcrypt device driver and so there is a
- need to enable this on the openssl sandbox.
-
- Code is s390 specific and has been tested, verified and reviewed.
-
- Please note that I am also the originator of the previous changes in
- that area. I posted these changes to Eduardo and he forwarded the
- patches to the openssl community.
-
- Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
- Reviewed-by: Joerg Schmidbauer <jschmidb@de.ibm.com>
-
-commit 2459df9aa11820f8092a8651aeb381af7ebbccb1
-Author: Sorin Adrian Savu <sorin25@users.noreply.github.com>
-Date: Sun May 26 21:50:08 2019 +0300
-
- openssl-devel is obsoleted by libssl-devel
-
- openssl-devel is no longer installable via the cygwin setup and
- it's hidden by default, so you can't see the replacement very easy.
-
-commit 85ceb0e64bff672558fc87958cd548f135c83cdd
-Author: jmc@openbsd.org <jmc@openbsd.org>
-Date: Mon May 20 06:01:59 2019 +0000
-
- upstream: tweak previous;
-
- OpenBSD-Commit-ID: 42f39f22f53cfcb913bce401ae0f1bb93e08dd6c
-
-commit 30615295609f5c57b3137b3021fe63bfa45c1985
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Mon May 20 00:25:55 2019 +0000
-
- upstream: embiggen format buffer size for certificate serial number so
-
- that it will fit a full 64 bit integer. bz#3012 from Manoel Domingues Junior
-
- OpenBSD-Commit-ID: a51f3013056d05b976e5af6b978dcb9e27bbc12b
-
-commit 476e3551b2952ef73acc43d995e832539bf9bc4d
-Author: djm@openbsd.org <djm@openbsd.org>
-Date: Mon May 20 00:20:35 2019 +0000
-
- upstream: When signing certificates with an RSA key, default to
-
- using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys
- will therefore be incompatible with OpenSSH < 7.2 unless the default is
- overridden.
-
- Document the ability of the ssh-keygen -t flag to override the
- signature algorithm when signing certificates, and the new default.
-
- ok deraadt@
-
- OpenBSD-Commit-ID: 400c9c15013978204c2cb80f294b03ae4cfc8b95
-
-commit 606077ee1e77af5908431d003fb28461ef7be092
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri May 17 13:14:12 2019 +1000
-
- Add no-op implementation of pam_putenv.
-
- Some platforms such as HP-UX do not have pam_putenv. Currently the
- calls are ifdef'ed out, but a new one was recently added. Remove the
- ifdefs and add a no-op implementation. bz#3008, ok djm.
-
-commit 1ac98be8724c9789d770ddb8e7f0dbf1b55e05a0
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri May 17 12:42:17 2019 +1000
-
- Use the correct macro for SSH_ALLOWED_CA_SIGALGS.
-
-commit 97370f6c2c3b825f8c577b7e6c00b1a98d30a6cf
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri May 17 10:54:51 2019 +1000
-
- Fix building w/out ECC.
-
- Ifdef out ECC specific code so that that it'll build against an OpenSSL
- configured w/out ECC. With & ok djm@
-
-commit 633703babf8d9a88da85f23b800e1b88dec7cdbd
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri May 17 10:50:29 2019 +1000
-
- Conditionalize ECDH methods in CA algos.
-
- When building against an OpenSSL configured without ECC, don't include
- those algos in CASignatureAlgorithms. ok djm@
-
-commit 5c8d14c512f5d413095b22bdba08a6bb990f1e97
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu May 16 08:47:27 2019 +0000
-
- upstream: Move a variable declaration to the block where it's used
-
- to make things a little tidier for -portable.
-
- OpenBSD-Commit-ID: 616379861be95619e5358768b7dee4793e2f3a75
-
-commit a1d29cc36a5e6eeabc935065a8780e1ba5b67014
-Author: deraadt@openbsd.org <deraadt@openbsd.org>
-Date: Wed May 15 04:43:31 2019 +0000
-
- upstream: When doing the fork+exec'ing for ssh-keysign, rearrange
-
- the socket into fd3, so as to not mistakenly leak other fd forward
- accidentally. ok djm
-
- OpenBSD-Commit-ID: 24cc753f5aa2c6a7d0fbf62766adbc75cd785296
-
-commit db7606d4a62fee67b0cb2f32dfcbd7b3642bfef5
-Author: schwarze@openbsd.org <schwarze@openbsd.org>
-Date: Tue May 14 12:47:17 2019 +0000
-
- upstream: Delete some .Sx macros that were used in a wrong way.
-
- Part of a patch from Stephen Gregoratto <dev at sgregoratto dot me>.
-
- OpenBSD-Commit-ID: 15501ed13c595f135e7610b1a5d8345ccdb513b7
-
-commit cb4accb1233865d9151f8a50cc5f0c61a3fd4077
-Author: florian@openbsd.org <florian@openbsd.org>
-Date: Fri May 10 18:55:17 2019 +0000
-
- upstream: For PermitOpen violations add the remote host and port to
-
- be able to find out from where the request was comming.
-
- Add the same logging for PermitListen violations which where not
- logged at all.
-
- Pointed out by Robert Kisteleki (robert AT ripe.net)
-
- input markus
- OK deraadt
-
- OpenBSD-Commit-ID: 8a7d0f1b7175504c0d1dca8d9aca1588b66448c8
-
-commit cd16aceec148d55088fc8df6be88335578d85258
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Thu May 16 07:53:20 2019 +1000
-
- Add OpenSSL 1.1.1 to the supported list.
-
- Clarify the language around prngd and egd.
-
-commit 6fd4aa2aafbce90acb11a328ca0aa0696cb01c6b
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Wed May 15 16:19:14 2019 +1000
-
- Fix typo in man page formatter selector.
-
-commit 285546b73e2c172565c992a695927ac8cf3b4cc6
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri May 10 15:04:42 2019 +1000
-
- Use "doc" man page format if mandoc present.
-
- Previously configure would not select the "doc" man page format if
- mandoc was present but nroff was not. This checks for mandoc first
- and removes a now-superflous AC_PATH_PROG. Based on a patch from
- vehk at vehk.de and feedback from schwarze at usta.de.
-
-commit 62dd70613b77b229f53db3cc1c3e8a206fa2b582
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri May 3 06:06:30 2019 +0000
-
- upstream: Use the correct (according to POSIX) format for
-
- left-justification in snmprintf. bz#3002, patch from velemas at gmail.com, ok
- markus@.
-
- OpenBSD-Commit-ID: 65d252b799be0cc8f68b6c47cece0a57bb00fea7
-
-commit 62be1ffe5ffc68cfaac183320503c00a8c72e0b1
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri May 3 04:11:00 2019 +0000
-
- upstream: Free channel objects on exit path. Patch from markus at
-
- blueflash.cc, ok deraadt
-
- OpenBSD-Commit-ID: dbe4db381603909482211ffdd2b48abd72169117
-
-commit 1c554a5d94b9de6bd5374e2992a5662746cc39ba
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri May 3 03:27:38 2019 +0000
-
- upstream: Free host on exit path. Patch from markus at
-
- blueflash.cc, ok djm@
-
- OpenBSD-Commit-ID: c54e9945d93c4ce28350d8b9fa8b71f744ef2b5a
-
-commit 99043bd64e5e0f427173f4fa83ef25a4676624a3
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri May 3 03:25:18 2019 +0000
-
- upstream: Wrap XMSS including in ifdef. Patch from markus at
-
- blueflash.cc, ok djm
-
- OpenBSD-Commit-ID: e3b34fc35cf12d33bde91ac03633210a3bc0f8b5
-
-commit 8fcfb7789c43a19d24162a7a4055cd09ee951b34
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Apr 26 08:37:17 2019 +0000
-
- upstream: Import regenerated moduli.
-
- OpenBSD-Commit-ID: db6375fc302e3bdf07d96430c63c991b2c2bd3ff
-
-commit 3a7db919d5dd09f797971b3cf8ee301767459774
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Tue Apr 23 11:56:41 2019 +0000
-
- upstream: Use the LogLevel typdef instead of int where appropriate. Patch from Markus Schmidt via openssh-unix-dev, ok markus@
-
- OpenBSD-Commit-ID: 4c0f0f458e3da7807806b35e3eb5c1e8403c968a
-
-commit d7c6e38b87efab1f140745fd8b1106b82e6e4a68
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Fri Apr 19 05:47:44 2019 +0000
-
- upstream: Document new default RSA key size. From
-
- sebastiaanlokhorst at gmail.com via bz#2997.
-
- OpenBSD-Commit-ID: bdd62ff5d4d649d2147904e91bf7cefa82fe11e1
-
-commit e826bbcafe26dac349a8593da5569e82faa45ab8
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Apr 18 18:56:16 2019 +0000
-
- upstream: When running sshd -T, assume any attibute not provided by
-
- -C does not match, which allows it to work when sshd_config contains a Match
- directive with or without -C. bz#2858, ok djm@
-
- OpenBSD-Commit-ID: 1a701f0a33e3bc96753cfda2fe0b0378520b82eb
-
-commit 5696512d7ad57e85e89f8011ce8dec617be686aa
-Author: dtucker@openbsd.org <dtucker@openbsd.org>
-Date: Thu Apr 18 07:32:56 2019 +0000
-
- upstream: Remove crc32.{c,h} which were only used by the now-gone
-
- SSH1 protocol. Patch from yumkam at gmail.com, ok deraadt.
-
- OpenBSD-Commit-ID: cceda5876c5ba6b4d8abcd52335329198cee3240
-
-commit 34e87fb5d9ce607f5701ab4c31d837ad8133e2d1
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Tue Apr 30 12:27:57 2019 +1000
-
- Remove unused variables from RLIMIT_NOFILE test.
-
-commit 35e82e62c1ef53cfa457473a4c4d957d6197371a
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Apr 26 18:38:27 2019 +1000
-
- Import regenerated moduli.
-
-commit 5590f53f99219e95dc23b0ebd220f19a6f46b101
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Apr 26 18:22:10 2019 +1000
-
- Whitespace resync w/OpenBSD.
-
- Patch from markus at blueflash.cc via openssh-unix-dev.
-
-commit b7b8334914fb9397a6725f3b5d2de999b0bb69ac
-Author: Darren Tucker <dtucker@dtucker.net>
-Date: Fri Apr 26 18:06:34 2019 +1000
-
- Don't install duplicate STREAMS modules on Solaris
-
- Check if STREAMS modules are already installed on pty before installing
- since when compiling with XPG>=4 they will likely be installed already.
- Prevents hangs and duplicate lines on the terminal. bz#2945 and bz#2998,
- patch from djm@
-
-commit fd0fa130ecf06d7d092932adcd5d77f1549bfc8d
-Author: Damien Miller <djm@mindrot.org>
-Date: Thu Apr 18 08:52:57 2019 +1000
-
- makedepend
diff --git a/INSTALL b/INSTALL
index d97946fe0276..dddd912c5da2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -261,8 +261,8 @@ Replacing /etc/ssh with the correct path to the configuration directory.
(${prefix}/etc or whatever you specified with --sysconfdir during
configuration).
-If you have configured OpenSSH with EGD support, ensure that EGD is
-running and has collected some Entropy.
+If you have configured OpenSSH with EGD/prngd support, ensure that EGD or
+prngd is running and has collected some entropy first.
For more information on configuration, please refer to the manual pages
for sshd, ssh and ssh-agent.
diff --git a/Makefile.in b/Makefile.in
index b749206dd4e7..b0293841a4f2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -131,7 +131,9 @@ SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o \
sandbox-seccomp-filter.o sandbox-capsicum.o sandbox-pledge.o \
sandbox-solaris.o uidswap.o $(SKOBJS)
-SCP_OBJS= scp.o progressmeter.o
+SFTP_CLIENT_OBJS=sftp-common.o sftp-client.o sftp-glob.o
+
+SCP_OBJS= scp.o progressmeter.o $(SFTP_CLIENT_OBJS)
SSHADD_OBJS= ssh-add.o $(SKOBJS)
@@ -149,7 +151,7 @@ SSHKEYSCAN_OBJS=ssh-keyscan.o $(SKOBJS)
SFTPSERVER_OBJS=sftp-common.o sftp-server.o sftp-server-main.o
-SFTP_OBJS= sftp.o sftp-client.o sftp-common.o sftp-glob.o progressmeter.o
+SFTP_OBJS= sftp.o progressmeter.o $(SFTP_CLIENT_OBJS)
MANPAGES = moduli.5.out scp.1.out ssh-add.1.out ssh-agent.1.out ssh-keygen.1.out ssh-keyscan.1.out ssh.1.out sshd.8.out sftp-server.8.out sftp.1.out ssh-keysign.8.out ssh-pkcs11-helper.8.out ssh-sk-helper.8.out sshd_config.5.out ssh_config.5.out
MANPAGES_IN = moduli.5 scp.1 ssh-add.1 ssh-agent.1 ssh-keygen.1 ssh-keyscan.1 ssh.1 sshd.8 sftp-server.8 sftp.1 ssh-keysign.8 ssh-pkcs11-helper.8 ssh-sk-helper.8 sshd_config.5 ssh_config.5
@@ -235,7 +237,7 @@ ssh-keyscan$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYSCAN_OBJS)
$(LD) -o $@ $(SSHKEYSCAN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
sftp-server$(EXEEXT): $(LIBCOMPAT) libssh.a $(SFTPSERVER_OBJS)
- $(LD) -o $@ $(SFTPSERVER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+ $(LD) -o $@ $(SFTPSERVER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
sftp$(EXEEXT): $(LIBCOMPAT) libssh.a $(SFTP_OBJS)
$(LD) -o $@ $(SFTP_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(LIBEDIT)
@@ -648,7 +650,8 @@ UNITTESTS_TEST_MISC_OBJS=\
regress/unittests/misc/test_parse.o \
regress/unittests/misc/test_expand.o \
regress/unittests/misc/test_convtime.o \
- regress/unittests/misc/test_argv.o
+ regress/unittests/misc/test_argv.o \
+ regress/unittests/misc/test_strdelim.o
regress/unittests/misc/test_misc$(EXEEXT): \
${UNITTESTS_TEST_MISC_OBJS} \
@@ -701,7 +704,7 @@ regress-unit-binaries: regress-prep $(REGRESSLIBS) \
regress/unittests/sshbuf/test_sshbuf$(EXEEXT) \
regress/unittests/sshkey/test_sshkey$(EXEEXT) \
regress/unittests/sshsig/test_sshsig$(EXEEXT) \
- regress/unittests/utf8/test_utf8$(EXEEXT) \
+ regress/unittests/utf8/test_utf8$(EXEEXT)
tests: file-tests t-exec interop-tests unit
echo all tests passed
diff --git a/PROTOCOL b/PROTOCOL
index 0b2ea60a74ba..3141cda6fa37 100644
--- a/PROTOCOL
+++ b/PROTOCOL
@@ -525,6 +525,25 @@ limits.
This extension is advertised in the SSH_FXP_VERSION hello with version
"1".
+3.9. sftp: Extension request "expand-path@openssh.com"
+
+This request supports canonicalisation of relative paths and
+those that need tilde-expansion, i.e. "~", "~/..." and "~user/..."
+These paths are expanded using shell-like rules and the resultant
+path is canonicalised similarly to SSH2_FXP_REALPATH.
+
+It is implemented as a SSH_FXP_EXTENDED request with the following
+format:
+
+ uint32 id
+ string "expand-path@openssh.com"
+ string path
+
+Its reply is the same format as that of SSH2_FXP_REALPATH.
+
+This extension is advertised in the SSH_FXP_VERSION hello with version
+"1".
+
4. Miscellaneous changes
4.1 Public key format
@@ -556,4 +575,4 @@ OpenSSH's connection multiplexing uses messages as described in
PROTOCOL.mux over a Unix domain socket for communications between a
master instance and later clients.
-$OpenBSD: PROTOCOL,v 1.41 2021/02/18 02:49:35 djm Exp $
+$OpenBSD: PROTOCOL,v 1.42 2021/08/09 23:47:44 djm Exp $
diff --git a/PROTOCOL.certkeys b/PROTOCOL.certkeys
index 1fce87006f13..68622e60743c 100644
--- a/PROTOCOL.certkeys
+++ b/PROTOCOL.certkeys
@@ -45,7 +45,7 @@ SHA-2 signatures (SHA-256 and SHA-512 respectively):
rsa-sha2-512-cert-v01@openssh.com
These RSA/SHA-2 types should not appear in keys at rest or transmitted
-on their wire, but do appear in a SSH_MSG_KEXINIT's host-key algorithms
+on the wire, but do appear in a SSH_MSG_KEXINIT's host-key algorithms
field or in the "public key algorithm name" field of a "publickey"
SSH_USERAUTH_REQUEST to indicate that the signature will use the
specified algorithm.
@@ -159,12 +159,11 @@ p, q, g, y are the DSA parameters as described in FIPS-186-2.
curve and public key are respectively the ECDSA "[identifier]" and "Q"
defined in section 3.1 of RFC5656.
-pk is the encoded Ed25519 public key as defined by
-draft-josefsson-eddsa-ed25519-03.
+pk is the encoded Ed25519 public key as defined by RFC8032.
serial is an optional certificate serial number set by the CA to
provide an abbreviated way to refer to certificates from that CA.
-If a CA does not wish to number its certificates it must set this
+If a CA does not wish to number its certificates, it must set this
field to zero.
type specifies whether this certificate is for identification of a user
@@ -217,13 +216,13 @@ signature is computed over all preceding fields from the initial string
up to, and including the signature key. Signatures are computed and
encoded according to the rules defined for the CA's public key algorithm
(RFC4253 section 6.6 for ssh-rsa and ssh-dss, RFC5656 for the ECDSA
-types), and draft-josefsson-eddsa-ed25519-03 for Ed25519.
+types, and RFC8032 for Ed25519).
Critical options
----------------
The critical options section of the certificate specifies zero or more
-options on the certificates validity. The format of this field
+options on the certificate's validity. The format of this field
is a sequence of zero or more tuples:
string name
@@ -234,7 +233,7 @@ sequence. Each named option may only appear once in a certificate.
The name field identifies the option and the data field encodes
option-specific information (see below). All options are
-"critical", if an implementation does not recognise a option
+"critical"; if an implementation does not recognise a option,
then the validating party should refuse to accept the certificate.
Custom options should append the originating author or organisation's
@@ -256,10 +255,18 @@ source-address string Comma-separated list of source addresses
for authentication. Addresses are
specified in CIDR format (nn.nn.nn.nn/nn
or hhhh::hhhh/nn).
- If this option is not present then
+ If this option is not present, then
certificates may be presented from any
source address.
+verify-required empty Flag indicating that signatures made
+ with this certificate must assert FIDO
+ user verification (e.g. PIN or
+ biometric). This option only makes sense
+ for the U2F/FIDO security key types that
+ support this feature in their signature
+ formats.
+
Extensions
----------
@@ -280,11 +287,11 @@ their data fields are:
Name Format Description
-----------------------------------------------------------------------------
-no-presence-required empty Flag indicating that signatures made
+no-touch-required empty Flag indicating that signatures made
with this certificate need not assert
- user presence. This option only make
- sense for the U2F/FIDO security key
- types that support this feature in
+ FIDO user presence. This option only
+ makes sense for the U2F/FIDO security
+ key types that support this feature in
their signature formats.
permit-X11-forwarding empty Flag indicating that X11 forwarding
@@ -298,7 +305,7 @@ permit-agent-forwarding empty Flag indicating that agent forwarding
permit-port-forwarding empty Flag indicating that port-forwarding
should be allowed. If this option is
- not present then no port forwarding will
+ not present, then no port forwarding will
be allowed.
permit-pty empty Flag indicating that PTY allocation
@@ -311,4 +318,4 @@ permit-user-rc empty Flag indicating that execution of
of this script will not be permitted if
this option is not present.
-$OpenBSD: PROTOCOL.certkeys,v 1.17 2019/11/25 00:57:51 djm Exp $
+$OpenBSD: PROTOCOL.certkeys,v 1.19 2021/06/05 13:47:00 naddy Exp $
diff --git a/PROTOCOL.key b/PROTOCOL.key
index 959bd7aeec22..38df268b6536 100644
--- a/PROTOCOL.key
+++ b/PROTOCOL.key
@@ -35,9 +35,9 @@ of the cipher block size.
uint32 checkint
uint32 checkint
- string privatekey1
+ byte[] privatekey1
string comment1
- string privatekey2
+ byte[] privatekey2
string comment2
...
string privatekeyN
@@ -48,6 +48,9 @@ of the cipher block size.
...
char padlen % 255
+where each private key is encoded using the same rules as used for
+SSH agent.
+
Before the key is encrypted, a random integer is assigned
to both checkint fields so successful decryption can be
quickly checked by verifying that both checkint fields
@@ -65,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.1 2013/12/06 13:34:54 markus Exp $
+$OpenBSD: PROTOCOL.key,v 1.2 2021/05/07 02:29:40 djm Exp $
diff --git a/README b/README
index 99fe347738ca..5c7f8647dc8e 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-See https://www.openssh.com/releasenotes.html#8.6p1 for the release notes.
+See https://www.openssh.com/releasenotes.html#8.7p1 for the release notes.
Please read https://www.openssh.com/report.html for bug reporting
instructions and note that we do not use Github for bug reporting or
diff --git a/README.md b/README.md
index e9ee372ca330..de4717737eac 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
# Portable OpenSSH
+[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml)
[![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)
OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ``ssh`` and server ``sshd``, file transfer utilities ``scp`` and ``sftp`` as well as tools for key generation (``ssh-keygen``), run-time key storage (``ssh-agent``) and a number of supporting programs.
diff --git a/aclocal.m4 b/aclocal.m4
index c1b774884b5c..9d85d34d4772 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
# Copyright (C) 1996-2020 Free Software Foundation, Inc.
diff --git a/auth-options.c b/auth-options.c
index f68c629dd2c2..335f03238f28 100644
--- a/auth-options.c
+++ b/auth-options.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-options.c,v 1.95 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: auth-options.c,v 1.97 2021/07/24 01:55:19 djm Exp $ */
/*
* Copyright (c) 2018 Damien Miller <djm@mindrot.org>
*
@@ -324,6 +324,7 @@ sshauthopt_parse(const char *opts, const char **errstrp)
struct sshauthopt *ret = NULL;
const char *errstr = "unknown error";
uint64_t valid_before;
+ size_t i, l;
if (errstrp != NULL)
*errstrp = NULL;
@@ -397,7 +398,7 @@ sshauthopt_parse(const char *opts, const char **errstrp)
valid_before < ret->valid_before)
ret->valid_before = valid_before;
} else if (opt_match(&opts, "environment")) {
- if (ret->nenv > INT_MAX) {
+ if (ret->nenv > SSH_AUTHOPT_ENV_MAX) {
errstr = "too many environment strings";
goto fail;
}
@@ -409,25 +410,41 @@ sshauthopt_parse(const char *opts, const char **errstrp)
errstr = "invalid environment string";
goto fail;
}
- if ((cp = strdup(opt)) == NULL)
+ if ((cp = strdup(opt)) == NULL) {
+ free(opt);
goto alloc_fail;
- cp[tmp - opt] = '\0'; /* truncate at '=' */
+ }
+ l = (size_t)(tmp - opt);
+ cp[l] = '\0'; /* truncate at '=' */
if (!valid_env_name(cp)) {
free(cp);
free(opt);
errstr = "invalid environment string";
goto fail;
}
+ /* Check for duplicates; XXX O(n*log(n)) */
+ for (i = 0; i < ret->nenv; i++) {
+ if (strncmp(ret->env[i], cp, l) == 0 &&
+ ret->env[i][l] == '=')
+ break;
+ }
free(cp);
- /* Append it. */
- oarray = ret->env;
- if ((ret->env = recallocarray(ret->env, ret->nenv,
- ret->nenv + 1, sizeof(*ret->env))) == NULL) {
- free(opt);
- ret->env = oarray; /* put it back for cleanup */
- goto alloc_fail;
+ /* First match wins */
+ if (i >= ret->nenv) {
+ /* Append it. */
+ oarray = ret->env;
+ if ((ret->env = recallocarray(ret->env,
+ ret->nenv, ret->nenv + 1,
+ sizeof(*ret->env))) == NULL) {
+ free(opt);
+ /* put it back for cleanup */
+ ret->env = oarray;
+ goto alloc_fail;
+ }
+ ret->env[ret->nenv++] = opt;
+ opt = NULL; /* transferred */
}
- ret->env[ret->nenv++] = opt;
+ free(opt);
} else if (opt_match(&opts, "permitopen")) {
if (handle_permit(&opts, 0, &ret->permitopen,
&ret->npermitopen, &errstr) != 0)
diff --git a/auth-options.h b/auth-options.h
index 118a32087a8b..6e29b727c3d2 100644
--- a/auth-options.h
+++ b/auth-options.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-options.h,v 1.30 2020/08/27 01:07:09 djm Exp $ */
+/* $OpenBSD: auth-options.h,v 1.31 2021/07/23 03:57:20 djm Exp $ */
/*
* Copyright (c) 2018 Damien Miller <djm@mindrot.org>
@@ -23,7 +23,10 @@ struct passwd;
struct sshkey;
/* Maximum number of permitopen/permitlisten directives to accept */
-#define SSH_AUTHOPT_PERMIT_MAX 4096
+#define SSH_AUTHOPT_PERMIT_MAX 4096
+
+/* Maximum number of environment directives to accept */
+#define SSH_AUTHOPT_ENV_MAX 1024
/*
* sshauthopt represents key options parsed from authorized_keys or
diff --git a/auth-pam.c b/auth-pam.c
index 0b4a28abc79e..f39d03f4b18e 100644
--- a/auth-pam.c
+++ b/auth-pam.c
@@ -1392,6 +1392,5 @@ sshpam_set_maxtries_reached(int reached)
sshpam_maxtries_reached = 1;
options.password_authentication = 0;
options.kbd_interactive_authentication = 0;
- options.challenge_response_authentication = 0;
}
#endif /* USE_PAM */
diff --git a/auth.c b/auth.c
index b560eed14b1d..00b168b4e27a 100644
--- a/auth.c
+++ b/auth.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth.c,v 1.152 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: auth.c,v 1.153 2021/07/05 00:50:25 dtucker Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -352,27 +352,29 @@ auth_log(struct ssh *ssh, int authenticated, int partial,
free(extra);
-#ifdef CUSTOM_FAILED_LOGIN
- if (authenticated == 0 && !authctxt->postponed &&
- (strcmp(method, "password") == 0 ||
- strncmp(method, "keyboard-interactive", 20) == 0 ||
- strcmp(method, "challenge-response") == 0))
- record_failed_login(ssh, authctxt->user,
- auth_get_canonical_hostname(ssh, options.use_dns), "ssh");
-# ifdef WITH_AIXAUTHENTICATE
+#if defined(CUSTOM_FAILED_LOGIN) || defined(SSH_AUDIT_EVENTS)
+ if (authenticated == 0 && !(authctxt->postponed || partial)) {
+ /* Log failed login attempt */
+# ifdef CUSTOM_FAILED_LOGIN
+ if (strcmp(method, "password") == 0 ||
+ strncmp(method, "keyboard-interactive", 20) == 0 ||
+ strcmp(method, "challenge-response") == 0)
+ record_failed_login(ssh, authctxt->user,
+ auth_get_canonical_hostname(ssh, options.use_dns), "ssh");
+# endif
+# ifdef SSH_AUDIT_EVENTS
+ audit_event(ssh, audit_classify_auth(method));
+# endif
+ }
+#endif
+#if defined(CUSTOM_FAILED_LOGIN) && defined(WITH_AIXAUTHENTICATE)
if (authenticated)
sys_auth_record_login(authctxt->user,
auth_get_canonical_hostname(ssh, options.use_dns), "ssh",
loginmsg);
-# endif
-#endif
-#ifdef SSH_AUDIT_EVENTS
- if (authenticated == 0 && !authctxt->postponed)
- audit_event(ssh, audit_classify_auth(method));
#endif
}
-
void
auth_maxtries_exceeded(struct ssh *ssh)
{
@@ -732,9 +734,7 @@ fakepw(void)
* 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 legacy rhosts-style authentication.
- * XXX is RhostsRSAAuthentication vulnerable to these?
- * XXX Can we remove these checks? (or if not, remove RhostsRSAAuthentication?)
+ * attacks on based on conflation of hostnames and IP addresses.
*/
static char *
diff --git a/auth2-hostbased.c b/auth2-hostbased.c
index 002e7e4ee213..3a29126c37a6 100644
--- a/auth2-hostbased.c
+++ b/auth2-hostbased.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-hostbased.c,v 1.46 2021/01/27 10:05:28 djm Exp $ */
+/* $OpenBSD: auth2-hostbased.c,v 1.47 2021/07/23 03:37:52 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -213,7 +213,7 @@ hostbased_key_allowed(struct ssh *ssh, struct passwd *pw,
debug2_f("access allowed by auth_rhosts2");
if (sshkey_is_cert(key) &&
- sshkey_cert_check_authority(key, 1, 0, 0, lookup, &reason)) {
+ sshkey_cert_check_authority_now(key, 1, 0, 0, lookup, &reason)) {
error("%s", reason);
auth_debug_add("%s", reason);
return 0;
diff --git a/auth2-kbdint.c b/auth2-kbdint.c
index 111f2d29fcf3..037139d44949 100644
--- a/auth2-kbdint.c
+++ b/auth2-kbdint.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-kbdint.c,v 1.12 2020/10/18 11:32:01 djm Exp $ */
+/* $OpenBSD: auth2-kbdint.c,v 1.13 2021/07/02 05:11:20 dtucker Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -56,7 +56,7 @@ userauth_kbdint(struct ssh *ssh)
debug("keyboard-interactive devs %s", devs);
- if (options.challenge_response_authentication)
+ if (options.kbd_interactive_authentication)
authenticated = auth2_challenge(ssh, devs);
free(devs);
diff --git a/auth2-pubkey.c b/auth2-pubkey.c
index 721c1d9bd750..9e32259a5ca3 100644
--- a/auth2-pubkey.c
+++ b/auth2-pubkey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-pubkey.c,v 1.107 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: auth2-pubkey.c,v 1.109 2021/07/23 03:37:52 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -475,7 +475,8 @@ match_principals_command(struct ssh *ssh, struct passwd *user_pw,
}
/* Turn the command into an argument vector */
- if (argv_split(options.authorized_principals_command, &ac, &av) != 0) {
+ if (argv_split(options.authorized_principals_command,
+ &ac, &av, 0) != 0) {
error("AuthorizedPrincipalsCommand \"%s\" contains "
"invalid quotes", options.authorized_principals_command);
goto out;
@@ -673,7 +674,7 @@ check_authkey_line(struct ssh *ssh, struct passwd *pw, struct sshkey *key,
reason = "Certificate does not contain an authorized principal";
goto fail_reason;
}
- if (sshkey_cert_check_authority(key, 0, 0, 0,
+ if (sshkey_cert_check_authority_now(key, 0, 0, 0,
keyopts->cert_principals == NULL ? pw->pw_name : NULL,
&reason) != 0)
goto fail_reason;
@@ -793,7 +794,7 @@ user_cert_trusted_ca(struct ssh *ssh, struct passwd *pw, struct sshkey *key,
}
if (use_authorized_principals && principals_opts == NULL)
fatal_f("internal error: missing principals_opts");
- if (sshkey_cert_check_authority(key, 0, 1, 0,
+ if (sshkey_cert_check_authority_now(key, 0, 1, 0,
use_authorized_principals ? NULL : pw->pw_name, &reason) != 0)
goto fail_reason;
@@ -926,7 +927,7 @@ user_key_command_allowed2(struct ssh *ssh, struct passwd *user_pw,
}
/* Turn the command into an argument vector */
- if (argv_split(options.authorized_keys_command, &ac, &av) != 0) {
+ if (argv_split(options.authorized_keys_command, &ac, &av, 0) != 0) {
error("AuthorizedKeysCommand \"%s\" contains invalid quotes",
options.authorized_keys_command);
goto out;
diff --git a/channels.c b/channels.c
index 32d1f617860e..fd72f371df98 100644
--- a/channels.c
+++ b/channels.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.406 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: channels.c,v 1.407 2021/05/19 01:24:05 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -333,7 +333,27 @@ channel_register_fds(struct ssh *ssh, Channel *c, int rfd, int wfd, int efd,
#endif
/* enable nonblocking mode */
- if (nonblock) {
+ c->restore_block = 0;
+ if (nonblock == CHANNEL_NONBLOCK_STDIO) {
+ /*
+ * Special handling for stdio file descriptors: do not set
+ * non-blocking mode if they are TTYs. Otherwise prepare to
+ * restore their blocking state on exit to avoid interfering
+ * with other programs that follow.
+ */
+ if (rfd != -1 && !isatty(rfd) && fcntl(rfd, F_GETFL) == 0) {
+ c->restore_block |= CHANNEL_RESTORE_RFD;
+ set_nonblock(rfd);
+ }
+ if (wfd != -1 && !isatty(wfd) && fcntl(wfd, F_GETFL) == 0) {
+ c->restore_block |= CHANNEL_RESTORE_WFD;
+ set_nonblock(wfd);
+ }
+ if (efd != -1 && !isatty(efd) && fcntl(efd, F_GETFL) == 0) {
+ c->restore_block |= CHANNEL_RESTORE_EFD;
+ set_nonblock(efd);
+ }
+ } else if (nonblock) {
if (rfd != -1)
set_nonblock(rfd);
if (wfd != -1)
@@ -422,17 +442,23 @@ channel_find_maxfd(struct ssh_channels *sc)
}
int
-channel_close_fd(struct ssh *ssh, int *fdp)
+channel_close_fd(struct ssh *ssh, Channel *c, int *fdp)
{
struct ssh_channels *sc = ssh->chanctxt;
- int ret = 0, fd = *fdp;
+ int ret, fd = *fdp;
- if (fd != -1) {
- ret = close(fd);
- *fdp = -1;
- if (fd == sc->channel_max_fd)
- channel_find_maxfd(sc);
- }
+ if (fd == -1)
+ return 0;
+
+ if ((*fdp == c->rfd && (c->restore_block & CHANNEL_RESTORE_RFD) != 0) ||
+ (*fdp == c->wfd && (c->restore_block & CHANNEL_RESTORE_WFD) != 0) ||
+ (*fdp == c->efd && (c->restore_block & CHANNEL_RESTORE_EFD) != 0))
+ (void)fcntl(*fdp, F_SETFL, 0); /* restore blocking */
+
+ ret = close(fd);
+ *fdp = -1;
+ if (fd == sc->channel_max_fd)
+ channel_find_maxfd(sc);
return ret;
}
@@ -442,13 +468,13 @@ channel_close_fds(struct ssh *ssh, Channel *c)
{
int sock = c->sock, rfd = c->rfd, wfd = c->wfd, efd = c->efd;
- channel_close_fd(ssh, &c->sock);
+ channel_close_fd(ssh, c, &c->sock);
if (rfd != sock)
- channel_close_fd(ssh, &c->rfd);
+ channel_close_fd(ssh, c, &c->rfd);
if (wfd != sock && wfd != rfd)
- channel_close_fd(ssh, &c->wfd);
+ channel_close_fd(ssh, c, &c->wfd);
if (efd != sock && efd != rfd && efd != wfd)
- channel_close_fd(ssh, &c->efd);
+ channel_close_fd(ssh, c, &c->efd);
}
static void
@@ -702,7 +728,7 @@ channel_stop_listening(struct ssh *ssh)
case SSH_CHANNEL_X11_LISTENER:
case SSH_CHANNEL_UNIX_LISTENER:
case SSH_CHANNEL_RUNIX_LISTENER:
- channel_close_fd(ssh, &c->sock);
+ channel_close_fd(ssh, c, &c->sock);
channel_free(ssh, c);
break;
}
@@ -1491,7 +1517,8 @@ channel_decode_socks5(Channel *c, struct sshbuf *input, struct sshbuf *output)
Channel *
channel_connect_stdio_fwd(struct ssh *ssh,
- const char *host_to_connect, u_short port_to_connect, int in, int out)
+ const char *host_to_connect, u_short port_to_connect,
+ int in, int out, int nonblock)
{
Channel *c;
@@ -1499,7 +1526,7 @@ channel_connect_stdio_fwd(struct ssh *ssh,
c = channel_new(ssh, "stdio-forward", SSH_CHANNEL_OPENING, in, out,
-1, CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT,
- 0, "stdio-forward", /*nonblock*/0);
+ 0, "stdio-forward", nonblock);
c->path = xstrdup(host_to_connect);
c->host_port = port_to_connect;
@@ -1649,7 +1676,7 @@ channel_post_x11_listener(struct ssh *ssh, Channel *c,
if (c->single_connection) {
oerrno = errno;
debug2("single_connection: closing X11 listener.");
- channel_close_fd(ssh, &c->sock);
+ channel_close_fd(ssh, c, &c->sock);
chan_mark_dead(ssh, c);
errno = oerrno;
}
@@ -2058,7 +2085,7 @@ channel_handle_efd_write(struct ssh *ssh, Channel *c,
return 1;
if (len <= 0) {
debug2("channel %d: closing write-efd %d", c->self, c->efd);
- channel_close_fd(ssh, &c->efd);
+ channel_close_fd(ssh, c, &c->efd);
} else {
if ((r = sshbuf_consume(c->extended, len)) != 0)
fatal_fr(r, "channel %i: consume", c->self);
@@ -2087,7 +2114,7 @@ channel_handle_efd_read(struct ssh *ssh, Channel *c,
return 1;
if (len <= 0) {
debug2("channel %d: closing read-efd %d", c->self, c->efd);
- channel_close_fd(ssh, &c->efd);
+ channel_close_fd(ssh, c, &c->efd);
} else if (c->extended_usage == CHAN_EXTENDED_IGNORE)
debug3("channel %d: discard efd", c->self);
else if ((r = sshbuf_put(c->extended, buf, len)) != 0)
@@ -3421,7 +3448,6 @@ channel_setup_fwd_listener_tcpip(struct ssh *ssh, int type,
}
/* Start listening for connections on the socket. */
if (listen(sock, SSH_LISTEN_BACKLOG) == -1) {
- error("listen: %.100s", strerror(errno));
error("listen [%s]:%s: %.100s", ntop, strport,
strerror(errno));
close(sock);
@@ -3985,7 +4011,7 @@ channel_request_rforward_cancel_streamlocal(struct ssh *ssh, const char *path)
return 0;
}
-
+
/*
* Request cancellation of remote forwarding of a connection from local side.
*/
diff --git a/channels.h b/channels.h
index 378d987c6c04..6bf86b003e53 100644
--- a/channels.h
+++ b/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.137 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: channels.h,v 1.138 2021/05/19 01:24:05 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -63,6 +63,16 @@
#define CHANNEL_CANCEL_PORT_STATIC -1
+/* nonblocking flags for channel_new */
+#define CHANNEL_NONBLOCK_LEAVE 0 /* don't modify non-blocking state */
+#define CHANNEL_NONBLOCK_SET 1 /* set non-blocking state */
+#define CHANNEL_NONBLOCK_STDIO 2 /* set non-blocking and restore on close */
+
+/* c->restore_block mask flags */
+#define CHANNEL_RESTORE_RFD 0x01
+#define CHANNEL_RESTORE_WFD 0x02
+#define CHANNEL_RESTORE_EFD 0x04
+
/* TCP forwarding */
#define FORWARD_DENY 0
#define FORWARD_REMOTE (1)
@@ -139,6 +149,7 @@ struct Channel {
* to a matching pre-select handler.
* this way post-select handlers are not
* accidentally called if a FD gets reused */
+ int restore_block; /* fd mask to restore blocking status */
struct sshbuf *input; /* data read from socket, to be sent over
* encrypted connection */
struct sshbuf *output; /* data received over encrypted connection for
@@ -266,7 +277,7 @@ void channel_register_filter(struct ssh *, int, channel_infilter_fn *,
void channel_register_status_confirm(struct ssh *, int,
channel_confirm_cb *, channel_confirm_abandon_cb *, void *);
void channel_cancel_cleanup(struct ssh *, int);
-int channel_close_fd(struct ssh *, int *);
+int channel_close_fd(struct ssh *, Channel *, int *);
void channel_send_window_changes(struct ssh *);
/* mux proxy support */
@@ -313,7 +324,7 @@ Channel *channel_connect_to_port(struct ssh *, const char *, u_short,
char *, char *, int *, const char **);
Channel *channel_connect_to_path(struct ssh *, const char *, char *, char *);
Channel *channel_connect_stdio_fwd(struct ssh *, const char*,
- u_short, int, int);
+ u_short, int, int, int);
Channel *channel_connect_by_listen_address(struct ssh *, const char *,
u_short, char *, char *);
Channel *channel_connect_by_listen_path(struct ssh *, const char *,
diff --git a/clientloop.c b/clientloop.c
index cb3ff8645274..bfcd50c263fd 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.359 2021/03/19 02:22:34 djm Exp $ */
+/* $OpenBSD: clientloop.c,v 1.369 2021/07/23 04:04:52 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -115,15 +115,6 @@
/* import options */
extern Options options;
-/* Flag indicating that stdin should be redirected from /dev/null. */
-extern int stdin_null_flag;
-
-/* Flag indicating that no shell has been requested */
-extern int no_shell_flag;
-
-/* Flag indicating that ssh should daemonise after authentication is complete */
-extern int fork_after_authentication_flag;
-
/* Control socket */
extern int muxserver_sock; /* XXX use mux_client_cleanup() instead */
@@ -696,6 +687,8 @@ client_status_confirm(struct ssh *ssh, int type, Channel *c, void *ctx)
* their stderr.
*/
if (tochan) {
+ debug3_f("channel %d: mux request: %s", c->self,
+ cr->request_type);
if ((r = sshbuf_put(c->extended, errmsg,
strlen(errmsg))) != 0)
fatal_fr(r, "sshbuf_put");
@@ -1244,7 +1237,7 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
fatal_f("pledge(): %s", strerror(errno));
} else if (!option_clear_or_none(options.proxy_command) ||
- fork_after_authentication_flag) {
+ options.fork_after_authentication) {
debug("pledge: proc");
if (pledge("stdio cpath unix inet dns proc tty", NULL) == -1)
fatal_f("pledge(): %s", strerror(errno));
@@ -1359,6 +1352,10 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
if (quit_pending)
break;
+ /* A timeout may have triggered rekeying */
+ if ((r = ssh_packet_check_rekey(ssh)) != 0)
+ fatal_fr(r, "cannot start rekeying");
+
/*
* Send as much buffered packet data as possible to the
* sender.
@@ -1403,20 +1400,12 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
if (have_pty)
leave_raw_mode(options.request_tty == REQUEST_TTY_FORCE);
- /* restore blocking io */
- if (!isatty(fileno(stdin)))
- unset_nonblock(fileno(stdin));
- if (!isatty(fileno(stdout)))
- unset_nonblock(fileno(stdout));
- if (!isatty(fileno(stderr)))
- unset_nonblock(fileno(stderr));
-
/*
* If there was no shell or command requested, there will be no remote
* exit status to be returned. In that case, clear error code if the
* connection was deliberately terminated at this end.
*/
- if (no_shell_flag && received_signal == SIGTERM) {
+ if (options.session_type == SESSION_TYPE_NONE && received_signal == SIGTERM) {
received_signal = 0;
exit_status = 0;
}
@@ -1958,7 +1947,7 @@ hostkeys_check_old(struct hostkey_foreach_line *l, void *_ctx)
if (!sshkey_equal(l->key, ctx->old_keys[i]))
continue;
debug3_f("found deprecated %s key at %s:%ld as %s",
- sshkey_ssh_name(ctx->keys[i]), l->path, l->linenum,
+ sshkey_ssh_name(ctx->old_keys[i]), l->path, l->linenum,
hashed ? "[HASHED]" : l->hosts);
ctx->old_key_seen = 1;
break;
@@ -2152,11 +2141,14 @@ client_global_hostkeys_private_confirm(struct ssh *ssh, int type,
*/
use_kexsigtype = kexsigtype == KEY_RSA &&
sshkey_type_plain(ctx->keys[i]->type) == KEY_RSA;
+ debug3_f("verify %s key %zu using %s sigalg",
+ sshkey_type(ctx->keys[i]), i,
+ use_kexsigtype ? ssh->kex->hostkey_alg : "default");
if ((r = sshkey_verify(ctx->keys[i], sig, siglen,
sshbuf_ptr(signdata), sshbuf_len(signdata),
use_kexsigtype ? ssh->kex->hostkey_alg : NULL, 0,
NULL)) != 0) {
- error_f("server gave bad signature for %s key %zu",
+ error_fr(r, "server gave bad signature for %s key %zu",
sshkey_type(ctx->keys[i]), i);
goto out;
}
@@ -2588,7 +2580,7 @@ client_stop_mux(void)
* If we are in persist mode, or don't have a shell, signal that we
* should close when all active channels are closed.
*/
- if (options.control_persist || no_shell_flag) {
+ if (options.control_persist || options.session_type == SESSION_TYPE_NONE) {
session_closed = 1;
setproctitle("[stopped mux]");
}
diff --git a/compat.c b/compat.c
index 69befa96f057..3f153bd424f8 100644
--- a/compat.c
+++ b/compat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.c,v 1.117 2021/01/27 09:26:54 djm Exp $ */
+/* $OpenBSD: compat.c,v 1.118 2021/06/06 03:40:39 djm Exp $ */
/*
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
*
@@ -63,6 +63,8 @@ compat_banner(struct ssh *ssh, const char *version)
{ "OpenSSH_6.5*,"
"OpenSSH_6.6*", SSH_NEW_OPENSSH|SSH_BUG_CURVE25519PAD|
SSH_BUG_SIGTYPE},
+ { "OpenSSH_7.4*", SSH_NEW_OPENSSH|SSH_BUG_SIGTYPE|
+ SSH_BUG_SIGTYPE74},
{ "OpenSSH_7.0*,"
"OpenSSH_7.1*,"
"OpenSSH_7.2*,"
diff --git a/compat.h b/compat.h
index c197fafc539c..167409b2bd33 100644
--- a/compat.h
+++ b/compat.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.h,v 1.56 2021/01/27 09:26:54 djm Exp $ */
+/* $OpenBSD: compat.h,v 1.57 2021/06/06 03:40:39 djm Exp $ */
/*
* Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved.
@@ -29,7 +29,7 @@
#define SSH_BUG_UTF8TTYMODE 0x00000001
#define SSH_BUG_SIGTYPE 0x00000002
-/* #define unused 0x00000004 */
+#define SSH_BUG_SIGTYPE74 0x00000004
/* #define unused 0x00000008 */
#define SSH_OLD_SESSIONID 0x00000010
/* #define unused 0x00000020 */
diff --git a/config.h.in b/config.h.in
index 6e04dc52a137..3b3222a8e4c8 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1067,6 +1067,9 @@
/* Define to 1 if you have the `proc_pidinfo' function. */
#undef HAVE_PROC_PIDINFO
+/* Define to 1 if you have the `pselect' function. */
+#undef HAVE_PSELECT
+
/* Define to 1 if you have the `pstat' function. */
#undef HAVE_PSTAT
@@ -1275,6 +1278,9 @@
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
+/* Define to 1 if the system has the type `sighandler_t'. */
+#undef HAVE_SIGHANDLER_T
+
/* Define to 1 if you have the `sigvec' function. */
#undef HAVE_SIGVEC
@@ -1880,6 +1886,9 @@
/* The size of `short int', as computed by sizeof. */
#undef SIZEOF_SHORT_INT
+/* The size of `time_t', as computed by sizeof. */
+#undef SIZEOF_TIME_T
+
/* Define as const if snprintf() can declare const char *fmt */
#undef SNPRINTF_CONST
@@ -1974,6 +1983,9 @@
/* Define if you have Solaris projects */
#undef USE_SOLARIS_PROJECTS
+/* compiler variable declarations after code */
+#undef VARIABLE_DECLARATION_AFTER_CODE
+
/* compiler supports variable length arrays */
#undef VARIABLE_LENGTH_ARRAYS
diff --git a/configure b/configure
index 52638ed15ea9..b66cfd6577f6 100755
--- a/configure
+++ b/configure
@@ -6949,6 +6949,32 @@ $as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts variable declarations after code" >&5
+$as_echo_n "checking if compiler accepts variable declarations after code... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+int
+main ()
+{
+ int a; a = 1; int b = 1; exit(a-b);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define VARIABLE_DECLARATION_AFTER_CODE 1" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
if test "x$no_attrib_nonnull" != "x1" ; then
$as_echo "#define HAVE_ATTRIBUTE__NONNULL__ 1" >>confdefs.h
@@ -11489,6 +11515,7 @@ for ac_func in \
pledge \
poll \
prctl \
+ pselect \
pstat \
raise \
readpassphrase \
@@ -15319,7 +15346,7 @@ if test ! -z "$SONY" ; then
LIBS="$LIBS -liberty";
fi
-# Check for long long datatypes
+# Check for long long datatypes
ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
if test "x$ac_cv_type_long_long" = xyes; then :
@@ -15482,6 +15509,49 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
+$as_echo_n "checking size of time_t... " >&6; }
+if ${ac_cv_sizeof_time_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "
+ #include <sys/types.h>
+ #ifdef HAVE_SYS_TIME_H
+ # include <sys/time.h>
+ #endif
+ #ifdef HAVE_TIME_H
+ # include <time.h>
+ #endif
+
+
+"; then :
+
+else
+ if test "$ac_cv_type_time_t" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (time_t)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_time_t=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
+$as_echo "$ac_cv_sizeof_time_t" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
+_ACEOF
+
+
# Sanity check long long for some platforms (AIX)
if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
@@ -16202,6 +16272,16 @@ _ACEOF
fi
+ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" "#include <signal.h>
+"
+if test "x$ac_cv_type_sighandler_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGHANDLER_T 1
+_ACEOF
+
+
+fi
ac_fn_c_check_type "$LINENO" "fsblkcnt_t" "ac_cv_type_fsblkcnt_t" "
#include <sys/types.h>
@@ -18633,6 +18713,164 @@ $as_echo "#define KRB5 1" >>confdefs.h
KRB5_MSG="yes"
if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKGCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+ ac_pt_PKGCONFIG=$PKGCONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKGCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKGCONFIG" = x; then
+ PKGCONFIG="no"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKGCONFIG=$ac_pt_PKGCONFIG
+ fi
+else
+ PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+ use_pkgconfig_for_krb5=
+ if test "x$PKGCONFIG" != "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about kerberos5" >&5
+$as_echo_n "checking if $PKGCONFIG knows about kerberos5... " >&6; }
+ if "$PKGCONFIG" krb5; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ use_pkgconfig_for_krb5=yes
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ fi
+ if test "x$use_pkgconfig_for_krb5" = "xyes"; then
+ K5CFLAGS=`$PKGCONFIG --cflags krb5`
+ K5LIBS=`$PKGCONFIG --libs krb5`
+ CPPFLAGS="$CPPFLAGS $K5CFLAGS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
+$as_echo_n "checking for gssapi support... " >&6; }
+ if "$PKGCONFIG" krb5-gssapi; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define GSSAPI 1" >>confdefs.h
+
+ GSSCFLAGS="`$PKGCONFIG --cflags krb5-gssapi`"
+ GSSLIBS="`$PKGCONFIG --libs krb5-gssapi`"
+ CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
+$as_echo_n "checking whether we are using Heimdal... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+ #include <krb5.h>
+
+int
+main ()
+{
+ char *tmp = heimdal_version;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HEIMDAL 1" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+ if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}krb5-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}krb5-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -18732,29 +18970,29 @@ else
KRB5CONF="$ac_cv_path_KRB5CONF"
fi
- if test -x $KRB5CONF ; then
- K5CFLAGS="`$KRB5CONF --cflags`"
- K5LIBS="`$KRB5CONF --libs`"
- CPPFLAGS="$CPPFLAGS $K5CFLAGS"
+ if test -x $KRB5CONF ; then
+ K5CFLAGS="`$KRB5CONF --cflags`"
+ K5LIBS="`$KRB5CONF --libs`"
+ CPPFLAGS="$CPPFLAGS $K5CFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
$as_echo_n "checking for gssapi support... " >&6; }
- if $KRB5CONF | grep gssapi >/dev/null ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ if $KRB5CONF | grep gssapi >/dev/null ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
$as_echo "#define GSSAPI 1" >>confdefs.h
- GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
- GSSLIBS="`$KRB5CONF --libs gssapi`"
- CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
+ GSSLIBS="`$KRB5CONF --libs gssapi`"
+ CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
$as_echo_n "checking whether we are using Heimdal... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <krb5.h>
@@ -18778,12 +19016,12 @@ $as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- else
- CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
- LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
+ else
+ CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
+ LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
$as_echo_n "checking whether we are using Heimdal... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <krb5.h>
@@ -18798,11 +19036,11 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- $as_echo "#define HEIMDAL 1" >>confdefs.h
+ $as_echo "#define HEIMDAL 1" >>confdefs.h
- K5LIBS="-lkrb5"
- K5LIBS="$K5LIBS -lcom_err -lasn1"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5
+ K5LIBS="-lkrb5"
+ K5LIBS="$K5LIBS -lcom_err -lasn1"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5
$as_echo_n "checking for net_write in -lroken... " >&6; }
if ${ac_cv_lib_roken_net_write+:} false; then :
$as_echo_n "(cached) " >&6
@@ -18842,7 +19080,7 @@ if test "x$ac_cv_lib_roken_net_write" = xyes; then :
K5LIBS="$K5LIBS -lroken"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5
$as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; }
if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then :
$as_echo_n "(cached) " >&6
@@ -18886,11 +19124,11 @@ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- K5LIBS="-lkrb5 -lk5crypto -lcom_err"
+ K5LIBS="-lkrb5 -lk5crypto -lcom_err"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
$as_echo_n "checking for library containing dn_expand... " >&6; }
if ${ac_cv_search_dn_expand+:} false; then :
$as_echo_n "(cached) " >&6
@@ -18947,7 +19185,7 @@ if test "$ac_res" != no; then :
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
$as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; }
if ${ac_cv_lib_gssapi_krb5_gss_init_sec_context+:} false; then :
$as_echo_n "(cached) " >&6
@@ -18986,7 +19224,7 @@ $as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; }
if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = xyes; then :
$as_echo "#define GSSAPI 1" >>confdefs.h
- GSSLIBS="-lgssapi_krb5"
+ GSSLIBS="-lgssapi_krb5"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5
$as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; }
@@ -19027,7 +19265,7 @@ $as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; }
if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = xyes; then :
$as_echo "#define GSSAPI 1" >>confdefs.h
- GSSLIBS="-lgssapi"
+ GSSLIBS="-lgssapi"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgss" >&5
$as_echo_n "checking for gss_init_sec_context in -lgss... " >&6; }
@@ -19068,7 +19306,7 @@ $as_echo "$ac_cv_lib_gss_gss_init_sec_context" >&6; }
if test "x$ac_cv_lib_gss_gss_init_sec_context" = xyes; then :
$as_echo "#define GSSAPI 1" >>confdefs.h
- GSSLIBS="-lgss"
+ GSSLIBS="-lgss"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api library - build may fail" >&5
$as_echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;}
@@ -19081,13 +19319,13 @@ fi
fi
- ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
if test "x$ac_cv_header_gssapi_h" = xyes; then :
else
unset ac_cv_header_gssapi_h
- CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
- for ac_header in gssapi.h
+ CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
+ for ac_header in gssapi.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
if test "x$ac_cv_header_gssapi_h" = xyes; then :
@@ -19109,9 +19347,9 @@ fi
- oldCPP="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
- ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default"
+ oldCPP="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
+ ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default"
if test "x$ac_cv_header_gssapi_krb5_h" = xyes; then :
else
@@ -19120,6 +19358,7 @@ fi
+ fi
fi
if test -n "${rpath_opt}" ; then
LDFLAGS="$LDFLAGS ${rpath_opt}${KRB5ROOT}/lib"
diff --git a/configure.ac b/configure.ac
index 1c2757ca5de6..01e7d2a4fbec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -307,6 +307,16 @@ AC_COMPILE_IFELSE(
[ AC_MSG_RESULT([no]) ]
)
+AC_MSG_CHECKING([if compiler accepts variable declarations after code])
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <stdlib.h>]],
+ [[ int a; a = 1; int b = 1; exit(a-b); ]])],
+ [ AC_MSG_RESULT([yes])
+ AC_DEFINE(VARIABLE_DECLARATION_AFTER_CODE, [1],
+ [compiler variable declarations after code]) ],
+ [ AC_MSG_RESULT([no]) ]
+)
+
if test "x$no_attrib_nonnull" != "x1" ; then
AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull])
fi
@@ -1858,6 +1868,7 @@ AC_CHECK_FUNCS([ \
pledge \
poll \
prctl \
+ pselect \
pstat \
raise \
readpassphrase \
@@ -3663,7 +3674,7 @@ if test ! -z "$SONY" ; then
LIBS="$LIBS -liberty";
fi
-# Check for long long datatypes
+# Check for long long datatypes
AC_CHECK_TYPES([long long, unsigned long long, long double])
# Check datatype sizes
@@ -3671,6 +3682,16 @@ AC_CHECK_SIZEOF([short int])
AC_CHECK_SIZEOF([int])
AC_CHECK_SIZEOF([long int])
AC_CHECK_SIZEOF([long long int])
+AC_CHECK_SIZEOF([time_t], [], [[
+ #include <sys/types.h>
+ #ifdef HAVE_SYS_TIME_H
+ # include <sys/time.h>
+ #endif
+ #ifdef HAVE_TIME_H
+ # include <time.h>
+ #endif
+ ]]
+)
# Sanity check long long for some platforms (AIX)
if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
@@ -3972,7 +3993,7 @@ AC_CHECK_TYPES([intmax_t, uintmax_t], , , [
TYPE_SOCKLEN_T
-AC_CHECK_TYPES([sig_atomic_t], , , [#include <signal.h>])
+AC_CHECK_TYPES([sig_atomic_t, sighandler_t], , , [#include <signal.h>])
AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t], , , [
#include <sys/types.h>
#ifdef HAVE_SYS_BITYPES_H
@@ -4579,22 +4600,30 @@ AC_ARG_WITH([kerberos5],
AC_DEFINE([KRB5], [1], [Define if you want Kerberos 5 support])
KRB5_MSG="yes"
- AC_PATH_TOOL([KRB5CONF], [krb5-config],
- [$KRB5ROOT/bin/krb5-config],
- [$KRB5ROOT/bin:$PATH])
- if test -x $KRB5CONF ; then
- K5CFLAGS="`$KRB5CONF --cflags`"
- K5LIBS="`$KRB5CONF --libs`"
+ AC_PATH_TOOL([PKGCONFIG], [pkg-config], [no])
+ use_pkgconfig_for_krb5=
+ if test "x$PKGCONFIG" != "xno"; then
+ AC_MSG_CHECKING([if $PKGCONFIG knows about kerberos5])
+ if "$PKGCONFIG" krb5; then
+ AC_MSG_RESULT([yes])
+ use_pkgconfig_for_krb5=yes
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ if test "x$use_pkgconfig_for_krb5" = "xyes"; then
+ K5CFLAGS=`$PKGCONFIG --cflags krb5`
+ K5LIBS=`$PKGCONFIG --libs krb5`
CPPFLAGS="$CPPFLAGS $K5CFLAGS"
AC_MSG_CHECKING([for gssapi support])
- if $KRB5CONF | grep gssapi >/dev/null ; then
+ if "$PKGCONFIG" krb5-gssapi; then
AC_MSG_RESULT([yes])
AC_DEFINE([GSSAPI], [1],
[Define this if you want GSSAPI
support in the version 2 protocol])
- GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
- GSSLIBS="`$KRB5CONF --libs gssapi`"
+ GSSCFLAGS="`$PKGCONFIG --cflags krb5-gssapi`"
+ GSSLIBS="`$PKGCONFIG --libs krb5-gssapi`"
CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
else
AC_MSG_RESULT([no])
@@ -4609,51 +4638,82 @@ AC_ARG_WITH([kerberos5],
[AC_MSG_RESULT([no])
])
else
- CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
- LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
- AC_MSG_CHECKING([whether we are using Heimdal])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <krb5.h>
- ]], [[ char *tmp = heimdal_version; ]])],
+ AC_PATH_TOOL([KRB5CONF], [krb5-config],
+ [$KRB5ROOT/bin/krb5-config],
+ [$KRB5ROOT/bin:$PATH])
+ if test -x $KRB5CONF ; then
+ K5CFLAGS="`$KRB5CONF --cflags`"
+ K5LIBS="`$KRB5CONF --libs`"
+ CPPFLAGS="$CPPFLAGS $K5CFLAGS"
+
+ AC_MSG_CHECKING([for gssapi support])
+ if $KRB5CONF | grep gssapi >/dev/null ; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([GSSAPI], [1],
+ [Define this if you want GSSAPI
+ support in the version 2 protocol])
+ GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
+ GSSLIBS="`$KRB5CONF --libs gssapi`"
+ CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
+ else
+ AC_MSG_RESULT([no])
+ fi
+ AC_MSG_CHECKING([whether we are using Heimdal])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <krb5.h>
+ ]], [[ char *tmp = heimdal_version; ]])],
[ AC_MSG_RESULT([yes])
- AC_DEFINE([HEIMDAL])
- K5LIBS="-lkrb5"
- K5LIBS="$K5LIBS -lcom_err -lasn1"
- AC_CHECK_LIB([roken], [net_write],
- [K5LIBS="$K5LIBS -lroken"])
- AC_CHECK_LIB([des], [des_cbc_encrypt],
- [K5LIBS="$K5LIBS -ldes"])
- ], [ AC_MSG_RESULT([no])
- K5LIBS="-lkrb5 -lk5crypto -lcom_err"
- ])
- AC_SEARCH_LIBS([dn_expand], [resolv])
+ AC_DEFINE([HEIMDAL], [1],
+ [Define this if you are using the Heimdal
+ version of Kerberos V5]) ],
+ [AC_MSG_RESULT([no])
+ ])
+ else
+ CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
+ LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
+ AC_MSG_CHECKING([whether we are using Heimdal])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <krb5.h>
+ ]], [[ char *tmp = heimdal_version; ]])],
+ [ AC_MSG_RESULT([yes])
+ AC_DEFINE([HEIMDAL])
+ K5LIBS="-lkrb5"
+ K5LIBS="$K5LIBS -lcom_err -lasn1"
+ AC_CHECK_LIB([roken], [net_write],
+ [K5LIBS="$K5LIBS -lroken"])
+ AC_CHECK_LIB([des], [des_cbc_encrypt],
+ [K5LIBS="$K5LIBS -ldes"])
+ ], [ AC_MSG_RESULT([no])
+ K5LIBS="-lkrb5 -lk5crypto -lcom_err"
+ ])
+ AC_SEARCH_LIBS([dn_expand], [resolv])
- AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],
- [ AC_DEFINE([GSSAPI])
- GSSLIBS="-lgssapi_krb5" ],
- [ AC_CHECK_LIB([gssapi], [gss_init_sec_context],
+ AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],
[ AC_DEFINE([GSSAPI])
- GSSLIBS="-lgssapi" ],
- [ AC_CHECK_LIB([gss], [gss_init_sec_context],
+ GSSLIBS="-lgssapi_krb5" ],
+ [ AC_CHECK_LIB([gssapi], [gss_init_sec_context],
[ AC_DEFINE([GSSAPI])
- GSSLIBS="-lgss" ],
- AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]))
+ GSSLIBS="-lgssapi" ],
+ [ AC_CHECK_LIB([gss], [gss_init_sec_context],
+ [ AC_DEFINE([GSSAPI])
+ GSSLIBS="-lgss" ],
+ AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]))
+ ])
])
- ])
- AC_CHECK_HEADER([gssapi.h], ,
- [ unset ac_cv_header_gssapi_h
- CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
- AC_CHECK_HEADERS([gssapi.h], ,
- AC_MSG_WARN([Cannot find any suitable gss-api header - build may fail])
- )
- ]
- )
+ AC_CHECK_HEADER([gssapi.h], ,
+ [ unset ac_cv_header_gssapi_h
+ CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
+ AC_CHECK_HEADERS([gssapi.h], ,
+ AC_MSG_WARN([Cannot find any suitable gss-api header - build may fail])
+ )
+ ]
+ )
- oldCPP="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
- AC_CHECK_HEADER([gssapi_krb5.h], ,
- [ CPPFLAGS="$oldCPP" ])
+ oldCPP="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
+ AC_CHECK_HEADER([gssapi_krb5.h], ,
+ [ CPPFLAGS="$oldCPP" ])
+ fi
fi
if test -n "${rpath_opt}" ; then
LDFLAGS="$LDFLAGS ${rpath_opt}${KRB5ROOT}/lib"
diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec
index 96972ec48804..5fb81ce31491 100644
--- a/contrib/redhat/openssh.spec
+++ b/contrib/redhat/openssh.spec
@@ -1,4 +1,4 @@
-%global ver 8.6p1
+%global ver 8.7p1
%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 827eee6c270a..6cd222e5a424 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: 8.6p1
+Version: 8.7p1
URL: https://www.openssh.com/
Release: 1
Source0: openssh-%{version}.tar.gz
diff --git a/defines.h b/defines.h
index d6a1d014cab9..857abb8b1d6f 100644
--- a/defines.h
+++ b/defines.h
@@ -304,6 +304,12 @@ typedef long long intmax_t;
typedef unsigned long long uintmax_t;
#endif
+#if SIZEOF_TIME_T == SIZEOF_LONG_LONG_INT
+# define SSH_TIME_T_MAX LLONG_MAX
+#else
+# define SSH_TIME_T_MAX INT_MAX
+#endif
+
#ifndef HAVE_U_CHAR
typedef unsigned char u_char;
# define HAVE_U_CHAR
@@ -895,10 +901,10 @@ struct winsize {
#endif
/*
- * sntrup761 uses variable length arrays, only enable if the compiler
- * supports them.
+ * sntrup761 uses variable length arrays and c99-style declarations after code,
+ * so only enable if the compiler supports them.
*/
-#ifdef VARIABLE_LENGTH_ARRAYS
+#if defined(VARIABLE_LENGTH_ARRAYS) && defined(VARIABLE_DECLARATION_AFTER_CODE)
# define USE_SNTRUP761X25519 1
#endif
#endif /* _DEFINES_H */
diff --git a/dns.c b/dns.c
index 91c6e9f044be..1cfc38e7cc43 100644
--- a/dns.c
+++ b/dns.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dns.c,v 1.39 2020/10/18 11:32:01 djm Exp $ */
+/* $OpenBSD: dns.c,v 1.41 2021/07/19 03:13:28 dtucker Exp $ */
/*
* Copyright (c) 2003 Wesley Griffin. All rights reserved.
@@ -75,6 +75,7 @@ dns_result_totext(unsigned int res)
/*
* Read SSHFP parameters from key buffer.
+ * Caller must free digest which is allocated by sshkey_fingerprint_raw().
*/
static int
dns_read_key(u_int8_t *algorithm, u_int8_t *digest_type,
@@ -86,32 +87,21 @@ dns_read_key(u_int8_t *algorithm, u_int8_t *digest_type,
switch (key->type) {
case KEY_RSA:
*algorithm = SSHFP_KEY_RSA;
- if (!*digest_type)
- *digest_type = SSHFP_HASH_SHA1;
break;
case KEY_DSA:
*algorithm = SSHFP_KEY_DSA;
- if (!*digest_type)
- *digest_type = SSHFP_HASH_SHA1;
break;
case KEY_ECDSA:
*algorithm = SSHFP_KEY_ECDSA;
- if (!*digest_type)
- *digest_type = SSHFP_HASH_SHA256;
break;
case KEY_ED25519:
*algorithm = SSHFP_KEY_ED25519;
- if (!*digest_type)
- *digest_type = SSHFP_HASH_SHA256;
break;
case KEY_XMSS:
*algorithm = SSHFP_KEY_XMSS;
- if (!*digest_type)
- *digest_type = SSHFP_HASH_SHA256;
break;
default:
*algorithm = SSHFP_KEY_RESERVED; /* 0 */
- *digest_type = SSHFP_HASH_RESERVED; /* 0 */
}
switch (*digest_type) {
@@ -133,7 +123,6 @@ dns_read_key(u_int8_t *algorithm, u_int8_t *digest_type,
} else {
*digest = NULL;
*digest_len = 0;
- success = 0;
}
return success;
@@ -212,7 +201,6 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
struct rrsetinfo *fingerprints = NULL;
u_int8_t hostkey_algorithm;
- u_int8_t hostkey_digest_type = SSHFP_HASH_RESERVED;
u_char *hostkey_digest;
size_t hostkey_digest_len;
@@ -248,14 +236,6 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
fingerprints->rri_nrdatas);
}
- /* Initialize default host key parameters */
- if (!dns_read_key(&hostkey_algorithm, &hostkey_digest_type,
- &hostkey_digest, &hostkey_digest_len, hostkey)) {
- error("Error calculating host key fingerprint.");
- freerrset(fingerprints);
- return -1;
- }
-
if (fingerprints->rri_nrdatas)
*flags |= DNS_VERIFY_FOUND;
@@ -271,35 +251,41 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
verbose("Error parsing fingerprint from DNS.");
continue;
}
-
- if (hostkey_digest_type != dnskey_digest_type) {
- hostkey_digest_type = dnskey_digest_type;
- free(hostkey_digest);
-
- /* Initialize host key parameters */
- if (!dns_read_key(&hostkey_algorithm,
- &hostkey_digest_type, &hostkey_digest,
- &hostkey_digest_len, hostkey)) {
- error("Error calculating key fingerprint.");
- freerrset(fingerprints);
- return -1;
- }
+ debug3_f("checking SSHFP type %d fptype %d", dnskey_algorithm,
+ dnskey_digest_type);
+
+ /* Calculate host key fingerprint. */
+ if (!dns_read_key(&hostkey_algorithm, &dnskey_digest_type,
+ &hostkey_digest, &hostkey_digest_len, hostkey)) {
+ error("Error calculating key fingerprint.");
+ freerrset(fingerprints);
+ return -1;
}
/* Check if the current key is the same as the given key */
if (hostkey_algorithm == dnskey_algorithm &&
- hostkey_digest_type == dnskey_digest_type) {
- if (hostkey_digest_len == dnskey_digest_len &&
- timingsafe_bcmp(hostkey_digest, dnskey_digest,
- hostkey_digest_len) == 0)
+ hostkey_digest_len == dnskey_digest_len) {
+ if (timingsafe_bcmp(hostkey_digest, dnskey_digest,
+ hostkey_digest_len) == 0) {
+ debug_f("matched SSHFP type %d fptype %d",
+ dnskey_algorithm, dnskey_digest_type);
*flags |= DNS_VERIFY_MATCH;
+ } else {
+ debug_f("failed SSHFP type %d fptype %d",
+ dnskey_algorithm, dnskey_digest_type);
+ *flags |= DNS_VERIFY_FAILED;
+ }
}
free(dnskey_digest);
+ free(hostkey_digest); /* from sshkey_fingerprint_raw() */
}
- free(hostkey_digest); /* from sshkey_fingerprint_raw() */
freerrset(fingerprints);
+ /* If any fingerprint failed to validate, return failure. */
+ if (*flags & DNS_VERIFY_FAILED)
+ *flags &= ~DNS_VERIFY_MATCH;
+
if (*flags & DNS_VERIFY_FOUND)
if (*flags & DNS_VERIFY_MATCH)
debug("matching host key fingerprint found in DNS");
diff --git a/dns.h b/dns.h
index 91f3c632dd1b..c9b61c4f28f8 100644
--- a/dns.h
+++ b/dns.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: dns.h,v 1.18 2018/02/23 15:58:37 markus Exp $ */
+/* $OpenBSD: dns.h,v 1.19 2021/07/19 03:13:28 dtucker Exp $ */
/*
* Copyright (c) 2003 Wesley Griffin. All rights reserved.
@@ -50,6 +50,7 @@ enum sshfp_hashes {
#define DNS_VERIFY_FOUND 0x00000001
#define DNS_VERIFY_MATCH 0x00000002
#define DNS_VERIFY_SECURE 0x00000004
+#define DNS_VERIFY_FAILED 0x00000008
int verify_host_key_dns(const char *, struct sockaddr *,
struct sshkey *, int *);
diff --git a/entropy.c b/entropy.c
index 19ddeeafae3b..a4088e43cdf8 100644
--- a/entropy.c
+++ b/entropy.c
@@ -29,20 +29,12 @@
#ifdef WITH_OPENSSL
#include <sys/types.h>
-#include <sys/socket.h>
-#ifdef HAVE_SYS_UN_H
-# include <sys/un.h>
-#endif
-
-#include <netinet/in.h>
-#include <arpa/inet.h>
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
-#include <stddef.h> /* for offsetof */
#include <openssl/rand.h>
#include <openssl/crypto.h>
@@ -67,121 +59,6 @@
*/
#ifndef OPENSSL_PRNG_ONLY
-/*
- * Collect 'len' bytes of entropy into 'buf' from PRNGD/EGD daemon
- * listening either on 'tcp_port', or via Unix domain socket at *
- * 'socket_path'.
- * Either a non-zero tcp_port or a non-null socket_path must be
- * supplied.
- * Returns 0 on success, -1 on error
- */
-int
-get_random_bytes_prngd(unsigned char *buf, int len,
- unsigned short tcp_port, char *socket_path)
-{
- int fd, addr_len, rval, errors;
- u_char msg[2];
- struct sockaddr_storage addr;
- struct sockaddr_in *addr_in = (struct sockaddr_in *)&addr;
- struct sockaddr_un *addr_un = (struct sockaddr_un *)&addr;
- sshsig_t old_sigpipe;
-
- /* Sanity checks */
- if (socket_path == NULL && tcp_port == 0)
- fatal("You must specify a port or a socket");
- if (socket_path != NULL &&
- strlen(socket_path) >= sizeof(addr_un->sun_path))
- fatal("Random pool path is too long");
- if (len <= 0 || len > 255)
- fatal("Too many bytes (%d) to read from PRNGD", len);
-
- memset(&addr, '\0', sizeof(addr));
-
- if (tcp_port != 0) {
- addr_in->sin_family = AF_INET;
- addr_in->sin_addr.s_addr = htonl(INADDR_LOOPBACK);
- addr_in->sin_port = htons(tcp_port);
- addr_len = sizeof(*addr_in);
- } else {
- addr_un->sun_family = AF_UNIX;
- strlcpy(addr_un->sun_path, socket_path,
- sizeof(addr_un->sun_path));
- addr_len = offsetof(struct sockaddr_un, sun_path) +
- strlen(socket_path) + 1;
- }
-
- old_sigpipe = ssh_signal(SIGPIPE, SIG_IGN);
-
- errors = 0;
- rval = -1;
-reopen:
- fd = socket(addr.ss_family, SOCK_STREAM, 0);
- if (fd == -1) {
- error("Couldn't create socket: %s", strerror(errno));
- goto done;
- }
-
- if (connect(fd, (struct sockaddr*)&addr, addr_len) == -1) {
- if (tcp_port != 0) {
- error("Couldn't connect to PRNGD port %d: %s",
- tcp_port, strerror(errno));
- } else {
- error("Couldn't connect to PRNGD socket \"%s\": %s",
- addr_un->sun_path, strerror(errno));
- }
- goto done;
- }
-
- /* Send blocking read request to PRNGD */
- msg[0] = 0x02;
- msg[1] = len;
-
- if (atomicio(vwrite, fd, msg, sizeof(msg)) != sizeof(msg)) {
- if (errno == EPIPE && errors < 10) {
- close(fd);
- errors++;
- goto reopen;
- }
- error("Couldn't write to PRNGD socket: %s",
- strerror(errno));
- goto done;
- }
-
- if (atomicio(read, fd, buf, len) != (size_t)len) {
- if (errno == EPIPE && errors < 10) {
- close(fd);
- errors++;
- goto reopen;
- }
- error("Couldn't read from PRNGD socket: %s",
- strerror(errno));
- goto done;
- }
-
- rval = 0;
-done:
- ssh_signal(SIGPIPE, old_sigpipe);
- if (fd != -1)
- close(fd);
- return rval;
-}
-
-static int
-seed_from_prngd(unsigned char *buf, size_t bytes)
-{
-#ifdef PRNGD_PORT
- debug("trying egd/prngd port %d", PRNGD_PORT);
- if (get_random_bytes_prngd(buf, bytes, PRNGD_PORT, NULL) == 0)
- return 0;
-#endif
-#ifdef PRNGD_SOCKET
- debug("trying egd/prngd socket %s", PRNGD_SOCKET);
- if (get_random_bytes_prngd(buf, bytes, 0, PRNGD_SOCKET) == 0)
- return 0;
-#endif
- return -1;
-}
-
void
rexec_send_rng_seed(struct sshbuf *m)
{
diff --git a/hash.c b/hash.c
index fb81e4786945..b4f8f6c50d5e 100644
--- a/hash.c
+++ b/hash.c
@@ -1,5 +1,3 @@
-/* $OpenBSD: hash.c,v 1.4 2017/12/14 21:07:39 naddy Exp $ */
-
/* $OpenBSD: hash.c,v 1.6 2019/11/29 00:11:21 djm Exp $ */
/*
* Public domain. Author: Christian Weisgerber <naddy@openbsd.org>
diff --git a/hostfile.c b/hostfile.c
index 5f0e3515d656..ce00cd713549 100644
--- a/hostfile.c
+++ b/hostfile.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hostfile.c,v 1.90 2021/04/03 06:58:30 djm Exp $ */
+/* $OpenBSD: hostfile.c,v 1.91 2021/07/05 01:16:46 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
diff --git a/kexdh.c b/kexdh.c
index 001dd12db57a..c1084f2146e1 100644
--- a/kexdh.c
+++ b/kexdh.c
@@ -29,9 +29,9 @@
#include <sys/types.h>
-#include <signal.h>
#include <stdio.h>
#include <string.h>
+#include <signal.h>
#include "openbsd-compat/openssl-compat.h"
#include <openssl/dh.h>
diff --git a/krl.c b/krl.c
index 5612e7742733..17b88edde777 100644
--- a/krl.c
+++ b/krl.c
@@ -14,7 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $OpenBSD: krl.c,v 1.52 2020/10/18 11:32:01 djm Exp $ */
+/* $OpenBSD: krl.c,v 1.53 2021/06/04 06:19:07 djm Exp $ */
#include "includes.h"
@@ -61,7 +61,7 @@ struct revoked_serial {
};
static int serial_cmp(struct revoked_serial *a, struct revoked_serial *b);
RB_HEAD(revoked_serial_tree, revoked_serial);
-RB_GENERATE_STATIC(revoked_serial_tree, revoked_serial, tree_entry, serial_cmp);
+RB_GENERATE_STATIC(revoked_serial_tree, revoked_serial, tree_entry, serial_cmp)
/* Tree of key IDs */
struct revoked_key_id {
@@ -70,7 +70,7 @@ struct revoked_key_id {
};
static int key_id_cmp(struct revoked_key_id *a, struct revoked_key_id *b);
RB_HEAD(revoked_key_id_tree, revoked_key_id);
-RB_GENERATE_STATIC(revoked_key_id_tree, revoked_key_id, tree_entry, key_id_cmp);
+RB_GENERATE_STATIC(revoked_key_id_tree, revoked_key_id, tree_entry, key_id_cmp)
/* Tree of blobs (used for keys and fingerprints) */
struct revoked_blob {
@@ -80,7 +80,7 @@ struct revoked_blob {
};
static int blob_cmp(struct revoked_blob *a, struct revoked_blob *b);
RB_HEAD(revoked_blob_tree, revoked_blob);
-RB_GENERATE_STATIC(revoked_blob_tree, revoked_blob, tree_entry, blob_cmp);
+RB_GENERATE_STATIC(revoked_blob_tree, revoked_blob, tree_entry, blob_cmp)
/* Tracks revoked certs for a single CA */
struct revoked_certs {
diff --git a/log.c b/log.c
index 165b486389dc..42c6f9a60d3e 100644
--- a/log.c
+++ b/log.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: log.c,v 1.58 2021/04/15 16:24:31 markus Exp $ */
+/* $OpenBSD: log.c,v 1.59 2021/05/07 04:11:51 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -466,8 +466,9 @@ sshlogv(const char *file, const char *func, int line, int showfunc,
const char *cp;
size_t i;
- snprintf(tag, sizeof(tag), "%.48s:%.48s():%d",
- (cp = strrchr(file, '/')) == NULL ? file : cp + 1, func, line);
+ snprintf(tag, sizeof(tag), "%.48s:%.48s():%d (pid=%ld)",
+ (cp = strrchr(file, '/')) == NULL ? file : cp + 1, func, line,
+ (long)getpid());
for (i = 0; i < nlog_verbose; i++) {
if (match_pattern_list(tag, log_verbose[i], 0) == 1) {
forced = 1;
diff --git a/misc.c b/misc.c
index b0ece2442cc7..b8d1040d1e3c 100644
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.164 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.169 2021/08/09 23:47:44 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2005-2020 Damien Miller. All rights reserved.
@@ -85,6 +85,20 @@ chop(char *s)
}
+/* remove whitespace from end of string */
+void
+rtrim(char *s)
+{
+ size_t i;
+
+ if ((i = strlen(s)) == 0)
+ return;
+ for (i--; i > 0; i--) {
+ if (isspace((int)s[i]))
+ s[i] = '\0';
+ }
+}
+
/* set/unset filedescriptor to non-blocking */
int
set_nonblock(int fd)
@@ -445,7 +459,7 @@ pwcopy(struct passwd *pw)
struct passwd *copy = xcalloc(1, sizeof(*copy));
copy->pw_name = xstrdup(pw->pw_name);
- copy->pw_passwd = xstrdup(pw->pw_passwd);
+ copy->pw_passwd = xstrdup(pw->pw_passwd == NULL ? "*" : pw->pw_passwd);
#ifdef HAVE_STRUCT_PASSWD_PW_GECOS
copy->pw_gecos = xstrdup(pw->pw_gecos);
#endif
@@ -1101,29 +1115,37 @@ freeargs(arglist *args)
* Expands tildes in the file name. Returns data allocated by xmalloc.
* Warning: this calls getpw*.
*/
-char *
-tilde_expand_filename(const char *filename, uid_t uid)
+int
+tilde_expand(const char *filename, uid_t uid, char **retp)
{
const char *path, *sep;
char user[128], *ret;
struct passwd *pw;
u_int len, slash;
- if (*filename != '~')
- return (xstrdup(filename));
+ if (*filename != '~') {
+ *retp = xstrdup(filename);
+ return 0;
+ }
filename++;
path = strchr(filename, '/');
if (path != NULL && path > filename) { /* ~user/path */
slash = path - filename;
- if (slash > sizeof(user) - 1)
- fatal("tilde_expand_filename: ~username too long");
+ if (slash > sizeof(user) - 1) {
+ error_f("~username too long");
+ return -1;
+ }
memcpy(user, filename, slash);
user[slash] = '\0';
- if ((pw = getpwnam(user)) == NULL)
- fatal("tilde_expand_filename: No such user %s", user);
- } else if ((pw = getpwuid(uid)) == NULL) /* ~/path */
- fatal("tilde_expand_filename: No such uid %ld", (long)uid);
+ if ((pw = getpwnam(user)) == NULL) {
+ error_f("No such user %s", user);
+ return -1;
+ }
+ } else if ((pw = getpwuid(uid)) == NULL) { /* ~/path */
+ error_f("No such uid %ld", (long)uid);
+ return -1;
+ }
/* Make sure directory has a trailing '/' */
len = strlen(pw->pw_dir);
@@ -1136,10 +1158,23 @@ tilde_expand_filename(const char *filename, uid_t uid)
if (path != NULL)
filename = path + 1;
- if (xasprintf(&ret, "%s%s%s", pw->pw_dir, sep, filename) >= PATH_MAX)
- fatal("tilde_expand_filename: Path too long");
+ if (xasprintf(&ret, "%s%s%s", pw->pw_dir, sep, filename) >= PATH_MAX) {
+ error_f("Path too long");
+ return -1;
+ }
- return (ret);
+ *retp = ret;
+ return 0;
+}
+
+char *
+tilde_expand_filename(const char *filename, uid_t uid)
+{
+ char *ret;
+
+ if (tilde_expand(filename, uid, &ret) != 0)
+ cleanup_exit(255);
+ return ret;
}
/*
@@ -1912,14 +1947,13 @@ daemonized(void)
return 1;
}
-
/*
* Splits 's' into an argument vector. Handles quoted string and basic
* escape characters (\\, \", \'). Caller must free the argument vector
* and its members.
*/
int
-argv_split(const char *s, int *argcp, char ***argvp)
+argv_split(const char *s, int *argcp, char ***argvp, int terminate_on_comment)
{
int r = SSH_ERR_INTERNAL_ERROR;
int argc = 0, quote, i, j;
@@ -1932,7 +1966,8 @@ argv_split(const char *s, int *argcp, char ***argvp)
/* Skip leading whitespace */
if (s[i] == ' ' || s[i] == '\t')
continue;
-
+ if (terminate_on_comment && s[i] == '#')
+ break;
/* Start of a token */
quote = 0;
@@ -1945,7 +1980,8 @@ argv_split(const char *s, int *argcp, char ***argvp)
if (s[i] == '\\') {
if (s[i + 1] == '\'' ||
s[i + 1] == '\"' ||
- s[i + 1] == '\\') {
+ s[i + 1] == '\\' ||
+ (quote == 0 && s[i + 1] == ' ')) {
i++; /* Skip '\' */
arg[j++] = s[i];
} else {
@@ -2039,6 +2075,36 @@ argv_assemble(int argc, char **argv)
return ret;
}
+char *
+argv_next(int *argcp, char ***argvp)
+{
+ char *ret = (*argvp)[0];
+
+ if (*argcp > 0 && ret != NULL) {
+ (*argcp)--;
+ (*argvp)++;
+ }
+ return ret;
+}
+
+void
+argv_consume(int *argcp)
+{
+ *argcp = 0;
+}
+
+void
+argv_free(char **av, int ac)
+{
+ int i;
+
+ if (av == NULL)
+ return;
+ for (i = 0; i < ac; i++)
+ free(av[i]);
+ free(av);
+}
+
/* Returns 0 if pid exited cleanly, non-zero otherwise */
int
exited_cleanly(pid_t pid, const char *tag, const char *cmd, int quiet)
@@ -2338,10 +2404,13 @@ parse_absolute_time(const char *s, uint64_t *tp)
return 0;
}
+/* On OpenBSD time_t is int64_t which is long long. */
+/* #define SSH_TIME_T_MAX LLONG_MAX */
+
void
format_absolute_time(uint64_t t, char *buf, size_t len)
{
- time_t tt = t > INT_MAX ? INT_MAX : t; /* XXX revisit in 2038 :P */
+ time_t tt = t > SSH_TIME_T_MAX ? SSH_TIME_T_MAX : t;
struct tm tm;
localtime_r(&tt, &tm);
@@ -2671,3 +2740,18 @@ subprocess(const char *tag, const char *command,
*child = f;
return pid;
}
+
+const char *
+lookup_env_in_list(const char *env, char * const *envs, size_t nenvs)
+{
+ size_t i, envlen;
+
+ envlen = strlen(env);
+ for (i = 0; i < nenvs; i++) {
+ if (strncmp(envs[i], env, envlen) == 0 &&
+ envs[i][envlen] == '=') {
+ return envs[i] + envlen + 1;
+ }
+ }
+ return NULL;
+}
diff --git a/misc.h b/misc.h
index 58914bd7f128..2e2dca54bf45 100644
--- a/misc.h
+++ b/misc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.h,v 1.95 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: misc.h,v 1.98 2021/08/09 23:47:44 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -45,6 +45,7 @@ struct ForwardOptions {
/* misc.c */
char *chop(char *);
+void rtrim(char *);
void skip_space(char **);
char *strdelim(char **);
char *strdelimw(char **);
@@ -70,6 +71,7 @@ int parse_user_host_port(const char *, char **, char **, int *);
int parse_uri(const char *, const char *, char **, char **, int *, char **);
int convtime(const char *);
const char *fmt_timeframe(time_t t);
+int tilde_expand(const char *, uid_t, char **);
char *tilde_expand_filename(const char *, uid_t);
char *dollar_expand(int *, const char *string, ...);
@@ -175,9 +177,15 @@ void mktemp_proto(char *, size_t);
void child_set_env(char ***envp, u_int *envsizep, const char *name,
const char *value);
+const char *lookup_env_in_list(const char *env,
+ char * const *envs, size_t nenvs);
-int argv_split(const char *, int *, char ***);
+int argv_split(const char *, int *, char ***, int);
char *argv_assemble(int, char **argv);
+char *argv_next(int *, char ***);
+void argv_consume(int *);
+void argv_free(char **, int);
+
int exited_cleanly(pid_t, const char *, const char *, int);
struct stat;
diff --git a/moduli b/moduli
index 5b788a88385f..81afe331b3b6 100644
--- a/moduli
+++ b/moduli
@@ -1,447 +1,450 @@
-# $OpenBSD: moduli,v 1.29 2021/03/10 06:32:27 dtucker Exp $
+# $OpenBSD: moduli,v 1.30 2021/05/17 07:22:45 dtucker Exp $
# Time Type Tests Tries Size Generator Modulus
-20200930103859 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AA67732B
-20200930104218 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AAEC16F3
-20200930104319 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AB1310F3
-20200930104333 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AB14C093
-20200930104405 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AB297677
-20200930104620 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AB8E47BF
-20200930104658 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ABA427AB
-20200930104713 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ABA93727
-20200930104858 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ABEB0CD3
-20200930104955 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AC09DF6F
-20200930105245 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ACB5C36F
-20200930105334 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ACCD80EB
-20200930105514 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AD0A024B
-20200930105705 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AD4DA807
-20200930105838 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AD8515A7
-20200930105923 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AD99A2F3
-20200930110024 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ADB9659B
-20200930110055 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37ADC6CD9B
-20200930110307 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AE16257B
-20200930110335 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AE200B43
-20200930110447 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AE487643
-20200930110501 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AE49A30F
-20200930110640 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AE7CB41F
-20200930110705 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AE850193
-20200930110828 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AEAFC643
-20200930110947 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AED939F7
-20200930111052 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AEF8958B
-20200930111318 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AF484B07
-20200930111345 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AF506FB3
-20200930111558 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37AF9D1DEB
-20200930111857 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B006FBA3
-20200930112128 2 6 100 2047 5 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B05EE957
-20200930112416 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B0C3E9BB
-20200930112439 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B0CC77D3
-20200930112529 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B0E3D873
-20200930112751 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B13355D3
-20200930112903 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B15BABBB
-20200930113019 2 6 100 2047 2 DD19D852DB5639810688F04A26C29999BB806D2F7C80880AE35BD4C2EBBD49BC5D2A326B03C5BF96777DE50D0F5C2AA928A46F550D5F5DF6AD619FB1F38E432B4EBB3B39FD49A6A8F187DD4BC7E541B6390033BFAE92E64020DF00C57DE1F9A51B66686EDADAD07C72CAAE33110A635484746BBF6A592A9A14B7A96754FDF1FFA3AE383A60927C0E03B9F959396D1FC452A404C1BF28BB914EAF591452865923778A99AA3608F899057C9DDAD66206E89621BDEEF2BFEB7B2D045CE3BA93AAA7A89121A5ED43C2CED0F22E271964741193E83C51DDCEE04A3ACD21C954EDFAF578547F85A4A62FE6B62D20BC2C6803302ACE817B64189EC9677C2D37B184B2A3
-20200930113412 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC5488ED437
-20200930113500 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC548A601CB
-20200930113748 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC549036A23
-20200930113832 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC549165F87
-20200930113959 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC549496DBB
-20200930114037 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC5495B861B
-20200930114050 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC5495C68CB
-20200930114255 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC549A6EB2B
-20200930114431 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC549E07B43
-20200930114445 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC549E2CF23
-20200930114719 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54A3E7F8F
-20200930114810 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54A563DEF
-20200930115248 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54B012D4B
-20200930115431 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54B397777
-20200930115527 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54B553237
-20200930115559 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54B625363
-20200930115639 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54B764653
-20200930115714 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54B85426F
-20200930115814 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54BA69D8F
-20200930120314 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54C7285E3
-20200930120351 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54C86F583
-20200930120424 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54C93ECD3
-20200930120459 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54CA6ADC3
-20200930120535 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54CB82843
-20200930120634 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54CDD2F6B
-20200930120740 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54D05106B
-20200930120808 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54D124907
-20200930120902 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54D35556B
-20200930121004 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54D5D58A3
-20200930121027 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54D66AA1B
-20200930121059 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54D798D2B
-20200930121232 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54DB2997F
-20200930121533 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54E249FBB
-20200930121602 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54E30E23F
-20200930121739 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54E67F36F
-20200930121847 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54E8E56D3
-20200930122206 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54F05DEC7
-20200930122413 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54F513B07
-20200930122512 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54F712233
-20200930122719 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54FBCFD33
-20200930122737 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC54FC0216F
-20200930122956 2 6 100 2047 5 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC550170507
-20200930123106 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC5503F0863
-20200930123146 2 6 100 2047 2 D9F77C62B924E4DC2FFF6682F124D0F01627EC2634654DF4A2447BF0F88EE3DE63675303C39FFEC329B8AB02FA7A4E35210B3AD9805B032A5AFC0835D65DA3A522477694920B4328A2EF80DCAD164A4A80AFDFD6E2D47020282DBB4F1CF132226C07C27E4948057A504B0B52FF665FA792E1DE498B3931270A6244FE4F116407BA08B00AC2CAFBF6D3C6C37EF7F5B9D155545E1D014F7D057F820182EB35B125669E9B87569A55EBE6DF6DC3230B31ACC0560EF1D4BEC78CBE46E203E57086AC96A74FFFD90F545E7845236E71E4329ED8281CF3819CA14B162D51CC58EC73BF462AE605FC548E41DE2479E3A006EA0E9EDB4ABAEFB5A7C0FA976FC5504FBFFB
-20200930131958 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BBCE046BF
-20200930133333 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BBDB3497F
-20200930134619 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BBE93B7DB
-20200930134843 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BBEB9F86B
-20200930140124 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BBFB429AB
-20200930140701 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC025DBE7
-20200930141445 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC0B94697
-20200930141618 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC0D070FB
-20200930142039 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC12AB823
-20200930142500 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC18EE2A3
-20200930143133 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC2223D33
-20200930143655 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC2914A47
-20200930144031 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC2DF100F
-20200930145023 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC3CD7DDF
-20200930145245 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC40476EB
-20200930145745 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC47CF4D3
-20200930150246 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC4F4DC13
-20200930150400 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC50F13BB
-20200930151224 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC5D3446B
-20200930151334 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC5E84957
-20200930151946 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC67BC6EB
-20200930152246 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC6BE4C0B
-20200930152442 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC6E58FEB
-20200930152517 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC6EC7283
-20200930152544 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC6EFB5D3
-20200930153147 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC76614BB
-20200930154247 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC876E263
-20200930154655 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC8D835FF
-20200930155510 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC9A5DD53
-20200930155644 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC9C54223
-20200930155841 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BC9EF4E9B
-20200930155951 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCA0893BB
-20200930160156 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCA39256B
-20200930160335 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCA58F26F
-20200930160458 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCA79E25B
-20200930161250 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCB3CD967
-20200930161643 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCB9AE923
-20200930162043 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCBFC8D17
-20200930162137 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCC0AE5BF
-20200930162454 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCC5E286B
-20200930162948 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCCD410A3
-20200930163811 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCDA71C3F
-20200930163852 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCDAE81E7
-20200930164250 2 6 100 3071 5 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCE0B29AF
-20200930164410 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCE25DA3B
-20200930164557 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCE4CECFB
-20200930164800 2 6 100 3071 2 D0F2B3CC37A29DF5AD1623D003ABD0987230EA8A417A02839C436A9E9C7A0581A9234176BC0F0F2F450158718D0C2F35AD83181A4C36AD0483D8FA07EB282666AF859B9DC8FF9F9EACBC804D8114277653AD082DF50DC8A4E1A7F012922A198E6677002FDB48F92F84A794C19621BA3997975245D6A441A0C3D92F742719B67C5C356F6EB229A0F004CF1A5F7908F18EB783934B5E3311593CCC3B88C41010CD5F0D0B63BB169E0410D9C5C1FF4E5798ADAFDE92ACEB42C0147EA12DCD59EDC0C354CF167219C9D2C7A2CEF76FECB233986FD48AAF3B9379537D8EDDD67C517A7134F188307C8C16E6D125425EB82E23625D51851463A06A71E0C91A1BB78BAF49535DFB51195C9755F3EAAC761A17803FB292A228E1109FCA837A8B8F7A9696F981F6EF48A6F285C00EB5750D8C61414C742EDDAEC16661219315B9D9A10AA81CDC496B273B0238BC77649D156AF9A031B11FE2B981FABEAEB102802BA8EFA4D743042FBB8C91F0D892469826C60CCBEE44C8167D664672492D564BCE7942D3
-20200930165856 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3633990233
-20200930170645 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36344A3E63
-20200930171201 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3634D3E62B
-20200930171432 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3635088CD7
-20200930171818 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36355FD633
-20200930172759 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36365E0643
-20200930173548 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36372023FF
-20200930173839 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36375FB73B
-20200930174243 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3637C3C17B
-20200930174555 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363812F603
-20200930175037 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363880305B
-20200930175131 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36388E6AA3
-20200930175228 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36389FD95F
-20200930180050 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363972ACC7
-20200930180301 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3639A594D3
-20200930180756 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363A2043C7
-20200930180835 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363A25D30B
-20200930180925 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363A32CB4B
-20200930181538 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363AD672E7
-20200930181644 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363AEC260F
-20200930182258 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363B8D9FCF
-20200930182834 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363C161663
-20200930182932 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363C26369F
-20200930183140 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363C575C93
-20200930183452 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363CA60763
-20200930184439 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363D9F9553
-20200930185118 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363E462B5B
-20200930185600 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363EC13C83
-20200930185646 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363ECAC29F
-20200930185830 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363EED78B7
-20200930190150 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363F41A293
-20200930190554 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363FA9D6C3
-20200930190652 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363FBA5D77
-20200930190818 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED363FD4D617
-20200930192133 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36413128DF
-20200930192506 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36418D031B
-20200930192844 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3641E7B13F
-20200930193716 2 6 100 3071 2 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED3642C5CDB3
-20200930195325 2 6 100 3071 5 E1009A27E8B33EC315331CCC6530EA1D6D434442F56A84A4F51EA47D915025BFF9A55E9225FD0D3829930D7469978A8BFC8DCC85703DD2C4B5297BE134E93D7EA72E4B7D18D62F10DFB196707CF4975EAE036E83D6302A61568111787BBAEEA6C483F9F68601017B48932924651B07EF5509BB5B208B298927A43A96E12E110C3EA911693EF9DB4094834D862A8C9AE60C3D21507E2E634573DA325298D02D99130007973CC2F7C95C0BAA1B2B4644D0E9E21880F665498462D8F041B6D2C95085AB34A8E490411014B3573AB9902F2F70FD3A48C7A7B0076AD1C8B073295851A590D578DE130CDAD896ABD2AEEDE74FB72D1A842B84A47C045248ABE149D10E1B7CD67F78B65573EA15B0088026C22D41CCF95E2F7CCDCBD70F3B685805186B7241568C03F2DE6BE72EB1FF91F9B811E168CF1A0DC6B1D2D9AC69AFB450583E8FFB2682158E10B120D750C75159058D04B27F1350012B484FFF93FDAAEB819C9D0F632E3358AE410E242494713E715E3F9150FE0882CC06153EED36447A6037
-20200930203427 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D121E283097
-20200930212141 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12206F330F
-20200930213623 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12211E084B
-20200930221333 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1221896A17
-20200930221945 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1221B2485B
-20200930232214 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12227A70A3
-20201001002356 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1222FF2E9F
-20201001004540 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12235AC837
-20201001004636 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12235B75FB
-20201001043411 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1225B50D17
-20201001043728 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1225CB099B
-20201001050054 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12268D7CA7
-20201001054849 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12282033E3
-20201001070929 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D122AF5291F
-20201001072234 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D122B6EFDEB
-20201001075250 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D122C8CF0D3
-20201001075437 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D122C94354B
-20201001080649 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D122D0186B3
-20201001081829 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D122D66125F
-20201001093449 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D123048EE7F
-20201001093748 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12305B5857
-20201001094150 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12307B06CB
-20201001095043 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1230C795B3
-20201001100350 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12313BC2DB
-20201001104031 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1232922ECF
-20201001105657 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12332F3B07
-20201001112635 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12344498B7
-20201001112836 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12344E3D63
-20201001114337 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1234D9384F
-20201001115808 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12355D26AF
-20201001120939 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1235C35313
-20201001122331 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D12363C302F
-20201001124432 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1236FFFF6B
-20201001125356 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D123754B623
-20201001130844 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1237DAB06F
-20201001131243 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1237F8E297
-20201001133149 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1238A92C87
-20201001140357 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D1239DBC1AF
-20201001142245 2 6 100 4095 2 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D123A811F7B
-20201001150145 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D123BDFE8AF
-20201001153400 2 6 100 4095 5 FF1950A9D266D427EB8A232ACAF44612A47682EB0B8C89257EAE4D9F586CFC514878E79DF5A708945A9B2C5441A7708EC3904EC7C6C31424F23D30B14791B5A1DE417FAC45773E1A4FDFEC320C0BE611CE6BF0CFCD5EA9DB5F1878E04094441A35F9D22109EDBCE9AB6B9E433B1301C6A7921AF2590E84434B58DC8CEB83FD24C080D1998E9A6BBF7BB9BFB218FBFB6B0BC2CA7CCC260D7E1443E18B85CFF71724F21B9C855557CDC2C490A496D31E0746CAC6A6012553E013B38CE7F394E664034E137AA4750C72A5560F4DBE9B0B28D82D5EB560FE4211F5280F35811C65365C386CEA8B30B8AEAE43D61B053AAB32C41B582B24D0C1FADC212DBD52559CC8E1AC18A548D1A6EDBC47AB15E86CCEF826776C09E07262777147308C407D5DFC7E1A1364370FFA5B5D57845F148C2FD86C4CF7EA2173AC66BE202F3A1C33E68F1151328271B058974D26F7755D2114BC0D96E5B15025D0B0F66221F391AA4FDF8AE7C99C1FD4B54B42AE06EA094ACB81D66C37B628136525D31AE7CD4A63CB35DE81B7D33D8B721915DE58689F4D7D182619361CA5F76680F2B85D674DDF3875C0520B22A6C8EF96CB304D9CB2461F152AAEA09F8E976B9A46E98F7BFF7F29F09129107B2C3F427E71DB802B8EF9A8BCFB819BADDFDD8CC9AAD1EB51E78C5C31BD1176727C2538313AED63F01FF037E26AE225EEF011392B64BD2D123CFF695F
-20201001160243 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F92DE577B
-20201001170341 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F95291CDB
-20201001180757 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9796CF73
-20201001181955 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F97FF1F0F
-20201001182457 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9828801B
-20201001184200 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F98C75E07
-20201001210558 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9E43BE07
-20201001212737 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9F0A37B7
-20201001212838 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9F0B5457
-20201001213858 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9F68AB57
-20201001214136 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607F9F761B13
-20201001221702 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA0C0896B
-20201001224659 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA1D48B9F
-20201001231459 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA2DCDC9F
-20201002001557 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA5293EC7
-20201002011559 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA768B563
-20201002011835 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA774F6BB
-20201002014757 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA88C774F
-20201002015750 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FA8E1C2FF
-20201002024356 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FAA91DF73
-20201002024735 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FAAA9836F
-20201002024957 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FAABA24AB
-20201002031500 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FABA7157B
-20201002040434 2 6 100 4095 5 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FAD709107
-20201002045704 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FAF572503
-20201002061053 2 6 100 4095 2 E2C28B8617B3FEA1703BB9D3CB9518575094744626E5585F741511C44A4DBF419A7B4EAFBBD14DBBA20CD669577AC7CFEB5C93E951D6F2A5A194FC3C16282C2C0DF160DBB439B67D6D49AF4F7879F8D679923E29E4063872399198A86EEDA598C481B77427CE7EF3E56BE86A00460DE9834E8B40B205B3380BD392A83B927C4A49644C801A3568496CB2687B08091553DD8059D8FD8C21604067A3A0223E5188FEE3064BE5C678C7CA9EA9ADA446AF462A6412B11EBA7DAFC7886A2B9D1FC494ECFA41A5D4830FDAEFA3F1168753E9FF51DE1C3390A00C29AAC16630397A61B96B7D5A18FD5B57A18A5271A8C2FC25BBEF730CCB2DE2B590B9491161B4DE310EABD2D60C4DF8CA703D19A13DE58D562B7561EAA4E27B25BE5B61D71F97CFF4B0F3FC0DC89622B0EF252E1C9616F0447553CFF22FD7198483652D901BB9316F5B713BA475DD9BFFA8501B19B2BC79EDD41320AFB94B48F274F0C5822A02EF1D53A94EAE036FCCB8082AF1E58EEFA617D22FAF56FFB0A9501367737D1DD337BAC4E4E72DFDBF90F6A256E7ABD09FBAE7D54E092005838DE90324B1DE72C547FC4C755E3374F24600B7180E8AD18FFAB46ACD869BB04FCED13EE9697BEF19FFD3B072D90C67F2D5E250B4272487A84F4F4BAD3B2CE442B6C43C6BAD6769B557DBBA81C7FDBDF968C4E573BE3EC843616EA72654B9B3FAFD7B7BFFB7607FB20F6B6B
-20201002074332 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346552B8B83
-20201002074853 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346553476CB
-20201002091337 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3465645C7CB
-20201002142139 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3465A322A33
-20201002152133 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3465AEC6C1B
-20201002153735 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3465B14A583
-20201002232438 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34660F939B3
-20201003163937 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34662F17E83
-20201003174335 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34663EDC143
-20201003181552 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346646B5843
-20201003183800 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34664C050D7
-20201003204020 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34666AA62F7
-20201003205151 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34666D033EB
-20201004015235 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3466BE5911F
-20201004021543 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3466C4163AB
-20201004024523 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3466CBA09CB
-20201004035043 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3466DD63DE3
-20201004082640 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34672816CD7
-20201004090437 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346731E155B
-20201004093742 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34673A25113
-20201004131132 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3467738EC47
-20201004145042 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34678D108D3
-20201004163923 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3467A690F9F
-20201004230643 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346800C7B27
-20201004235413 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34680AEEF73
-20201005014706 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3468252BDFF
-20201005024434 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3468341BA4F
-20201005030558 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34683932AF3
-20201005055647 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346865E7FA3
-20201005061138 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34686945117
-20201005062031 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34686B2CB93
-20201005064657 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346871DBCEB
-20201005070706 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346876960BF
-20201005071036 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346876F40F7
-20201005091658 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346897E0C33
-20201005145338 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3468EF9163F
-20201005190527 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3469321BB4F
-20201005205529 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34694F47DC7
-20201005224734 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34696CF509F
-20201005230339 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC346970CE03B
-20201005230714 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3469713E643
-20201006014521 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34699AA76D7
-20201006015351 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC34699C5B68B
-20201006025138 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3469ABB46E3
-20201006031630 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3469B1F8423
-20201006034858 2 6 100 6143 5 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3469BA1ABAF
-20201006051131 2 6 100 6143 2 E5AFFE1F31466A1BE4039398F290C9CEE2D03FBDED18E2E034E872E714AB7B7FB8F2E9A798D0E2C53B49722FE0AA884A349ADD9FA7A8D4F1FD3E38C1D35697F054D96566127016CF7C0618E8B3C4F875D08E61359923B77E8012F43F2FE10E538F0BD34644F84F2F545DA683C0D148BAE62FC69A7D3EE24A6B5726BBF970A711091105B4084DAA923AE2C1DBF9D8C024E2F641BDDCFD8FB96B4B46C6D279B26E45CA8CF335448422A3F20C65BC05A12F62229F9FED22B1B912A0390DFF1360012528E3C287E09C1C89AA140F524804915FA0C84715F887615F5AE67D7D63BA48C75E192BD364C6E0C0F0377B788017879CB352FD50786C34DABA7F7AB6CF6455A90577DCDC5B06586A06E2A14E6447697FD09D0A9F1B92B831CD4EEAAD0105C6BE0168753106AEA5479A73054E76CFC2566F0284E3157444E05C61A5261A10B736B63EDA6BA54DE994F78877F13882FA53362C3819A4F3903E7BF7A5368EA4F5C20FDE4027AF86B6427FBB0FA76EDCA0D9568A1F489A14B3E2D32F8EAB69AB7968BAC3854FE2438697E75C80B02DDB654E3415B5DD7679B961DB83E6780B761FAB21952531180E55E950FA857B92AEC62AB206192AADD19E3C15B8535DBDFCA6E0EDF3C78B19DF447DF55544CF0DBFFCAD14F2DCF04CAE3BF8F114B0C9840A71F0E6164C4D794576F784AB8B02181E91C7889FFC5E07B7DA8A020768BE1A1C38FECA405AEEC5CAFF565580C7BD8F3B253F644AE36D4CAB288D722E75FE3589816633E51CB5B3006502BD334817F52F4A4EDA5000550E112C1FF20C8FEB1B3817B1962D0A6C4DDB0962481137105CC8578655CAB1F9AFF21E940334BFD6865818B1DF6FDC45366919AF6FB090A7A8F462432475DBDBF7283299841923BA6C8FD898FC3E1265200454277B982A2448E7A1FF988987FBB28EE99B6C23CD90616BCFAE9C6F37FE76ABE02471ABD2893E1463DE6B5D9CAF5834626DBAD677EDEBD9F9F12D49806EAC5F47EE3478E9FF807988A0A660949904DD56181347E9C51084746AB0091D1D1971C6D3114628AF5436671FB9081BE04E9203193DC3469CFA587B
-20201006053954 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001ECC7BF5B
-20201006064528 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001EDF81BAF
-20201006093842 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001F11E3503
-20201006121934 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001F3FF0177
-20201006153835 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001F786BCDF
-20201006170235 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001F901D577
-20201006182016 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001FA6168FB
-20201006191339 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001FB522CBB
-20201006195142 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001FBF4754B
-20201006211554 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001FD6BE76F
-20201006212227 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741001FD7FE12B
-20201007024718 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741002032B9907
-20201007045343 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100204BFAA1B
-20201007051121 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100205076413
-20201007100412 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100208CEB647
-20201007105152 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741002099A8B4B
-20201007184739 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100211D63A67
-20201007185842 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410021200590F
-20201007203729 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100213B2D4BB
-20201007222649 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741002158A0683
-20201007223626 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100215AD592B
-20201008020122 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100218F8249F
-20201008032338 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100219D09A5F
-20201008043839 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410021ABC6F43
-20201008075139 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410021BF1E2F3
-20201008170038 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410021F0268C3
-20201008213147 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410022246D527
-20201009054743 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741002281358D7
-20201009131236 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410022A23103B
-20201009144009 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410022B121897
-20201009171246 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410022CBB3DEB
-20201009192053 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D7410022E25ED7B
-20201010012452 2 6 100 6143 5 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D741002322EB987
-20201010035137 2 6 100 6143 2 F410017F9AF266B6BCEF66D7F7275A68046DB5CC083716B6FF98473EC618ADA763E5597D86382DFDBB196A85A0052A538B3F9EE034D42C5F3E853E5FADEBB28906808929594908915DA9E30C5D536E32DE63422019874E7CA4E78D40377CCEC9195334FFE9154A2EB1BF284125D96884A83C6E40E6C5E95EDF8F8B9D216EEB8A1E4C23AED0E369EC8F539E448BDB2FDAB8A6FB1D3028761215BAFDE14FAC330E5BE737CF21EC2B404E662CC938176B9397C834CA1542FDC38B5B3318A81EB5AC8953EB2F1A1C44FAEE2B3BD8F4873AE5EDEEB6873A5BB0C6839A40DB49B8E31A7FFF887506CBCE5F073C9EF4FC4800E56BB398EE503592B4D7B125D9810A144F0C311F086237324EAB4C44FC58488FB9743A1C7FD9159B229EDD210F6A867EBDE32540227EFC30079EE523D0C2B8F1741F23D146F2C5AB1C65E6BA70AE84CB95855A7D36141C5F1E99A1C50F80164E2F395972C0987200A9FA69A2186F4F40F3A59D7AEF13F21EC0F6991B25C8EA953C8686FA8D33FD9925478A6FB47881DAE26BAE33242B7B56640E218D0B72C46B99EBCCE6067927811488E503F65F5475DAE38F9501A4EA15C01E8535C1BC3F26129DF44DBE2296AB2D9A5C2F5964F1DA39C9632B7C47C2849431DEC1CC36A318A2272152D12955F1FF3D778C6AE74D788CC123045413F03E5018C7FD4E910CC74573D6D13B37770CFCC6185DA667F1F407559A03255F0A6A3502AC9C90CF2905D3FE21F2007D46B44B834D4AF582A3C16866FF3328C3AD95C3664A80676F78403DF76493C6444FD0C99C634C99B0DDB77C269EE24F52A2AC9D1D07B4BF9D026BD9C7EB3ED69EED20DF479A4746E2AE8C15950D641838A48C8C62363C28B7E92D1825C761BF1E23EEAEFA39FE7E37B7A4F924CB5EBB5E4F1C242E23E543DEDB682A5DAB7A135D06E26F540A27E3D810A6AF98BDBB4F9019A6AC0B5BAF69D5F1D9252B828D765DB1E27D84C523B8A03D786639B49C6C1F689BE8705E81E81DAC297F3E27F3A1AB8DE6415AE57A223426653BB252CE66D84E72111098F2EFAD3D1A5070E6401A95AEC2BC2D74100233C8CA3B
-20201010075246 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CD9AF6FAF
-20201011005752 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE072FD57
-20201011035835 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE1ABACE3
-20201011045403 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE206506F
-20201011060537 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE27A97FB
-20201011115031 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE4C9A3CB
-20201011133049 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE56A800B
-20201011140549 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE5A2017F
-20201011155546 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CE6582D4B
-20201012201951 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CEF20BA0B
-20201012210958 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CEF6C1183
-20201013021520 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CF1335633
-20201013102151 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CF2D63E73
-20201013194804 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842CF7E6D4C7
-20201015013344 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D06CDC71B
-20201015042038 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D083DF63B
-20201015181014 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D0F9A17D7
-20201016000141 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D12B0733B
-20201016010059 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D13320473
-20201016060609 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D15D95FFB
-20201016203844 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D1CB8A8DB
-20201017073647 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D20D7DD0B
-20201017091847 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D219EE067
-20201017175021 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D24FD1EC7
-20201017203342 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D263E40C3
-20201018020027 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D28F52363
-20201018123438 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D2E5C85F7
-20201019034610 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D33CD718F
-20201019040103 2 6 100 7679 2 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D33DD1DD3
-20201019172329 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D39DA76EF
-20201020150153 2 6 100 7679 5 E0E88C8B4130B3D284A584051788589172810660E9C906C4C2ECCDEA00D86E8937D6BBC63E3440099A392243F42DCBE6A4F61BBCDED0ACBAFD932A02F5D9FF92A497E674EE5FF2BC962FDE0112C4D1856CAD9DA2D5A405B00D39B485E2E548895A2A2131FF7233B5FAADA6FD0DC8F8974837FEB9BE4E249C59A7D4AD006A7D6B9113DCEBB39800DF767CD0349403FAE188B6275F2BB0DDF6DE071E0A9D449FBCCD9F4E228EE2D9B2CEA92B4D00A642A76015EA7D32B8E6EFE9D0D97147725C5F934F634C21F72FAF6F88333CE15F2C7C802E4AFB1EEE46B2F73B2826D910D073761C5BD591083B15B2AE1125B73A1ACBAAD9F0D960B07A7878205FC7D0836A3F2B19E7F12751428DC3172566569E66693B934052927487642B35E69352078C9E3D43CB67C4FB0FB4C94187301CBBDAD8BE2F79B7D935F94D14DD3B112BB8B547422DE7EF283F238C3788AE1598DBA603AF0056B4542BA3539E679719274002E3686E7E635867EB522522E6FAD9FD0E8706226EE54B5C5466B64CD75221AE3B5733C0B5C89915696D3298FC6D170FC5E47F8573A467BC1E874A602F8E03404509A267A19DCD37FDEC7CB493FAF0304E119C1A7F5B8422B869DEE218B104C548FC13B1A929D0CD8648A48F178667509D8C9BBE96AEB662963297E0113A73E8F2F8E7111FC0360D225D24683D6B61FD0021C71AB81287BD22484C595D07D61C086D3DD25D1C3ECAF9AF055FB787792714913C6581A3036170636A140FD591BACE3DD50B9699F5BA74982CEDE088597EC321E0E4557DF6BC22E7F222C2D8856C2A86C98F5D035EA9895405487FFF99131D579F8851AFB137A164549DB4032611CA1006EAE41B32FF6C1CA9D06E39B9F28DAEC34CBE306CB06BFAB4593E00BA1F94C8B39F63AE2527370133AD2F4D677D513B0A7197050742AC1B4DA61E74C233607B609FBB4A76A84DC20B946053984CD2FD84650CD643E5ABA45FD8745F8F75BEE5EDE53F41ED1B988867C3E7035575A36BCE0D850403D667084AE568A748DE9A5B4BCBDAE177E01DB757B0E3D49CBF43ECBC60AC03948B0310F62DF81E11F6354301EDA8AC224A8B7A29DC47F3555FE8EF4984EBDD6366B4F5EF70C45F8E5328FA95524115BF6FEC4744BF0CA3157312B06BBAE6556F593C47AB882BAC8D08DA7C344ADB8783750EA2430E6B4E2D91AF27DF76849E99E6A65A8559A90D8B5CD3824F797CA5B8AB558ED8445D7F712BD2D52333D8DBCAA4276FF707DE6EA058A24A9C5E9AB670DE852D4B27AE34E240249117E55300D841AA98259DE5BD8DFA314593105A5F021CF851531EBB2801B0DD9E461BBC950F85287E2664842D4103CA8F
-20201021183337 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E131FE7B74B3
-20201021202448 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E131FF319DAF
-20201021213639 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E131FFA89A0B
-20201022063057 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132034F99D3
-20201022115254 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132057AB2E7
-20201023091548 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1320E388F3B
-20201023155346 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13210E51F83
-20201023164559 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1321134EC0F
-20201023191235 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132122BB8FF
-20201024021831 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132151C7F0F
-20201024074540 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13217561F0F
-20201024125958 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132197854A3
-20201025030550 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1321EE79E7B
-20201025032329 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1321EFD314B
-20201025071942 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13220971ACF
-20201025154749 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132240A521B
-20201025212128 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13225E3DBA7
-20201026101451 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1322BA1534B
-20201026144219 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1322E1B43E7
-20201026175052 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1322FD9F0E3
-20201027065946 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1323743774F
-20201027075829 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13237C8D247
-20201027091325 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132386EF5D7
-20201027182322 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1323D730207
-20201027192352 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1323DFBCC5F
-20201028065039 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1324455CE7B
-20201028072438 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132449B6C73
-20201029012952 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1324DE7EFEB
-20201029151546 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1324FFF1267
-20201030020447 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132541F7A77
-20201030080540 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132565E434F
-20201030145946 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E132590127CB
-20201030213938 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1325B8DAC6F
-20201031043834 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E1325E3A7FFB
-20201031135651 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13261DCB697
-20201031191235 2 6 100 7679 5 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13263B62007
-20201101074141 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13267FD28B3
-20201101124549 2 6 100 7679 2 EC2D59C5C4EEEDEB50FE8CC4EDB2661541C6FB7B76D2C764FA9BDC7EEC91874D2F03EFF1E495C8E6E28F6D2774C47823A3F735D4C9E2235E6A09D12BE2D44EFE02749DDDD578EFEC411AB997793A43AA266B4C54F2E4A950A810194D3482361F063952E3B2ADC024CF691EE36FEDCA94ED5CBF45FC5B08F766164719991EBDFA75C96975E3D6528AA19154F11F066E56969F9132CA6B0AFA6FB7032853CCC760530E0380E68CA3C1AC755693E25F4A45E80EF3D5F711746A204A48E5C6E92DC0A928C96F5E77FA41BFF01D66CA8A86C21CD2651ED3548225F5EB5F1B2C0BB7CDE4A6E7CCDE9CAF0CB1B779385A4EE55B845D23B5958950154DFCC45640EC6E821C1E67B8E1408B574DEEA98D3258664F351B390C71476E47FECA8ED24F3C8860867A952B5586018C417B527F2E86EF3D0EFCDAFC8B7D21B62521905BF3FE47F6B90A86D19FA57562692189E20B66788DC67DB045B8C5D75032F932616E838B267E2686FD15DAC391B7CFF9BC8B7C64C32D1D95553BE7C39238C2D80E9C63796B474BD9F270ECD0F79137C20DA0E5349B8C20F224115CC24020BFFF7FC2238E83894DFCF0760BC07618A95B35E996840B1655F9826BE3E0E2D993C7E653555697B528B2E9FA1C177728278E56C447C6B783437830EDDB938B931D6DAF9DEA98574720346741A7635D8B7C1010666AD6E108C1AC05F6EF15DD04E6A3B16DE1798F2B61C491D52862B6517AD01353909BDB10D83837EFAC26838ED308474E75207FE738070D7CAA3FD8DBE8480507D8E6C21660DB2A7E933B600C2C8F0EDCED45D9D7E3A05E7A0DB7EE728882AA40D332E2BECD9D48B48C349D48712FCBA01D5804C8F290DB60AD0AF9E3B1E7DC968F11CF96729578A43FEB1317FFE321A8CC1ACF62C290B5DF621FFA4BCABB228ABEF5D573F7CA7123651C126B6DB1CD7A54F7E9C79041B763AC8831C1C0DB2EFA4BCEC3E2A4E21C7BA3D8DA09C6444B4B00254C70D650B59AF22764C71BCBA012B45AC429D8463E2B5708004BF05DB42990C7368B3DE5D9109E8C1301D342FFDCAC9713C78F23AB73922A0C1FF41B8D22F64EB07B60580D34DAB63A43DFA90CFD6AB493917BBB6AD0B9075AB2C34E02CF7375C5499FDCCD7DEE23A201F62AA8474D7F38221CD202507663D0033087FA156E5DE7BE1E8CE9BFAA8955F254B97853C2FB45098A14EB0A51DA2BAA41C0F6A172AAF39839C4B0965AA0FBB92E755590F72B6EE24A0E006170AC9ED4CCC1D9DA4711FB1AE2019F4AFE4FD4D942E3FE04AA995E0F153518C5772CDAEB0545D4ED0C539CAA693968342D2BF4718CA134B2339FC404C0A6EF98E4D1F41810E13269E893A3
-20201102211136 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3517F41C1B
-20201104100232 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3524190003
-20201105060459 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE352B3534C3
-20201105221348 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3530AF83DF
-20201106144432 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3532F388EB
-20201106185057 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE353439AA67
-20201106205758 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3534DBDE9F
-20201108084639 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE353FE7CAAB
-20201108111802 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3540A8BEE3
-20201110061156 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE354999F6FF
-20201110093838 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE354AA4B823
-20201110151143 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE354C50D693
-20201111171657 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3552F4F60B
-20201112131542 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3557968743
-20201112142355 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3557E37967
-20201114080059 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE356084D88B
-20201114083959 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3560ACB6BB
-20201115001553 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3564EE2F57
-20201120223033 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE356F28AE3F
-20201121022848 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3570473673
-20201122013144 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE357695B923
-20201122062444 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE3577F6EA23
-20201122185950 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE357B47DF37
-20201123124747 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE357FD02753
-20201123192135 2 6 100 8191 5 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE35819E1A87
-20201124212459 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE35891DC76B
-20201126010742 2 6 100 8191 2 F1B12D9320A14F9678850067F9130D8767B7A6E198931A99000937CFE7EEDE8605377479AB32BB47AD82183273900757DBEE9BBDC91459257355DBD3E523235F97FEA3162BAA5F020B81E12CFC85D2DE52517F7CF6448C64597E60675DBFE632696B1C21818EC5E35EF2002FEEC0E061E0C2782549B1BBFD6409CDF616F7D3283FEE82D16E1D44A6FB7802DAB848AFA33E308EB4B517CD239C86205B652B89328746AEB81211CFCFE70B64876D2F6BBA9D74C45D5CE3AA96EC016FCFC13B99C5C55DD4ABB60B35431C90F8BDB281BE1EBBE0054423FB91DB94DEC350598976AF244D86C07E97A171469DE89714F5944C21E92489374CA4C45BDD6A0278750B0FCB29177FF27A382A946CBA9931A98A2676469011B25D0ECBACA7CE710CFCA47C2ED2E9D7DE22E49F56ED7D7D1218C54266720741A687DF37F18ED39A56A067E13D9A8886A67ADEFED30D05F6D0EEA6138CBBF9DD738B406957E08FBB7D6BEC2047DBB314484CA3A4838CA57803F89D90A5130A9CA79364485F58C63AC85D4154A287DEB324D240D253036A17A07AB818535BD7DE1E57DB2646714789447C4A6EBE1538D569DF267BA4CB1DFD3EDFF71D7AF4BFDEADE2912EF0790ACABDFE5B87C7EADED47A0C06B889B47FA85A9F9CC2038C048F930A30772A09991C910DECCAB3F7AF1814F2DF3FF2AE66686E8A010DD4ABF3825491DB8EAEA4D7A957D1F4BF3A060AD3D20F821D76C9F60410E32AA67D1798ECF3F514ED3DCF62348F7739A6ECEC53010A3B656D45A808237ACECE87377C8EA21D89E350D2CB4E31A017981C70718BF681D0A4E216ACF7D950615B4E4B48BA1AD10C436BD466DEB6F61222003FB6C42017A98E780C272DAE2AEE4C3291B0C112918F287BADAB2A22A7DCC78B10D55AB6BF4FD4651F0A8BD9F2CCA24D07BA33B09928C77ADE6F73D1C36247C8D5CC568A337721F9073515B65DB7E7555BADE6F201545EB766A97C3E0780FA67B042DBFBF208F409ABEEAFC6D4C4A9D89693A4E6C041C98A3C200576F4BF22D7C03376FBEB972ECBE96B156212E4A91925515D0C0707C61826C1386D8B7C6F210EF51D566BD847554C47B364C1BC97EC1F316AB9EFCA7B3D2AD326C3E00D4A2A01F1F559119C9702DDA5D1651A83E4107EDDA43FCD824B47591CA2DE11F356C9FB90DFEAF2B625FE65F070171CC558DAB5A1305286274BDCFE6A80155A80025D0CFEE151CD96197E35D2763B59DC20FA90F99597460E60D1069977F9CDCD3F942BAC1178AF9002425CDE4F83CFEFD8288F0154FA615D22D2573FE7C9E66FBD012C9D8FCD1447C095FA3F14A23A6E3A264EC35F97A868828A1ED87DC0434855AD9442DB6FD833CD92CE182691DE15762A973CE94E6E50033B0FC41DE50699848DF71B67A25B42AB8F53CBC348E797FE141BA21ED856ACF2BEE1A2DE358F8CD93B
-20201126112257 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52C39B7333
-20201126140745 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52C45E6703
-20201126214355 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52C6780D9B
-20201130015948 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52D6D7FA8F
-20201130065350 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52D840F33B
-20201130145645 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52DABEE3A3
-20201201235732 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52E5502703
-20201202082252 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52E817B86B
-20201202104859 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52E8D8B1BF
-20201202160137 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52EA838D97
-20201203002758 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52ED4610C7
-20201203025251 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52EE01CD03
-20201203041751 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52EE6A8983
-20201203111152 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52F0A4F47B
-20201203145545 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52F1CBE427
-20201205170601 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F52FEF5ADC3
-20201206111756 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5304585883
-20201206134442 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5304DFD00B
-20201206210155 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5307041CE3
-20201211131928 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F530E903C57
-20201211155555 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F530FB34647
-20201212050222 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F53159567A7
-20201212065249 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5316666907
-20201212112957 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5318743CAB
-20201213055402 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F53209F5C8B
-20201213092727 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F53222C28F7
-20201213111750 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5322F62BB7
-20201214024800 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5329702E43
-20201214140453 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F532D4542E3
-20201214145631 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F532D9AB18B
-20201215023044 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5332A0951B
-20201219175046 2 6 100 8191 5 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F5338F2214F
-20201220100836 2 6 100 8191 2 D9DDC7C88FDE577A58F31AEE0835F0FB225841D9D09B3C82716C06C36FBC0F0402761E9F90D2CC5488C1BB87DCBBD138B1CBC24B1A052C8A2F8BE13EDE229AC234A5FDBDB26E73547264DA65F1B4CF41CDCE8D4EBF88CEEC4EFD23CEC8955B06DA81AA15889746DCFB193CD3BECE98DCFC1E429C87F7B72D8AB5C18EC3DDC80020C5246593B9E9BF898EA44485CA1D355188C14042AC06A7FDBCFF51F554AB06B3F8169429C660109DD4B36F6717F9CE25838244000C417BB9802011D9416ADB8A00F0F71A50E50A58CA97F08A6C1EABEEC8B3BD0980E1AD6A7ED70A71E5B5CC7EC87B4EA621CF8EE85FA9B5EB936F890AC6BFAB56CBA7B6E5F5BC758398F4FF239A4FBB300FCCF380CDEDEC74FE498188D9BAC3CA512813F9E2266D4B60C8A5F151ED4BD9753D5FA904C663893F0A859BF467EAC5C3B4F0006F5012EA5A0C65F5110972942A91DE30C1B0B320C54A0A261DB041650A6218A722FA409A839EE1C9F2C96A579B19FBBE420F96E803ACF5A6ADFAEB706AE8262187A436B7ECA3023564A62D5172A0C332EE9F2E46D935C2815F8405F988C5C48017048F9A1C24002D5D72A18C3652D5FE8DA864401A25FAA6EF257C86E501641C3F34FC5614EF5D0F69485E425FC954B83071687E6B752207014BDE88ED10061556D1B6694519AA04BDC6A38D1D57A0A3051DE893FB6BDF70AD8ED60075E7E2C616BF2CB96BE77EA8901464B97C3CF8CE183406FB15ACC9AE372BB6496BFAD79AE677CA62428A8735A8A8730EEA89838F3338A7F596A0BEA48DE878CB867D2BDAF2F40BB67FDCBEF2FEB56907E6567BF2C45B574C8A37049643B78CA2B31AB90AC13EBBCACA3630DE646260C6E37D3D64600E9FB73139ACE1C2FD22FF05B8E4F1E603E98C1BB37BDABDE4704B94121F50F9E1848829E342150406D8545FF66162938162866926937DF23C5F1AC81F0517578C0D9B8CC1D28CA8FDA0E920FA222C67D313CE63F95FF6304E8ECDD595CB796B3771554F90C16FDD7D76F2B231D2FE711D3C088E36E52300B19A82C4B60BECC37DBA9CCD2150F46FF49142DE3F422B1CE5D7AC3B33300C7EE67C19299DB467E37EC6C5F3C6CD33BD98646C35B645528F6DC3FD356E49596989E444C6B8462A9F69DF7F83C26240D51AA7D1707DBFD92E1729794259D966D69F6934427F7C3A86706ECAE13ED69F4B104DD5BA70E36BE82EF52D6E8EE420C11E7C6ABEF4CBF61E61AD071243D6A8B13C4B107150C8D2DA91544D71F3F6B3108D25FD0A3116F65E92E45684BFD7EE7D939CEF0A02675B5B44DED75E336CF2ECC39C72458930E48DDAC2AF194C79EA0CE4EB5181549EFB8B098F9768119B42932945C782512FDE8BD6C39E3BF76120BB926CACE17DFADFE9FECAAEE6ED339C87C05CA8EC214FE9000A6D72A2602DE6110BAF0AB5E30AADB07F53402DD333
+20210510040256 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B6F7F372F
+20210510040337 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B6FC9DF33
+20210510040415 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B700C2C43
+20210510040454 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7052E7EF
+20210510040524 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B708A4C17
+20210510040600 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B70CAD2BF
+20210510040723 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B716449C3
+20210510040743 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B718416DF
+20210510040805 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B71A5291B
+20210510040833 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B71D2EB43
+20210510040926 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7233C20B
+20210510040945 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7250533F
+20210510040952 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7255E727
+20210510041013 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7276D7F7
+20210510041024 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7285067B
+20210510041122 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B72EF5963
+20210510041140 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B730BC05B
+20210510041146 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B730F5103
+20210510041159 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7321C19B
+20210510041220 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7341D4E3
+20210510041337 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B73D507FB
+20210510041353 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B73EBBAB3
+20210510041423 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B741F0C37
+20210510041442 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B743B9717
+20210510041457 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B74537023
+20210510041516 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B74718223
+20210510041554 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B74B62DE7
+20210510041603 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B74BF7D13
+20210510041611 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B74C76FC7
+20210510041709 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7534B763
+20210510041738 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B75649FDB
+20210510041815 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B75A664CB
+20210510041822 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B75AAA067
+20210510041829 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B75B05003
+20210510041939 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B76327F4B
+20210510042001 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B7657FF9F
+20210510042024 2 6 100 2047 5 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B767BF81F
+20210510042108 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B76CC8253
+20210510042208 2 6 100 2047 2 C7CE688A891B095F8844E2381248DFAE8FA10F704F18EC478287964C92B6931F4DCEF6250CEE631DC7217BB9BCEDF38B29FBFE1E62C4461F3B4FB0DD872C3D7B1AF59DF757564EFFEADFBCD4529760A9B8F277E31BAF8F986BB5C5298ECF5E0760977111396ACB3782D2F6D91B6059160F28A667B6BD61ABDCFBDA374930FFF31A2620DF9AA6BFE8C2C27E78A8423FDD0DBDAF6D3E52EC80E345D5D64D5F6B20BD8D12E13D415788B69868EBA41360E1C88A25BE04B7E0182284276EC4E3BF2CE45C373C2E43C6B575C2A579209FEAEA885E20C11471DD884942266B9E3847B8839FC2A79F8F1594ADD8A10ABAC9C7881B2CF99D762B5E2E7A0BC52B773A4483
+20210510042307 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DB9689F57
+20210510042318 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DB9759EDB
+20210510042544 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBA901DE3
+20210510042605 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBAAFDBFF
+20210510042627 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBAD1CA43
+20210510042651 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBAF89D2B
+20210510042714 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBB1B9777
+20210510042739 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBB467097
+20210510042750 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBB55E393
+20210510042822 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBB90099F
+20210510042827 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBB9285DB
+20210510042900 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBBCC8583
+20210510042912 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBBDABFB3
+20210510042934 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBBFE3253
+20210510043037 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBC711233
+20210510043054 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBC8A48CB
+20210510043100 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBC8DDC1F
+20210510043115 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBCA597AF
+20210510043209 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD076783
+20210510043220 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD14801B
+20210510043228 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD1D92AB
+20210510043239 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD28D563
+20210510043253 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD3BDADB
+20210510043313 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD5D71B3
+20210510043347 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBD9B7913
+20210510043419 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBDD144B7
+20210510043448 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBE03F6C3
+20210510043524 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBE40DB47
+20210510043553 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBE70EA8F
+20210510043611 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBE8DE163
+20210510043637 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBEB894F7
+20210510043702 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBEE0932B
+20210510043916 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DBFDE81CB
+20210510043947 2 6 100 2047 5 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DC015B74F
+20210510044005 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DC02F7D33
+20210510044107 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DC0A0FCAB
+20210510044154 2 6 100 2047 2 C9E8F5A2E2CD5EF3BA0F9EEC69453B2B69DC4E7B7A250B773348A24D152ED220DDE0084C99D5F24904BA1D98907FBEB17DC1BA0E347D7B0A370A57CE6AC47D0339B639F4BCD0CF1FF1B10EE95513CF3CF9A912CFBACFBB779B4D696778940E7A0D0B43CADC0908358EA85CF8B1E8E5AAEA96BACFFDA93C9DAF9B717717302BEB039E4A17BBC93CE228E9AA9D35D560B3A6F1C60A7FD610D8449C6C0828464FB8DBD3F328371449BCF34FD693927F63F58047FD190B30EF16B45157C7ABCA21347C12BC652B2A4C5024963400DB5131B67D371691C6C27081C433CA7C158CB99F6E4C89E744EA42018DB79D6FF78BB316B700370B813B81112456D75DC0F49F4B
+20210510053053 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86B3A3D47
+20210510053442 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86BCD69AB
+20210510053741 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86C3A162B
+20210510054118 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86CC74307
+20210510054156 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86CD6DE3B
+20210510054349 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86D19E8FF
+20210510054413 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86D2241CB
+20210510054752 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86DB1B4E3
+20210510054845 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86DCDC3BB
+20210510054924 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86DDEE687
+20210510055001 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86DF020FF
+20210510055111 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86E180E17
+20210510055701 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86EF8B7BF
+20210510055743 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86F0C6C87
+20210510055803 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86F1109C7
+20210510060103 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86F7F624B
+20210510060223 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C86FAC18FB
+20210510060508 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C870107F57
+20210510060612 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C8703506C3
+20210510060937 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C870B83A93
+20210510061232 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87126000B
+20210510061957 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C872490677
+20210510062551 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C8732DEDB3
+20210510062658 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C873531EB7
+20210510062742 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87366FEE7
+20210510063155 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C874081463
+20210510063849 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C875123D83
+20210510064051 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C8755C16E7
+20210510064226 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87592B08F
+20210510064313 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C875AB115B
+20210510064513 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C875F0FD83
+20210510064532 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C875F527EB
+20210510065000 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C876A1697B
+20210510065226 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C876F8D863
+20210510065300 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87707C4B3
+20210510065704 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C877A257DF
+20210510070047 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87830DAD3
+20210510070120 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C8783E739F
+20210510070516 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C878D7A903
+20210510070822 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C8794BBDA7
+20210510070848 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C8795478CB
+20210510071106 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C879A76417
+20210510071125 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C879ABD2EF
+20210510071236 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C879D1F7B3
+20210510071324 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C879EA4373
+20210510071838 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87AB188F3
+20210510072228 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87B417867
+20210510072939 2 6 100 3071 5 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87C51C617
+20210510073226 2 6 100 3071 2 EAC054F0A6595901FCD8F7F8FCC4BA738ED1B3A5EBCBA6F7616CAF48A071E1407283441719C3FE1C10D43799F3BF87492ABDBF0F3B0662504AE552C6B670DB5F75553BAEE273BEFA160C918C0C1039AAB3BC058505CA05328B198C797296B70B2F5F73BAB292EDE06955F59541F73EF820DC7F4BFD4DE54C99F16A798266472540D8819F43ED29390271A2A57785AAD3B8BC142D7F3C5A179D6E4DE94C37DC0D278807119989836DA3A8DB918A2786D41753F774F5760095306B15AF307D86E6A9681950F2510C3FB3FC39820F216EA08689D085A89434CF3D98EB5ABFFCEDCBD0E6AAFE9C9BE072814730678B9082B5B62CA113D9243C83199C940D18D748D64B929A94F68268C8D5B976A32041580B2BFFD5D5FE21A338F65FB1FC494416BA804A920AEF90353F4924D30183908D2C56ECBDC381446CB0F8F4162B3F9C050FF4B226EBFC86D7DEFFB20445255A836762B18183E9F932B8775C21CBECB9C31B64A855FF4D1B5B77E6EDBC31776FD0AD5C23E53603074C118F6936C87CB8ECB3
+20210510073413 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5861ADE7
+20210510074044 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5964B90B
+20210510074255 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC59B421B3
+20210510074440 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC59F2A617
+20210510074524 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5A07E733
+20210510074635 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5A2EFED3
+20210510074720 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5A47453B
+20210510074829 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5A6E33CB
+20210510075104 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5ACF8A13
+20210510075335 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5B2E9B03
+20210510075857 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5C027EC3
+20210510080304 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5CA07843
+20210510080325 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5CA5F02F
+20210510080534 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5CF54017
+20210510080630 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5D12D9E7
+20210510080911 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5D77D397
+20210510081204 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5DE0D19F
+20210510081331 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5E111063
+20210510081720 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5EA68ABF
+20210510081858 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC5EE2D9A3
+20210510082830 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC60582ADB
+20210510083201 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC60E0CE7B
+20210510083743 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC61BA35A3
+20210510083915 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC61EDA4A3
+20210510083946 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC61FA1EB3
+20210510084019 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6208EA33
+20210510084631 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC62F8C84F
+20210510084729 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6317E0DB
+20210510085604 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6466EE77
+20210510085645 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC64795C1B
+20210510085906 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC64D0DEFB
+20210510090053 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC650DE7D3
+20210510090401 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6582AF03
+20210510090527 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC65B4635F
+20210510090743 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6608EE2B
+20210510090837 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC66237853
+20210510090953 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC66503AC7
+20210510091517 2 6 100 3071 2 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC671C2453
+20210510091543 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6724D557
+20210510091752 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC67729FB7
+20210510091814 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC67785967
+20210510092259 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC683152FF
+20210510092315 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC68333ECF
+20210510092433 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC685EC3F7
+20210510092808 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC68E5574F
+20210510093246 2 6 100 3071 5 E2F748529B9B801FBAF3AE42C75013A5C4C959A756D496B01A6E1145DB55AA31F408A8DEA8B8573506C76D8AF81C9A3F4D5D4B838D34C30C54D3886448581ABD74D6D95F8B0D4DA21A8E3C6D127657A93354E028D65AC9CFFBCFBD0DEC0EA4F7CBB1018C9618612FB2A5837631AFC614AD2D5FC45EC872EC8816CCB96841A4DC14307159F83F694C90472DA3BB20E9EAC91D1F21770CDC6A037855520D80102005651A54BF12D9BAB8ADB4149ED37B5BD851825B596887DC4E47E55FC0D7B3AE7FFA43F95CCE340942FBEC7E593A16AEAC11CA1136902A2917BC096E8B16CA28D0AC2A58B46DA69B9908CFDB5DC16B391B4DD5C1A8346DB2CDB22447E44FF1567D85B90CD8016029C33D9DE2C992AC73A8155693DDE84FCBB760D88FEA847AEB13EF8058E11E81A7ED0666794272E362F60EF252BD5E3890D85EB6297F99BFA82A7FA94F33EC9804D02E50C56C7856C7B923987825C79A22BF9188AC61E936AC48A40B73EBE61C1C8724315AEA4D1E5AB2889C2251F9A771493955AC6995B96F
+20210510104920 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EC48D7683
+20210510110208 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EC56E987F
+20210510111200 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EC618B3B3
+20210510112429 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EC6F9E69B
+20210510112617 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EC7137A93
+20210510120850 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECA1DD60F
+20210510121344 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECA6D1937
+20210510123540 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECBF2F10B
+20210510124120 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECC51479B
+20210510125020 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECCED89CB
+20210510125127 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECCF8FDBB
+20210510130049 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECD9C8A1B
+20210510131341 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ECE7F859F
+20210510140804 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED25225A7
+20210510140916 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED25E3747
+20210510141423 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED2B414E3
+20210510144848 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED519CD53
+20210510150859 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED68073DB
+20210510151356 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED6D0558B
+20210510151823 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED71A5973
+20210510153129 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED7F992C3
+20210510155953 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27ED9EDF273
+20210510160542 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDA4F6463
+20210510161006 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDA97EB6F
+20210510161446 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDAE44433
+20210510164007 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDCA3DB53
+20210510164752 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDD296153
+20210510170111 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDE0FAFB7
+20210510171053 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDEB6FD4F
+20210510172049 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EDF621333
+20210510174942 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EE15B9E07
+20210510175641 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EE1CEFE0F
+20210510180112 2 6 100 4095 2 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EE2138F1B
+20210510180610 2 6 100 4095 5 E3508586273EAF882533D9104A0F6FF5818343120ECFA2DF8002402FEA175CD1C418C3CBCE3B8C3B8897FA169C9C9521399321A353ED16DE7EDFD5F28F3F8C1B5F52F368C463B3A1AB5CF5816666973A70FA756A6A2F70313D2830D490541C09F40E7ABDCA7EE76A625F19B87D4336196CBEBEB5491E4365D7DFDF56384A3DFE662628171820829B5628694A4B4915954CF89391F3C06D9A4DF618CD54406A1198F4DF74EA2DDF55244076A5BD9295DD516B9346A98EC225F16968CA804B94F2CF67B0A4CC23A679766476CD8033CA3532230AB83092D78AB138653BAC3FE96C2E6A91387E2D7263B72CC0FEB5443233BD5C137351A4EEC65954845938DE8137C0E3F70D9932E18E4C771BD0ED3D11CDAF4EA9745D3C2C8C32E2F4C7302425A96720F939C9A32BA9475EC974D57326605F5B0402FD6431096AC965246DDEA5AD8B2B0C24A86FDA4CC9397DCE101DF441AEC0FB887CB17F61A25D2C5945BA2DC45766E939CE1210C5D0E9A8BD229EA308E995B6A99164BAC0F3985010C4AC7C36F0BBB3118A17FB1963E865AF49FD77FB4E1BA3D9551C3FAEA77CCD7A7D588294DE9EA3B8DB6A8CC98DA8C567CDAB709A287F5D53453267841E6113B3A06DF01038B6A83FA6AA4A645BB43D276B71C6EA65A98A4E9C839D38CFEDCE176C5480E8BD8AEEAB20FC1C89B889672D980C5C121545CFD4BECECE53E9CEE27EE2635EA7
+20210510182139 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D4CADABDF
+20210510182246 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D4CBA2FDF
+20210510183239 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D4D6A3817
+20210510185138 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D4EBD743B
+20210510190703 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D4FD39563
+20210510191012 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D50038993
+20210510193403 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D51B59F6F
+20210510193504 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D51BFEACB
+20210510193712 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D51DE6847
+20210510200016 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D538092BB
+20210510202408 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D552B8EA3
+20210510204717 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D56C3E03F
+20210510210552 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D580CD59F
+20210510211223 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D587C16C7
+20210510211607 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D58B825A3
+20210510212131 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D5914A563
+20210510212930 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D599D3C2B
+20210510214640 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D5AD02FBB
+20210510221404 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D5CBD7BCB
+20210510224430 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D5EDD3847
+20210510224732 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D5F0BA233
+20210510230510 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D604292FB
+20210510231041 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D609E882B
+20210510232117 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D61508923
+20210510232533 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D619565D7
+20210510232612 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D6198BB57
+20210510235513 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D63970EA3
+20210511001630 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D650D625F
+20210511002532 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D65AD01CB
+20210511002655 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D65BD0E3F
+20210511004533 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D6707A94F
+20210511005704 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D67CFB01F
+20210511011635 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D6922CFE7
+20210511012416 2 6 100 4095 5 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D69A4C92F
+20210511012915 2 6 100 4095 2 C0CF9D192A5E67E12DB4EBB35F3DD5A93041B217DDC24746828F760867A58487DCC1318CEB5929A76AB776A38F78415D03207716AFB66462B964A8B64E26D54306DFC888AF824BD68D46FD93EB19835F5CA576CDF7D57281B5A2D443CA10B94C9D091680FAE8AFDC9E862E7B8AA8EB9C5964A7A6DCF33D07735325CDC0AC2E0CB1AD72398FD23D9F375C766E55060C7E9556F16933363BD73288755FCFBE99FBEF5FEF5CDBE525AC7C1AB26CE56316568FA790082931F4015CE0BB432797A80617BEF82B448D8CF568A2EEF1CC594A4CAB3FAE7CB97866833D9BD646BB4A6850AAC1D6C8011C486C9FAB4AF5FB7C1591734B3D9FB3F46E6A07F61D1AA78B19B4C96AAE67ABCDC1218D205277054711CD88C39D93913AAFED002C96950852971C044779E8C44452321A72B50802658F1E62759B5155AE21FDC3F0CBFA1BF06E35147ED4E328E1D6FFF1BC67CE4EC4D7872797759891D74E53BD496BD7E54C6F28E8E2D60E0CC5381E136465C551BA03B91D112F50F4F84208C2AE35C7CE712F230539E5CE5211D87C56074EC6E53A0A1FFB811B9580F7045D14B89C0E6CEC5B12834317944BB2D743926BD2EFF4D8CD19E7A85C58E0CD4BAF7D7915F4A8EC46CB20FF3B82ED5C8D30F5A4CAA07E0C8CCEE173FC59C3444CEB672220B98F8065A9DD5244BAAA6D44347100D2D4FABC8FB7E6746848E0E9CFD2C6AD701D69F74C0B
+20210511102814 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056C4ADADD7
+20210511104622 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056C75C31DB
+20210511105027 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056C7F679E3
+20210511110103 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056C98961DF
+20210511113326 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056CE694ADB
+20210511113553 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056CEBCB733
+20210511120155 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056D29CD07B
+20210511121150 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056D40F2B2B
+20210511125715 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056DADDC183
+20210511133230 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056E00C0173
+20210511134118 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056E14EC08B
+20210511135454 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056E34379F3
+20210511140822 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056E531D6AF
+20210511142133 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056E71D2267
+20210511144054 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056E9EE160F
+20210511144259 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056EA31E3A3
+20210511144958 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056EB339A53
+20210511145731 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056EC45903B
+20210511150937 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056EDFF14D7
+20210511151422 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056EEA51A4F
+20210511154856 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056F391E0D3
+20210511160239 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056F5802B47
+20210511161337 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056F704FF83
+20210511163831 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056FA993EF7
+20210511164110 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056FAF3096F
+20210511164534 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056FB84285B
+20210511170505 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7056FE524F93
+20210511172712 2 6 100 6143 2 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A70570166A98B
+20210511174145 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7057036F804F
+20210511180342 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A7057068862E7
+20210511183715 2 6 100 6143 5 EE2D1C3A0CC149C6675914AEFB8A3B27C939CB721B7D7D2AECDF4464406D6B59DF4C01ABE292F37396B097215BCF049F98D5B7CBA342EF5DFE31668084E83E783AC5C21CB152C08EE0BBAB4CC8F261AFD378F97D5044BC6BD3E555ADCF508ABC26E4CAF8D0B84EDDA7E78B56B89A497BC4D5A1D5C14D1A535777D4BBA17540B64F3E2695C5B134275A2F94D1388C0F666573454ED38B3E0CAA04BF5551662A429B54153795935493FE7E3C8130EE4568A278C2FF362D070FA4D10462B347E382EE340DF1EBBDBFEFAD66AB4B2296E982EC7F0947F6BF7845E8C40F9A7B4934727781E2D129C2E055227C3CD063BBFF14DE2958D6B4D3D3EF54ECA8757C3D102B98B6C97BE8087FE6B8ABC4B7D61AB491842E37A53890081C73359B4B878570BE3B30E557B819DBEC06F1291965419B7EAD74F1ADF900E771781024B44E5669DDA88FD9C62496764EA5CE3E791EB4CCDA3E4B665355C9EC92EF18046331332886B79DC3710C36F02D2EB260246AE83459514EF00FC5857CAC8562D4DD522FA4575ECD1BACA7313A1C91F72863DFC8AF0732C9025862525CF33E5EC545D356C620C70F16D2BDD22A9BD9A25469D21C70D437FA08ED36550A2EEEF3545EFDC5A0C0FCC1070A99B2D5EFC1A32D764AEE21DC38FD6086813C01F09298B41B3EFC7F34DB201EC538901C8E05A3B3295519042CF631226BBAF9A9F8A3C4BD6B00E24CD048A14ACA7C8B9EC1C1931853909EFF8B1FBCA46C9CB9E42BE7253E7F25A97C6D50E970EF8CEFE1C70C8A3254F5402F3DCC62A5A34B477A8B452352B6CB2BFC1F372130DBC4960DCD20088DB50B39998ECCB0CD2F797F7267529DB9A63B7BE8691F9B6155EFFAEEBDB8EE7FCA2EDD9DCC92B5DDCF536E87DA064010A15CA505885DEC6499E4B1408580A3F854E1C50BEA96D4B47D9022B004F426F1F69C7580573F60BA80045BA799FB486C1AB3E363D75DA7C2BE5E256001E728B4850BA99184068CFF7A87B25C95F43E17B35BEBFA4711A1307EA545B1BA97D13F752EB7CD6F42BA4776098D71C02E4961480D18AE898D2EBCD61E897041CB1A70570B38F77F
+20210511193129 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FD7E2FF33
+20210511195502 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FDB6A44F3
+20210511195827 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FDBE676FF
+20210511204743 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FE346C16B
+20210511205051 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FE3B37BA7
+20210511210241 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FE56FF4F7
+20210511211006 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FE685FDFB
+20210511211804 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FE7B482E3
+20210511213559 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FEA624573
+20210511214955 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FEC6A1563
+20210511220820 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FEF28F693
+20210511221550 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF0410367
+20210511222301 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF14E2BAF
+20210511223017 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF25C4F8B
+20210511223717 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF358C9EF
+20210511224022 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF3C5C0C7
+20210511224934 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF5128EE7
+20210511225354 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF5AC9E43
+20210511225504 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF5CE8FCF
+20210511230424 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FF71E9D43
+20210511233003 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FFAD91657
+20210511233554 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FFBAD309B
+20210511233732 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FFBE1CC5B
+20210511235930 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E297FFF12F2D3
+20210512001430 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E298001373093
+20210512002303 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E2980026463FB
+20210512004700 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E298005D412AF
+20210512011719 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E29800A1EF6AF
+20210512012230 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E29800AD88A43
+20210512012724 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E29800B84DE0F
+20210512013230 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E29800C3AA1EF
+20210512013650 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E29800CCDD483
+20210512015950 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E2980100A0E43
+20210512020847 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E2980114782B7
+20210512022553 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E298013B2C213
+20210512022729 2 6 100 6143 5 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E298013E47BAF
+20210512025425 2 6 100 6143 2 F58340194C3306C216EBA34FD995EAF9AF7B4471283E848F4B029734B8BCEBCD8E52D560FFF982CE43FF8B4743C8048BC6D4338C8B93AC9F00C5A9564A840146DE9539AD56551E9187BFC36282EE41C27355F3620B33561B868295222A693A11F5817C1A4306DAD1071FB2D38DE9462DBC4778784F4BD5B27F2FD173C360611E6A21FB82A494BEC22F4ABF1F5AA692B784E15FB737684C0ECC5B8D55FD023C52DE35464CA1AAA8F3F949F1BE6C194CB7C0DD0E5BA261A216CFC40D7DEA492929D777F6B8636A4C05D58652836E70E5956173BFD976CF08406210630C4489534639053F069285A6E55B851423BB3714647681FB05D545F941E69FE5756C500328991387212418E4C54146FBEF4A6D2481DE817DCAE3E1EEDE8E617357630B734FEFD566BB0338D8EE564F35518E59AF81F67AD190E45906A0832515515D6CCD73DE76FE730694CEED007F333DB1F6F9A026655F950751EF85AC1E571A3DA7203D1E53D4D93F521AE1AD75360DE1AD187EFE3A396F40AFED9C7797681A857003A7EA20C2203D2E40419253C6706FD30EAABC972CAA9C5C97B48DC734472D310E0DEE896862407E24A243EEE1E02309A6C7E1E53CD953B93FF54283ACE51B298BB1C92FF0A172948EF0CF8D239A5849D8E3D7AAC4486FB746501F3318145B042E62CA6EB70544E31581687DD67D8AD73FFB39DD71DA00E7F3738890D65610CAA049A5CD99AD928F98D3CFBD9A706E8908A2F51712B03562CB057F99431E0746B98DEE0D367DFC93CA546E26A44A72F47122FABCA47900D76A42B29C9160C46B40F811A1B8BA8651C7CEB1200DED520709D9CC0B21A20C9519084DA66A91158CE7A82674374580134EEA025BB0185807DF2A5B1EDEFEFA8D247A84B787E2597F8BF72ED6F570F32AACA50D10E94DB679FF68CE35AF77537EA4CB7928F7EDD5CABB65E32C0D88FACCFC51C2146BF3FDA433B76F09234552FC069312C38677AD95D501AF829B0A1484FEF9A2F804F0ECD4990079B66568956C34212CE0E483CF7C78D1E638893082826C15E7CA78004D04AC95EE36ED5200EBB74FA39E2980179E503B
+20210510215238 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39D65FCF63
+20210510222355 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39D8F2D76B
+20210510231559 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39DD6E0D13
+20210510234158 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39DFA06E23
+20210511000641 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39E1BC772F
+20210511003255 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39E3F4AA7F
+20210511015501 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39EAF7F0CB
+20210511030805 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39F104A8AF
+20210511031420 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39F182BAA3
+20210511032555 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39F276EC07
+20210511033918 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39F38CC9EB
+20210511041948 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39F6EA1CBF
+20210511044846 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39F9459AA7
+20210511045936 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F39FA227747
+20210511061456 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A0049A573
+20210511070958 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A04A6FA53
+20210511071633 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A0529E6FB
+20210511090443 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A0DE2A39B
+20210511091529 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A0EBA9D9B
+20210511092043 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A0F1F1753
+20210512033258 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A16919EA3
+20210512055407 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A217F863B
+20210512065219 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A2603970B
+20210512071046 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A27671DBF
+20210512080928 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A2BE5B26B
+20210512082250 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A2CE9961F
+20210512093942 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A32BF8C6B
+20210512101658 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A358BA32B
+20210512111206 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A39AF5083
+20210512111445 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A39D9B197
+20210512111520 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A39DC61F3
+20210512120145 2 6 100 7679 5 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A3D4F7B0F
+20210512135337 2 6 100 7679 2 C260CF005EEA851908A07073F58C88D37464F6C4353E3652C60C64BB441FAB9B7FB9F6CBB9D8073D3FE935B70EA1F508B2AF0E89899E9B6FD2B0E0583386A56CDADB39C1E362175A28F278B43A478B8506B1592C5A1DB8F33CE21C43CC5763DE1218C349755906B8D975B9DA963936BC01F7D79C5928C25E602D5B838892C62FDD61FAD8D0E189A70EC5891239BF69A75C87ACF1DC8DC50B359A9DC624FF7F92627B5D29748D84549AA6A831A35742E579A206F56DB0AD497AA834B877538C8045F3EE38A189AF9FFFBFC36FA4758EF1334DA487353514C0C406DB6B38E9327895D73DA4E92042EA6880336392E7E8342A1A7526816FEC68E95C995C9388779636AF8A45F54274EBDDD439AA16EE284FAF1E5459C99372083CF1531730F0354BF7E9C0733A3E785E82D99D270870B97D303F2A968C1469041D62277A14DFA2B279991C7E3C45DFEE93192650BF89D46218932FEB1C357EFA71A7F669F42FA4417F7053AEA70D43646CFDBCF7C05A1ABF53D1B5CA701BB6281097C600F951EDDEB258722C6EBA5A663BEB51CDA38D36584D6566BA1878558A7B2D32B28675D1FB2463C8C8AA5CC9CCBD733F3D741BDDC3F0F9532AAA1BB6E039F59B3CE4E5566440DEABF306861EAC945A4DDB2BC7E1B4096D92EB6901C7B83EB8980128935FCB70E82E855BBE41A9438BE84ACC738F818E5E3EDBA0AEE97CDB1634BABB6B1928BB43EDFB053DE5B3B4F0194A4D79D2EDB949D94B197F5D9406AAD368D5EEC0212A0BCA174F2BFFAACFAF2C51AE1F39DCDD849B04C0AE98935C80E62F63755F9B740343A28A5A7B93D8F5FA63E9C322BF46F484911A3B5581F9039F0A930E77AF641EEA0D1734D59B28B13280A9641382D3E489E069F2D659491F261B5FB7B4B7C7AE823D3C426FDEFD75734AD97DC4359E30BA7E99E073D8D6FD1C6B0F01006F33C829528E46565CE86F781228E2D22D7A5AA4C9E6B53DDACF380404CD9D2B2CDE31C6ECA679AA6A997AC53F9E9A429BFF636A008488447622ACFD6754E17048D0E7F7DF03CE0DE64F9FCAE47A46718D8212D620688A598D3B6AFEC54C762D4AE8AA0BA7B1AC97B8F9766BAF71EAE16D5E2B5614AC4FA5E20A0BCD622134AC7B08E00B8020D580F2C28CA1D15BDA1981CCE0E0AB5CDE942DFCC578EFF0C250B874E638705294A00724F9ED1329DA93179CAA869EE4BBAAD9F29993945745A5116840906BA4DCF9E303CE0947D4FD59C7964CC001882C001FB188697652B0A949624A983DA2099443191F6DD4EF89B705CCC825FC16C4AC5FD63D932901DE28AEEAB0DF883F44A6F0923B54A9477A3B521D8E12DD10453931E00E9F3A45A535C3
+20210512141816 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EBF1F48AF
+20210512151944 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EC46EAC57
+20210512152457 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EC4D2E37F
+20210512160220 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EC805627F
+20210512161859 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EC96E198B
+20210512165622 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979ECC946B97
+20210512182636 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979ED42A027B
+20210512183805 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979ED519CAFB
+20210512184521 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979ED5AD365F
+20210512185310 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979ED648AE4B
+20210512204010 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EDF2ADBE7
+20210512204459 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EDF86656B
+20210512215034 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EE4F3F8BF
+20210512215957 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EE5AFAD1B
+20210512232130 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EEC537383
+20210513002903 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EF1CC9B5B
+20210513010529 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EF4AF06D7
+20210513024603 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EFC954793
+20210513024649 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979EFC9C854B
+20210513034549 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F013F0FB3
+20210513035644 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F02144FBB
+20210513040521 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F02B7D0AB
+20210513041837 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F03B639A3
+20210513051930 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F08737F53
+20210513054050 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F0A117EFF
+20210513061420 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F0CA24113
+20210513062114 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F0D21BC27
+20210513063330 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F0E0CA30F
+20210513071712 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F1165FA43
+20210513072642 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F1213296F
+20210513075016 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F13D7F69F
+20210513080859 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F15405513
+20210513082937 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F16D0AEC7
+20210513084916 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F184559A3
+20210513101622 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F1ED0663B
+20210513103219 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F1FF64A7B
+20210513105336 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F217BF603
+20210513120417 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F26CCF6D3
+20210513122242 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F28222B57
+20210513122833 2 6 100 7679 2 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F2886B733
+20210513132056 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F2C65CDC7
+20210513133945 2 6 100 7679 5 FAFDEC5D38380C2FFBEDCDA1262E4817F274B6544BB0A1904CF571375327EDF0105410A3F584F9A15982937EB5A64E30206DA90D66B89BF48EC74E7F40FB957673193875E02B88101A4FE81C47EBCB8451386AAEC6EA69F967310C79D8CC71BE07F669C3094E5F2CD314FF0FDD08256EFDFC03EF43C4704684CEEBBBFC48D48C920B2AC3CC15010D7EE49049D52B12E6E9228BF0482C174747EA40E558D88CACA9F143A496236C120DE560FDD7B2A1175407D333103C025E8EAE424AC5BADA1A354428B451F594BE605000CA3B2773B2D91FEDBBAF2E58DE2F03461A9F8D90B84209F66D7203E92774AB5B83809BAFFCC8D32ACB1B0AD4D1C2D37CED00654FB7517A56FE35CD364967D541D336C0E2CF96303B3BD1FBBC12D5DCF3D8F343BD2DD0EA3B5FA0062DC9A426A36DD27FD9C8E76DBB7FFE97BA3B27BDE53B017D7C9DFA6A4354FC95F3DAD99172290423EB507B574D6CEAF38A4AE227FD44541A29560020EA2EC10C5213E1EBC7A686AFA770A09C28E0D1EFB46AD409D2C58B8A4EF2E740957BCE903FF63D0B5E6BCF7E8C2B8F85DB93FC96E78BE2002603FF9AC2ACF368269FE034D6A5F8BFC6249FD140E85E9435C8B03D9390F1D0FD44519C21D174F7901BAB95DE7C91A1BFB9EB1079C584A71392A72768B2C2748145835AE7A5509B3C59539F46B5E0DF6955B84687C454679C9D87198605D78D1B551F502A5ACD915F55C919763C2F1206A0ADD5F651031A76EA0D102D064CBE24F919D3CF333D1EA0E89C1CA9E7D115802FC38757A50C97849D41E03C5F1EB8485CDDB55464E44172B0DE3D4F94A5AD01ECE4D70E17181225418F4205ABA526FA1D8C493749243D626C1D6A3170AD9D7DA551F3642229428803E81782D49355CB6CCEE08AB7583CA3A73354F2942BC6225E07788E542B1E2A9B46724D8A8EE0BE6F79CCDF78B10FC78FF3E15FFBC2EF1FFF4F53A328C7850BC0DAF358823712FF3609B981377D64FD274C578FFE92A6AE74F6F6A37907BD6B71FDA8C492C15BF9F820360709CFE9C5DFB03196120DF85D7D730DBA4CDFC36F2760227A5EAA27AA255935616A3833609B890B2445FC82D7A70B798DCB71E7C5B868AF06577FDDD034B63FF8A5CEEE3A1BBCD4CC61AF7A21D812E5987B35EF262FCCDFE85FF02E21E95C20C66357D8C813C672AFF03D9B4023E94E4397596BEA7F642D14DDA48D455EE0EBC7979D7AAD8994DC9A0DB84F1EE247C71E3D3A5626455CABC9C91BBAA98E2DD96EDA9EC0CDE2130236907A41D227CC515E1B139D278BC9F1DC231BDBDD76C400564D3200B2F61980B679BE9D8BF9D37BA5C0CB681E5054431A61CBF3979F2DC4BF6F
+20210513144224 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1974BC3929B
+20210513153319 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1974F77AE5B
+20210513202423 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1976458B21F
+20210513231705 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197705C37B7
+20210513233042 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1977149F50B
+20210513233427 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197718133B3
+20210514021221 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1977C49F803
+20210514033618 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB19781E711FB
+20210514034136 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1978239BC2B
+20210514061321 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1978C43CECB
+20210514081550 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB1979429D64B
+20210514112414 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197A0360BD3
+20210514115310 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197A2059F5F
+20210514125653 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197A6070053
+20210514135322 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197A992D4D7
+20210514152842 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197AF853A37
+20210514153107 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197AFA14327
+20210514162047 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197B2B7330F
+20210514163234 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197B36A5C3B
+20210514173058 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197B701F873
+20210514181258 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197B999E087
+20210514182942 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197BA9B3683
+20210514191337 2 6 100 8191 5 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197BD4793EF
+20210514193708 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197BEACFC3B
+20210514205734 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197C391340B
+20210514221328 2 6 100 8191 2 D352935F33D9BC205912B919A6C5F18F76C30A32F6C0390249B48383BA4F31098BF5B6B2ACE6A745344840435A6C9A0DBF8E268F0463420452610E9A624590DC2CD57490F709DFFC5A54630DE486C73DB3C377B87C919F90BA88A7B41627351E6BEADBA605C2C625833BB95E9F34892A5D15DDF216D1A549FCFA819D7567D99015B1C3944254B87680222859779EA64C26FCEF82F34FE28E765DE3DDBCB9B3664E7896B18B93B9AA3A69944E8CEB93C18F671E2A75D6C1061B23AF8B913911A73099EA5B0F527C054B8A71B335A65CE680F02DC58D27FDBBA83EE263DD9E171B190F1CDB173BF56BB93407074B1899E8D59832EF383BCF6FB145E0F8A4A7484A2F8F4178D0A8DF9B8B920FF1250BF88BE770FD43D7EF2F4B998D86628A676173384FA95CB6B8A2599F8D5BFAA9E7C025CF29A9E1A8818B90CF2568CB8F3C003BC22B873374ACEF560B114B6B3EA0ED1701CE77A34E2723FB377BD67D480E3BF6A4E71763ED85C4E5F034A8E1761B1424AC67CFD1727157A43EEAD2168622F43967A4494E3C3D92E41EF47B7425D13D746CF617F9BB0F7CF04C093261541B6BAD54E3ED418AA1044C21FCC95B3416E6648FC576AECA4A82F2E69CE017A982407FAB0B656B56933908F1FD739686102F68805B8C605CF88952AEE1257382DE39D777527416FBED01472FE9C947AD58968D7FF2847328265584C2E93F7DF92CA891122AF48B9549020D2FAC44913C2DB5DAE20434E477FC5AF527E3D16D13B5586131FA1CC6AB1D522A1EFDA51B84D82BCBC0E76F00E0C790A9C07D0CD81088A6E972BB453B0D72AACF78BE9506B25301A473C0F4E6DF46B6517C73D9809F5319DA70BD22C0C17D90A0A26080E262D9DFB50B21AABFB60D76E655B78B2C4A4EDE0D32CE1BBD3F05F49C12B30DA10A13BAA95F907A1306F4FAFA251D8F6E16B6A5EB177D7777FFAB5A875B3D27D250B496B3EDCF818020A27D1CF30EF135AA50CF05B70D1FBCFAB92C7D0CC17E3AB813D23233BEDB187FAB1406BB9397760F905658A124923E6F97F947EF88572CC3F50F16FC716DEA622F9878462113A5E43CFA165D80B531843CB024CC310FB4FD80788A67ABCADDD99BD5A26D1FDB72FA5DF44C84085D7EA30393ABA8E7CB659489DE64CAECC4E2E6779E80CAC156B5957C30B89F073E97BD013CE3E7D260917C1B3C46F6AF0B77A2109E7A81DBB20745B4FD4B33BCC08FD30F554C5EF9B6E69CBD225A498D2D51CA440B83205DF7AE9020AF2595F3CC648907EA05C2F4063C835606A4598A7E9CF67710332A938B1FF851A6697F9A38FFA2CCF2BBD6A00F8437794DA285A8E298CCF2D5497DCA6065D8E0AD829172FBF4D10F75BE58F97FB2D272DD9B57C5659910BDF70D78C45FDFE135DC75F8DBB69F78EF068CBEA5F9FC8940D45AB9928C9002EA165CBBFFB197C828281B
+20210515004609 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7B7D0AF33
+20210515010402 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7B90F73BF
+20210515020359 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7BD3DCDAB
+20210515020859 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7BD8C099F
+20210515024607 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7C01A4257
+20210515042745 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7C7338DAF
+20210515064126 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D05D5BDB
+20210515065958 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D190DF9B
+20210515070456 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D1DF4F37
+20210515073228 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D3BDC2E3
+20210515082306 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D7180387
+20210515083006 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D78B18B3
+20210515090500 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7D9CF96DF
+20210515092343 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7DB040157
+20210515100730 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7DDEA0AE3
+20210515102122 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7DED3CFBB
+20210515111047 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7E218ED8B
+20210515112711 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7E32683E3
+20210515130646 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7E9836B47
+20210515144634 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7EFF3474F
+20210515145430 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7F06C080F
+20210515151337 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7F1A0735F
+20210515155550 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7F4535AFB
+20210515170646 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7F8D31C5B
+20210515182201 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE7FD9B5FC3
+20210515190839 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE80086B9E7
+20210515195013 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE80312E5FF
+20210515215158 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE80ABDE71B
+20210515222330 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE80CB1A273
+20210515223057 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE80D1F22DF
+20210516000343 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE812D0CF63
+20210516001402 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE813696F87
+20210516033418 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE81F94FB1B
+20210516034751 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE820609413
+20210516043347 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE8232145B3
+20210516043651 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE82348D01F
+20210516052501 2 6 100 8191 5 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE8262E1FE7
+20210516061031 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE828E7F28B
+20210516070338 2 6 100 8191 2 DD4A2D5D7B10514C9CBEB91330C309D38566FF0D418584030168693F4060DE64CC996D4F9D446AEF0F5C78E4BCFD2067A117FF78EDB5E248F494F0F6AAF718220D801EE111F50E6FD20092C3C4CFF0452384E6EF948624A85ACB5A40280F32E0C1824BF0D7215F20DC356DCF39DB382083F4CAB942564DEDA2B38211789A707CA0388E27191F3238E75B8FA352A37BA743CB80351DB5DC8F4F5CFD79C920102A838B5EE973E4F95253B43B0E327F31CBBBD7932E13C2DB0F43CCE1FB609DFE4140CA3B048CFB3C929AB9685EBFFD09F08625727583AE0E4AB61DDE47807E124D84F3FCA43FC92A7AA931FBE193CC609611FC30E873F1988D92251DF49C1E2A9126C63FA3FE19C4D9066FEC94693CBCC0951624C3F410F729F9539D35C848D924C29CF512ED032AA4B5AC4A2440197C81D5EBA6A5A9CBC11F4660FFE7597F60E6AF25944E425D724606ABFCB84878D66CE017D3ED6B07CA4FCA5B5CFA57C82FCCF1172850678F63F6F2277F242C1DACB5D16D2BC5EC611C45751A8AFC3179CEFA82334172D326B3CFCB9FB43B2E981AB6BC4033CC2E7BB57E6A19A74953E1E5E7A2E4463E3C3C950ACC5128D1DC543A6BB34C3AE3F4C33818923C1911329D5BA8D6AF1ED5915E1A1E0824CC612898AF0B0EBB553D5760AD00913D60A5649C860B3FCA1049A55BC24045298537BAA1E47B9C779FF24654889FF6162DFF3DF787E53CE4D1355AAF425B9B7CACE1C9FE076D61BD6A1887155813C7C922ABF8D161B546A94D091365D7EF693532B7CB2352F73EB8E4CB75E5771E21C2691C1AB114880E0AB104869DA6425900EF55A5B95FED252DC1D70B2473B26AEFFBCD5569F895D16B50F030B7EB2846985D185880F2B4624622F28CDD73CAEBBC318187AD69432EF31B38831E67222CCBA64DFBF0937A297E3473421506E7AA1D30DABE3841E8F58D6C6B1D0596867D80ADA9A9ADD06A1FB634DBF7B1FEF67DBABFF52538C4563B90FD343F711822EA17054A9FD1D61B9FD78CD083345E7544853B5D284CC73082C2042BFF6C2614FB1F129F7B7E2C07DFF784DCC5859A8306A33807ED27958C3FFD25F13537F869248BE6E4B3ADD9F03E5DF976D1BCEE46C30B5E79AFCF5233F3E4FE05EE6E5AA17A0E44BD67B1ED69F51F5EF287E531FA51B4FA545BC0C3EFB16D8424518AE27498DFBCBF79D129CA3AF38108C86266527435FC27AFA4201609B974EC1CEF0741BC478676736135E5E2BA6297C061E585CE267A99CB411505FC26A2E54209C94D6757CA9B71127B401DEB364D0A86C4C22A5A65CDD2504C57602959D2DB6E8BAC42720A76B8910D08852AE79D91F195A046D86BC3D88660ECC6BAB9CA26B765B45C6DC2571685EE8F25EEBC7B7FEE5AE00B492CF90CFC2C2348F92D2C0D4776FC611CB1F7064E40230E74302CF83A93F177A53CE82C2463FB
diff --git a/monitor.c b/monitor.c
index 1a00d4591733..74c803e15ad3 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor.c,v 1.225 2021/04/15 16:24:31 markus Exp $ */
+/* $OpenBSD: monitor.c,v 1.228 2021/08/11 05:20:17 djm Exp $ */
/*
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
* Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -120,8 +120,6 @@ int mm_answer_authserv(struct ssh *, int, struct sshbuf *);
int mm_answer_authpassword(struct ssh *, int, struct sshbuf *);
int mm_answer_bsdauthquery(struct ssh *, int, struct sshbuf *);
int mm_answer_bsdauthrespond(struct ssh *, int, struct sshbuf *);
-int mm_answer_skeyquery(struct ssh *, int, struct sshbuf *);
-int mm_answer_skeyrespond(struct ssh *, int, struct sshbuf *);
int mm_answer_keyallowed(struct ssh *, int, struct sshbuf *);
int mm_answer_keyverify(struct ssh *, int, struct sshbuf *);
int mm_answer_pty(struct ssh *, int, struct sshbuf *);
@@ -681,8 +679,8 @@ mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m)
} else
fatal_f("no hostkey from index %d", keyid);
- debug3_f("%s signature %p(%zu)", is_proof ? "hostkey proof" : "KEX",
- signature, siglen);
+ debug3_f("%s %s signature len=%zu", alg,
+ is_proof ? "hostkey proof" : "KEX", siglen);
sshbuf_reset(m);
if ((r = sshbuf_put_string(m, signature, siglen)) != 0)
@@ -964,7 +962,7 @@ mm_answer_bsdauthrespond(struct ssh *ssh, int sock, struct sshbuf *m)
if ((r = sshbuf_get_cstring(m, &response, NULL)) != 0)
fatal_fr(r, "parse");
- authok = options.challenge_response_authentication &&
+ authok = options.kbd_interactive_authentication &&
auth_userresponse(authctxt->as, response, 0);
authctxt->as = NULL;
debug3_f("<%s> = <%d>", response, authok);
@@ -1165,8 +1163,6 @@ mm_answer_keyallowed(struct ssh *ssh, int sock, struct sshbuf *m)
(r = sshbuf_get_u32(m, &pubkey_auth_attempt)) != 0)
fatal_fr(r, "parse");
- debug3_f("key_from_blob: %p", key);
-
if (key != NULL && authctxt->valid) {
/* These should not make it past the privsep child */
if (sshkey_type_plain(key->type) == KEY_RSA &&
@@ -1436,7 +1432,7 @@ mm_answer_keyverify(struct ssh *ssh, int sock, struct sshbuf *m)
ret = sshkey_verify(key, signature, signaturelen, data, datalen,
sigalg, ssh->compat, &sig_details);
- debug3_f("%s %p signature %s%s%s", auth_method, key,
+ debug3_f("%s %s signature %s%s%s", auth_method, sshkey_type(key),
(ret == 0) ? "verified" : "unverified",
(ret != 0) ? ": " : "", (ret != 0) ? ssh_err(ret) : "");
diff --git a/mux.c b/mux.c
index faf4ef1e92a7..4c0eb4249bcd 100644
--- a/mux.c
+++ b/mux.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mux.c,v 1.87 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: mux.c,v 1.91 2021/07/23 04:00:59 djm Exp $ */
/*
* Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org>
*
@@ -71,9 +71,7 @@
/* from ssh.c */
extern int tty_flag;
extern Options options;
-extern int stdin_null_flag;
extern char *host;
-extern int subsystem_flag;
extern struct sshbuf *command;
extern volatile sig_atomic_t quit_pending;
@@ -452,14 +450,6 @@ mux_master_process_new_session(struct ssh *ssh, u_int rid,
if (cctx->want_tty && tcgetattr(new_fd[0], &cctx->tio) == -1)
error_f("tcgetattr: %s", strerror(errno));
- /* enable nonblocking unless tty */
- if (!isatty(new_fd[0]))
- set_nonblock(new_fd[0]);
- if (!isatty(new_fd[1]))
- set_nonblock(new_fd[1]);
- if (!isatty(new_fd[2]))
- set_nonblock(new_fd[2]);
-
window = CHAN_SES_WINDOW_DEFAULT;
packetmax = CHAN_SES_PACKET_DEFAULT;
if (cctx->want_tty) {
@@ -469,7 +459,7 @@ mux_master_process_new_session(struct ssh *ssh, u_int rid,
nc = channel_new(ssh, "session", SSH_CHANNEL_OPENING,
new_fd[0], new_fd[1], new_fd[2], window, packetmax,
- CHAN_EXTENDED_WRITE, "client-session", /*nonblock*/0);
+ CHAN_EXTENDED_WRITE, "client-session", CHANNEL_NONBLOCK_STDIO);
nc->ctl_chan = c->self; /* link session -> control channel */
c->remote_id = nc->self; /* link control -> session channel */
@@ -1025,13 +1015,8 @@ mux_master_process_stdio_fwd(struct ssh *ssh, u_int rid,
}
}
- /* enable nonblocking unless tty */
- if (!isatty(new_fd[0]))
- set_nonblock(new_fd[0]);
- if (!isatty(new_fd[1]))
- set_nonblock(new_fd[1]);
-
- nc = channel_connect_stdio_fwd(ssh, chost, cport, new_fd[0], new_fd[1]);
+ nc = channel_connect_stdio_fwd(ssh, chost, cport, new_fd[0], new_fd[1],
+ CHANNEL_NONBLOCK_STDIO);
free(chost);
nc->ctl_chan = c->self; /* link session -> control channel */
@@ -1879,7 +1864,7 @@ mux_client_request_session(int fd)
{
struct sshbuf *m;
char *e;
- const char *term;
+ const char *term = NULL;
u_int echar, rid, sid, esid, exitval, type, exitval_seen;
extern char **environ;
int r, i, rawmode;
@@ -1893,11 +1878,13 @@ mux_client_request_session(int fd)
ssh_signal(SIGPIPE, SIG_IGN);
- if (stdin_null_flag && stdfd_devnull(1, 0, 0) == -1)
+ if (options.stdin_null && stdfd_devnull(1, 0, 0) == -1)
fatal_f("stdfd_devnull failed");
- if ((term = getenv("TERM")) == NULL)
- term = "";
+ if ((term = lookup_env_in_list("TERM", options.setenv,
+ options.num_setenv)) == NULL || *term == '\0')
+ term = getenv("TERM");
+
echar = 0xffffffff;
if (options.escape_char != SSH_ESCAPECHAR_NONE)
echar = (u_int)options.escape_char;
@@ -1910,9 +1897,9 @@ mux_client_request_session(int fd)
(r = sshbuf_put_u32(m, tty_flag)) != 0 ||
(r = sshbuf_put_u32(m, options.forward_x11)) != 0 ||
(r = sshbuf_put_u32(m, options.forward_agent)) != 0 ||
- (r = sshbuf_put_u32(m, subsystem_flag)) != 0 ||
+ (r = sshbuf_put_u32(m, options.session_type == SESSION_TYPE_SUBSYSTEM)) != 0 ||
(r = sshbuf_put_u32(m, echar)) != 0 ||
- (r = sshbuf_put_cstring(m, term)) != 0 ||
+ (r = sshbuf_put_cstring(m, term == NULL ? "" : term)) != 0 ||
(r = sshbuf_put_stringb(m, command)) != 0)
fatal_fr(r, "request");
@@ -2114,7 +2101,7 @@ mux_client_request_stdio_fwd(int fd)
ssh_signal(SIGPIPE, SIG_IGN);
- if (stdin_null_flag && stdfd_devnull(1, 0, 0) == -1)
+ if (options.stdin_null && stdfd_devnull(1, 0, 0) == -1)
fatal_f("stdfd_devnull failed");
if ((m = sshbuf_new()) == NULL)
diff --git a/nchan.c b/nchan.c
index 4a4494b861de..7ef3a350b79a 100644
--- a/nchan.c
+++ b/nchan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nchan.c,v 1.72 2021/01/27 09:26:54 djm Exp $ */
+/* $OpenBSD: nchan.c,v 1.73 2021/05/19 01:24:05 djm Exp $ */
/*
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
*
@@ -384,7 +384,7 @@ chan_shutdown_write(struct ssh *ssh, Channel *c)
c->istate, c->ostate, strerror(errno));
}
} else {
- if (channel_close_fd(ssh, &c->wfd) < 0) {
+ if (channel_close_fd(ssh, c, &c->wfd) < 0) {
logit_f("channel %d: close() failed for "
"fd %d [i%d o%d]: %.100s", c->self, c->wfd,
c->istate, c->ostate, strerror(errno));
@@ -412,7 +412,7 @@ chan_shutdown_read(struct ssh *ssh, Channel *c)
c->istate, c->ostate, strerror(errno));
}
} else {
- if (channel_close_fd(ssh, &c->rfd) < 0) {
+ if (channel_close_fd(ssh, c, &c->rfd) < 0) {
logit_f("channel %d: close() failed for "
"fd %d [i%d o%d]: %.100s", c->self, c->rfd,
c->istate, c->ostate, strerror(errno));
@@ -431,7 +431,7 @@ chan_shutdown_extended_read(struct ssh *ssh, Channel *c)
debug_f("channel %d: (i%d o%d sock %d wfd %d efd %d [%s])",
c->self, c->istate, c->ostate, c->sock, c->rfd, c->efd,
channel_format_extended_usage(c));
- if (channel_close_fd(ssh, &c->efd) < 0) {
+ if (channel_close_fd(ssh, c, &c->efd) < 0) {
logit_f("channel %d: close() failed for "
"extended fd %d [i%d o%d]: %.100s", c->self, c->efd,
c->istate, c->ostate, strerror(errno));
diff --git a/openbsd-compat/Makefile.in b/openbsd-compat/Makefile.in
index 3eb188f0b600..5d53bef5757f 100644
--- a/openbsd-compat/Makefile.in
+++ b/openbsd-compat/Makefile.in
@@ -79,6 +79,7 @@ COMPAT= arc4random.o \
bsd-nextstep.o \
bsd-openpty.o \
bsd-poll.o \
+ bsd-pselect.o \
bsd-setres_id.o \
bsd-signal.o \
bsd-snprintf.o \
@@ -94,6 +95,7 @@ COMPAT= arc4random.o \
PORTS= port-aix.o \
port-irix.o \
port-linux.o \
+ port-prngd.o \
port-solaris.o \
port-net.o \
port-uw.o
diff --git a/openbsd-compat/arc4random.c b/openbsd-compat/arc4random.c
index 578f69f4f74f..14853aba43d1 100644
--- a/openbsd-compat/arc4random.c
+++ b/openbsd-compat/arc4random.c
@@ -88,7 +88,7 @@ _rs_init(u_char *buf, size_t n)
static void
getrnd(u_char *s, size_t len)
{
- int fd;
+ int fd, save_errno;
ssize_t r;
size_t o = 0;
@@ -97,8 +97,14 @@ getrnd(u_char *s, size_t len)
return;
#endif /* HAVE_GETRANDOM */
- if ((fd = open(SSH_RANDOM_DEV, O_RDONLY)) == -1)
- fatal("Couldn't open %s: %s", SSH_RANDOM_DEV, strerror(errno));
+ if ((fd = open(SSH_RANDOM_DEV, O_RDONLY)) == -1) {
+ save_errno = errno;
+ /* Try egd/prngd before giving up. */
+ if (seed_from_prngd(s, len) == 0)
+ return;
+ fatal("Couldn't open %s: %s", SSH_RANDOM_DEV,
+ strerror(save_errno));
+ }
while (o < len) {
r = read(fd, s + o, len - o);
if (r < 0) {
diff --git a/openbsd-compat/bsd-misc.h b/openbsd-compat/bsd-misc.h
index 3a7dd6f4c30e..2206e1a82140 100644
--- a/openbsd-compat/bsd-misc.h
+++ b/openbsd-compat/bsd-misc.h
@@ -20,6 +20,7 @@
#include "includes.h"
char *ssh_get_progname(char *);
+int seed_from_prngd(unsigned char *, size_t);
#ifndef HAVE_SETSID
#define setsid() setpgrp(0, getpid())
@@ -125,6 +126,11 @@ int isblank(int);
pid_t getpgid(pid_t);
#endif
+#ifndef HAVE_PSELECT
+int pselect(int, fd_set *, fd_set *, fd_set *, const struct timespec *,
+ const sigset_t *);
+#endif
+
#ifndef HAVE_ENDGRENT
# define endgrent() do { } while(0)
#endif
diff --git a/openbsd-compat/bsd-pselect.c b/openbsd-compat/bsd-pselect.c
new file mode 100644
index 000000000000..fff1bf54f72c
--- /dev/null
+++ b/openbsd-compat/bsd-pselect.c
@@ -0,0 +1,205 @@
+/*
+ * Copyright (c) 2001 Markus Friedl. All rights reserved.
+ * Copyright (c) 2021 Darren Tucker (dtucker at dtucker net).
+ *
+ * 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"
+#ifndef HAVE_PSELECT
+
+#include <sys/types.h>
+#include <sys/time.h>
+#ifdef HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "log.h"
+#include "misc.h" /* for set_nonblock */
+
+#ifndef HAVE_SIGHANDLER_T
+typedef void (*sighandler_t)(int);
+#endif
+
+static sighandler_t saved_sighandler[_NSIG];
+
+/*
+ * Set up the descriptors. Because they are close-on-exec, in the case
+ * where sshd's re-exec fails notify_pipe will still point to a descriptor
+ * that was closed by the exec attempt but if that descriptor has been
+ * reopened then we'll attempt to use that. Ensure that notify_pipe is
+ * outside of the range used by sshd re-exec but within NFDBITS (so we don't
+ * need to expand the fd_sets).
+ */
+#define REEXEC_MIN_FREE_FD (STDERR_FILENO + 4)
+static int
+pselect_notify_setup_fd(int *fd)
+{
+ int r;
+
+ if ((r = fcntl(*fd, F_DUPFD, REEXEC_MIN_FREE_FD)) < 0 ||
+ fcntl(r, F_SETFD, FD_CLOEXEC) < 0 || r >= FD_SETSIZE)
+ return -1;
+ (void)close(*fd);
+ return (*fd = r);
+}
+
+/*
+ * we write to this pipe if a SIGCHLD is caught in order to avoid
+ * the race between select() and child_terminated
+ */
+static pid_t notify_pid;
+static int notify_pipe[2];
+static void
+pselect_notify_setup(void)
+{
+ static int initialized;
+
+ if (initialized && notify_pid == getpid())
+ return;
+ if (notify_pid == 0)
+ debug3_f("initializing");
+ else {
+ debug3_f("pid changed, reinitializing");
+ if (notify_pipe[0] != -1)
+ close(notify_pipe[0]);
+ if (notify_pipe[1] != -1)
+ close(notify_pipe[1]);
+ }
+ if (pipe(notify_pipe) == -1) {
+ error("pipe(notify_pipe) failed %s", strerror(errno));
+ } else if (pselect_notify_setup_fd(&notify_pipe[0]) == -1 ||
+ pselect_notify_setup_fd(&notify_pipe[1]) == -1) {
+ error("fcntl(notify_pipe, ...) failed %s", strerror(errno));
+ close(notify_pipe[0]);
+ close(notify_pipe[1]);
+ } else {
+ set_nonblock(notify_pipe[0]);
+ set_nonblock(notify_pipe[1]);
+ notify_pid = getpid();
+ debug3_f("pid %d saved %d pipe0 %d pipe1 %d", getpid(),
+ notify_pid, notify_pipe[0], notify_pipe[1]);
+ initialized = 1;
+ return;
+ }
+ notify_pipe[0] = -1; /* read end */
+ notify_pipe[1] = -1; /* write end */
+}
+static void
+pselect_notify_parent(void)
+{
+ if (notify_pipe[1] != -1)
+ (void)write(notify_pipe[1], "", 1);
+}
+static void
+pselect_notify_prepare(fd_set *readset)
+{
+ if (notify_pipe[0] != -1)
+ FD_SET(notify_pipe[0], readset);
+}
+static void
+pselect_notify_done(fd_set *readset)
+{
+ char c;
+
+ if (notify_pipe[0] != -1 && FD_ISSET(notify_pipe[0], readset)) {
+ while (read(notify_pipe[0], &c, 1) != -1)
+ debug2_f("reading");
+ FD_CLR(notify_pipe[0], readset);
+ }
+}
+
+/*ARGSUSED*/
+static void
+pselect_sig_handler(int sig)
+{
+ int save_errno = errno;
+
+ pselect_notify_parent();
+ if (saved_sighandler[sig] != NULL)
+ (*saved_sighandler[sig])(sig); /* call original handler */
+ errno = save_errno;
+}
+
+/*
+ * A minimal implementation of pselect(2), built on top of select(2).
+ */
+
+int
+pselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
+ const struct timespec *timeout, const sigset_t *mask)
+{
+ int ret, sig, saved_errno, unmasked = 0;
+ sigset_t osig;
+ struct sigaction sa, osa;
+ struct timeval tv, *tvp = NULL;
+
+ if (timeout != NULL) {
+ tv.tv_sec = timeout->tv_sec;
+ tv.tv_usec = timeout->tv_nsec / 1000;
+ tvp = &tv;
+ }
+ if (mask == NULL) /* no signal mask, just call select */
+ return select(nfds, readfds, writefds, exceptfds, tvp);
+
+ /* For each signal we're unmasking, install our handler if needed. */
+ for (sig = 0; sig < _NSIG; sig++) {
+ if (sig == SIGKILL || sig == SIGSTOP || sigismember(mask, sig))
+ continue;
+ if (sigaction(sig, NULL, &sa) == 0 &&
+ sa.sa_handler != SIG_IGN && sa.sa_handler != SIG_DFL) {
+ unmasked = 1;
+ if (sa.sa_handler == pselect_sig_handler)
+ continue;
+ sa.sa_handler = pselect_sig_handler;
+ if (sigaction(sig, &sa, &osa) == 0) {
+ debug3_f("installing signal handler for %s, "
+ "previous %p", strsignal(sig),
+ osa.sa_handler);
+ saved_sighandler[sig] = osa.sa_handler;
+ }
+ }
+ }
+ if (unmasked) {
+ pselect_notify_setup();
+ pselect_notify_prepare(readfds);
+ nfds = MAX(nfds, notify_pipe[0]);
+ }
+
+ /* Unmask signals, call select then restore signal mask. */
+ sigprocmask(SIG_SETMASK, mask, &osig);
+ ret = select(nfds, readfds, writefds, exceptfds, tvp);
+ saved_errno = errno;
+ sigprocmask(SIG_SETMASK, &osig, NULL);
+
+ if (unmasked)
+ pselect_notify_done(readfds);
+ errno = saved_errno;
+ return ret;
+}
+#endif
diff --git a/openbsd-compat/memmem.c b/openbsd-compat/memmem.c
index ad330d1a8879..2637401d7c6e 100644
--- a/openbsd-compat/memmem.c
+++ b/openbsd-compat/memmem.c
@@ -23,6 +23,8 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+/* OPENBSD ORIGINAL: lib/libc/string/memmem.c */
+
#include "includes.h"
#ifndef HAVE_MEMMEM
diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h
index 542ae58ddc8a..a7209ceb26a9 100644
--- a/openbsd-compat/openbsd-compat.h
+++ b/openbsd-compat/openbsd-compat.h
@@ -49,6 +49,7 @@
#include "fnmatch.h"
#if defined(HAVE_LOGIN_CAP) && !defined(HAVE_LOGIN_GETPWCLASS)
+# include <login_cap.h>
# define login_getpwclass(pw) login_getclass(pw->pw_class)
#endif
@@ -194,9 +195,9 @@ int writev(int, struct iovec *, int);
#endif
/* Home grown routines */
+#include "bsd-signal.h"
#include "bsd-misc.h"
#include "bsd-setres_id.h"
-#include "bsd-signal.h"
#include "bsd-statvfs.h"
#include "bsd-waitpid.h"
#include "bsd-poll.h"
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c
index e0d3eba51c55..2ac9bad09834 100644
--- a/openbsd-compat/port-aix.c
+++ b/openbsd-compat/port-aix.c
@@ -445,7 +445,7 @@ getgrouplist(const char *user, gid_t pgid, gid_t *groups, int *grpcnt)
char *cp, *grplist, *grp;
gid_t gid;
int ret = 0, ngroups = 0, maxgroups;
- long l;
+ long long ll;
maxgroups = *grpcnt;
@@ -463,12 +463,12 @@ getgrouplist(const char *user, gid_t pgid, gid_t *groups, int *grpcnt)
/* copy each entry from getgrset into group list */
while ((grp = strsep(&grplist, ",")) != NULL) {
- l = strtol(grp, NULL, 10);
- if (ngroups >= maxgroups || l == LONG_MIN || l == LONG_MAX) {
+ ll = strtoll(grp, NULL, 10);
+ if (ngroups >= maxgroups || ll < 0 || ll > UID_MAX) {
ret = -1;
goto out;
}
- gid = (gid_t)l;
+ gid = (gid_t)ll;
if (gid == pgid)
continue; /* we have already added primary gid */
groups[ngroups++] = gid;
diff --git a/openbsd-compat/port-prngd.c b/openbsd-compat/port-prngd.c
new file mode 100644
index 000000000000..6afa8f913ae3
--- /dev/null
+++ b/openbsd-compat/port-prngd.c
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2001 Damien Miller. 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 <sys/types.h>
+#include <sys/socket.h>
+#ifdef HAVE_SYS_UN_H
+# include <sys/un.h>
+#endif
+
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <errno.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <stddef.h> /* for offsetof */
+
+#include "atomicio.h"
+#include "misc.h"
+#include "log.h"
+
+#if defined(PRNGD_PORT) || defined(PRNGD_SOCKET)
+/*
+ * EGD/PRNGD interface.
+ *
+ * Collect 'len' bytes of entropy into 'buf' from PRNGD/EGD daemon
+ * listening either on 'tcp_port', or via Unix domain socket at *
+ * 'socket_path'.
+ * Either a non-zero tcp_port or a non-null socket_path must be
+ * supplied.
+ * Returns 0 on success, -1 on error
+ */
+static int
+get_random_bytes_prngd(unsigned char *buf, int len,
+ unsigned short tcp_port, char *socket_path)
+{
+ int fd, addr_len, rval, errors;
+ u_char msg[2];
+ struct sockaddr_storage addr;
+ struct sockaddr_in *addr_in = (struct sockaddr_in *)&addr;
+ struct sockaddr_un *addr_un = (struct sockaddr_un *)&addr;
+ sshsig_t old_sigpipe;
+
+ /* Sanity checks */
+ if (socket_path == NULL && tcp_port == 0)
+ fatal("You must specify a port or a socket");
+ if (socket_path != NULL &&
+ strlen(socket_path) >= sizeof(addr_un->sun_path))
+ fatal("Random pool path is too long");
+ if (len <= 0 || len > 255)
+ fatal("Too many bytes (%d) to read from PRNGD", len);
+
+ memset(&addr, '\0', sizeof(addr));
+
+ if (tcp_port != 0) {
+ addr_in->sin_family = AF_INET;
+ addr_in->sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ addr_in->sin_port = htons(tcp_port);
+ addr_len = sizeof(*addr_in);
+ } else {
+ addr_un->sun_family = AF_UNIX;
+ strlcpy(addr_un->sun_path, socket_path,
+ sizeof(addr_un->sun_path));
+ addr_len = offsetof(struct sockaddr_un, sun_path) +
+ strlen(socket_path) + 1;
+ }
+
+ old_sigpipe = ssh_signal(SIGPIPE, SIG_IGN);
+
+ errors = 0;
+ rval = -1;
+reopen:
+ fd = socket(addr.ss_family, SOCK_STREAM, 0);
+ if (fd == -1) {
+ error("Couldn't create socket: %s", strerror(errno));
+ goto done;
+ }
+
+ if (connect(fd, (struct sockaddr*)&addr, addr_len) == -1) {
+ if (tcp_port != 0) {
+ error("Couldn't connect to PRNGD port %d: %s",
+ tcp_port, strerror(errno));
+ } else {
+ error("Couldn't connect to PRNGD socket \"%s\": %s",
+ addr_un->sun_path, strerror(errno));
+ }
+ goto done;
+ }
+
+ /* Send blocking read request to PRNGD */
+ msg[0] = 0x02;
+ msg[1] = len;
+
+ if (atomicio(vwrite, fd, msg, sizeof(msg)) != sizeof(msg)) {
+ if (errno == EPIPE && errors < 10) {
+ close(fd);
+ errors++;
+ goto reopen;
+ }
+ error("Couldn't write to PRNGD socket: %s",
+ strerror(errno));
+ goto done;
+ }
+
+ if (atomicio(read, fd, buf, len) != (size_t)len) {
+ if (errno == EPIPE && errors < 10) {
+ close(fd);
+ errors++;
+ goto reopen;
+ }
+ error("Couldn't read from PRNGD socket: %s",
+ strerror(errno));
+ goto done;
+ }
+
+ rval = 0;
+done:
+ ssh_signal(SIGPIPE, old_sigpipe);
+ if (fd != -1)
+ close(fd);
+ return rval;
+}
+#endif /* PRNGD_PORT || PRNGD_SOCKET */
+
+int
+seed_from_prngd(unsigned char *buf, size_t bytes)
+{
+#ifdef PRNGD_PORT
+ debug("trying egd/prngd port %d", PRNGD_PORT);
+ if (get_random_bytes_prngd(buf, bytes, PRNGD_PORT, NULL) == 0)
+ return 0;
+#endif
+#ifdef PRNGD_SOCKET
+ debug("trying egd/prngd socket %s", PRNGD_SOCKET);
+ if (get_random_bytes_prngd(buf, bytes, 0, PRNGD_SOCKET) == 0)
+ return 0;
+#endif
+ return -1;
+}
diff --git a/openbsd-compat/regress/Makefile.in b/openbsd-compat/regress/Makefile.in
index c5aae61e2a42..dd8cdc4b7e7a 100644
--- a/openbsd-compat/regress/Makefile.in
+++ b/openbsd-compat/regress/Makefile.in
@@ -7,7 +7,7 @@ VPATH=@srcdir@
CC=@CC@
LD=@LD@
CFLAGS=@CFLAGS@
-CPPFLAGS=-I. -I.. -I$(srcdir) -I$(srcdir)/.. @CPPFLAGS@ @DEFS@
+CPPFLAGS=-I. -I.. -I../.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. @CPPFLAGS@ @DEFS@
EXEEXT=@EXEEXT@
LIBCOMPAT=../libopenbsd-compat.a
LIBS=@LIBS@
diff --git a/openbsd-compat/regress/closefromtest.c b/openbsd-compat/regress/closefromtest.c
index 82ffeb9a7613..7a69fb2b1a4e 100644
--- a/openbsd-compat/regress/closefromtest.c
+++ b/openbsd-compat/regress/closefromtest.c
@@ -14,6 +14,8 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "includes.h"
+
#include <sys/types.h>
#include <sys/stat.h>
@@ -24,8 +26,6 @@
#define NUM_OPENS 10
-int closefrom(int);
-
void
fail(char *msg)
{
diff --git a/openbsd-compat/regress/opensslvertest.c b/openbsd-compat/regress/opensslvertest.c
index 5d019b5981a2..43825b24c3eb 100644
--- a/openbsd-compat/regress/opensslvertest.c
+++ b/openbsd-compat/regress/opensslvertest.c
@@ -14,6 +14,8 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "includes.h"
+
#include <stdio.h>
#include <stdlib.h>
diff --git a/openbsd-compat/regress/snprintftest.c b/openbsd-compat/regress/snprintftest.c
index 6dc2e222a67c..a3134db1ca94 100644
--- a/openbsd-compat/regress/snprintftest.c
+++ b/openbsd-compat/regress/snprintftest.c
@@ -17,6 +17,8 @@
#define BUFSZ 2048
+#include "includes.h"
+
#include <sys/types.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/openbsd-compat/regress/strduptest.c b/openbsd-compat/regress/strduptest.c
index 7f6d779bedb3..8a3ccf77169f 100644
--- a/openbsd-compat/regress/strduptest.c
+++ b/openbsd-compat/regress/strduptest.c
@@ -14,6 +14,8 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "includes.h"
+
#include <stdlib.h>
#include <string.h>
diff --git a/openbsd-compat/regress/strtonumtest.c b/openbsd-compat/regress/strtonumtest.c
index 50ca5bd22d4e..46bd2b916494 100644
--- a/openbsd-compat/regress/strtonumtest.c
+++ b/openbsd-compat/regress/strtonumtest.c
@@ -17,6 +17,8 @@
/* OPENBSD ORIGINAL: regress/lib/libc/strtonum/strtonumtest.c */
+#include "includes.h"
+
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
diff --git a/openbsd-compat/regress/utimensattest.c b/openbsd-compat/regress/utimensattest.c
index 24312e5d828f..bbc66c48523e 100644
--- a/openbsd-compat/regress/utimensattest.c
+++ b/openbsd-compat/regress/utimensattest.c
@@ -14,6 +14,8 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "includes.h"
+
#include <sys/types.h>
#include <sys/stat.h>
diff --git a/openbsd-compat/setenv.c b/openbsd-compat/setenv.c
index 373b701d9c6f..86954c284ee3 100644
--- a/openbsd-compat/setenv.c
+++ b/openbsd-compat/setenv.c
@@ -39,7 +39,9 @@
#include <string.h>
extern char **environ;
+#ifndef HAVE_SETENV
static char **lastenv; /* last value of environ */
+#endif
/* OpenSSH Portable: __findenv is from getenv.c rev 1.8, made static */
/*
diff --git a/packet.c b/packet.c
index 85784ac57702..9908994182f4 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.300 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: packet.c,v 1.301 2021/07/16 09:00:23 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1002,6 +1002,15 @@ ssh_packet_need_rekeying(struct ssh *ssh, u_int outbound_packet_len)
(state->p_read.blocks > state->max_blocks_in));
}
+int
+ssh_packet_check_rekey(struct ssh *ssh)
+{
+ if (!ssh_packet_need_rekeying(ssh, 0))
+ return 0;
+ debug3_f("rekex triggered");
+ return kex_start_rekex(ssh);
+}
+
/*
* Delayed compression for SSH2 is enabled after authentication:
* This happens on the server side after a SSH2_MSG_USERAUTH_SUCCESS is sent,
@@ -1695,12 +1704,8 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
/* reset for next packet */
state->packlen = 0;
- /* do we need to rekey? */
- if (ssh_packet_need_rekeying(ssh, 0)) {
- debug3_f("rekex triggered");
- if ((r = kex_start_rekex(ssh)) != 0)
- return r;
- }
+ if ((r = ssh_packet_check_rekey(ssh)) != 0)
+ return r;
out:
return r;
}
diff --git a/packet.h b/packet.h
index c2544bd96607..2ad0e70cfd79 100644
--- a/packet.h
+++ b/packet.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.h,v 1.92 2020/03/06 18:11:10 markus Exp $ */
+/* $OpenBSD: packet.h,v 1.93 2021/07/16 09:00:23 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -105,6 +105,7 @@ void ssh_packet_clear_keys(struct ssh *);
void ssh_clear_newkeys(struct ssh *, int);
int ssh_packet_is_rekeying(struct ssh *);
+int ssh_packet_check_rekey(struct ssh *);
void ssh_packet_set_protocol_flags(struct ssh *, u_int);
u_int ssh_packet_get_protocol_flags(struct ssh *);
void ssh_packet_set_tos(struct ssh *, int);
diff --git a/readconf.c b/readconf.c
index 0f27652b48b8..03369a0866e6 100644
--- a/readconf.c
+++ b/readconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.c,v 1.353 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: readconf.c,v 1.361 2021/07/23 04:04:52 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -145,7 +145,7 @@ typedef enum {
oForwardAgent, oForwardX11, oForwardX11Trusted, oForwardX11Timeout,
oGatewayPorts, oExitOnForwardFailure,
oPasswordAuthentication,
- oChallengeResponseAuthentication, oXAuthLocation,
+ oXAuthLocation,
oIdentityFile, oHostname, oPort, oRemoteForward, oLocalForward,
oPermitRemoteOpen,
oCertificateFile, oAddKeysToAgent, oIdentityAgent,
@@ -167,7 +167,8 @@ typedef enum {
oTunnel, oTunnelDevice,
oLocalCommand, oPermitLocalCommand, oRemoteCommand,
oVisualHostKey,
- oKexAlgorithms, oIPQoS, oRequestTTY, oIgnoreUnknown, oProxyUseFdpass,
+ oKexAlgorithms, oIPQoS, oRequestTTY, oSessionType, oStdinNull,
+ oForkAfterAuthentication, oIgnoreUnknown, oProxyUseFdpass,
oCanonicalDomains, oCanonicalizeHostname, oCanonicalizeMaxDots,
oCanonicalizeFallbackLocal, oCanonicalizePermittedCNAMEs,
oStreamLocalBindMask, oStreamLocalBindUnlink, oRevokedHostKeys,
@@ -228,12 +229,12 @@ static struct {
{ "passwordauthentication", oPasswordAuthentication },
{ "kbdinteractiveauthentication", oKbdInteractiveAuthentication },
{ "kbdinteractivedevices", oKbdInteractiveDevices },
+ { "challengeresponseauthentication", oKbdInteractiveAuthentication }, /* alias */
+ { "skeyauthentication", oKbdInteractiveAuthentication }, /* alias */
+ { "tisauthentication", oKbdInteractiveAuthentication }, /* alias */
{ "pubkeyauthentication", oPubkeyAuthentication },
{ "dsaauthentication", oPubkeyAuthentication }, /* alias */
{ "hostbasedauthentication", oHostbasedAuthentication },
- { "challengeresponseauthentication", oChallengeResponseAuthentication },
- { "skeyauthentication", oUnsupported },
- { "tisauthentication", oChallengeResponseAuthentication }, /* alias */
{ "identityfile", oIdentityFile },
{ "identityfile2", oIdentityFile }, /* obsolete */
{ "identitiesonly", oIdentitiesOnly },
@@ -297,6 +298,9 @@ static struct {
{ "kexalgorithms", oKexAlgorithms },
{ "ipqos", oIPQoS },
{ "requesttty", oRequestTTY },
+ { "sessiontype", oSessionType },
+ { "stdinnull", oStdinNull },
+ { "forkafterauthentication", oForkAfterAuthentication },
{ "proxyusefdpass", oProxyUseFdpass },
{ "canonicaldomains", oCanonicalDomains },
{ "canonicalizefallbacklocal", oCanonicalizeFallbackLocal },
@@ -308,7 +312,7 @@ static struct {
{ "revokedhostkeys", oRevokedHostKeys },
{ "fingerprinthash", oFingerprintHash },
{ "updatehostkeys", oUpdateHostkeys },
- { "hostbasedalgorithms", oHostbasedAcceptedAlgorithms },
+ { "hostbasedacceptedalgorithms", oHostbasedAcceptedAlgorithms },
{ "hostbasedkeytypes", oHostbasedAcceptedAlgorithms }, /* obsolete */
{ "pubkeyacceptedalgorithms", oPubkeyAcceptedAlgorithms },
{ "pubkeyacceptedkeytypes", oPubkeyAcceptedAlgorithms }, /* obsolete */
@@ -603,25 +607,33 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw,
debug2("checking match for '%s' host %s originally %s",
cp, host, original_host);
while ((oattrib = attrib = strdelim(&cp)) && *attrib != '\0') {
- criteria = NULL;
+ /* Terminate on comment */
+ if (*attrib == '#') {
+ cp = NULL; /* mark all arguments consumed */
+ break;
+ }
+ arg = criteria = NULL;
this_result = 1;
if ((negate = attrib[0] == '!'))
attrib++;
- /* criteria "all" and "canonical" have no argument */
+ /* Criterion "all" has no argument and must appear alone */
if (strcasecmp(attrib, "all") == 0) {
- if (attributes > 1 ||
- ((arg = strdelim(&cp)) != NULL && *arg != '\0')) {
+ if (attributes > 1 || ((arg = strdelim(&cp)) != NULL &&
+ *arg != '\0' && *arg != '#')) {
error("%.200s line %d: '%s' cannot be combined "
"with other Match attributes",
filename, linenum, oattrib);
result = -1;
goto out;
}
+ if (arg != NULL && *arg == '#')
+ cp = NULL; /* mark all arguments consumed */
if (result)
result = negate ? 0 : 1;
goto out;
}
attributes++;
+ /* criteria "final" and "canonical" have no argument */
if (strcasecmp(attrib, "canonical") == 0 ||
strcasecmp(attrib, "final") == 0) {
/*
@@ -640,7 +652,8 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw,
continue;
}
/* All other criteria require an argument */
- if ((arg = strdelim(&cp)) == NULL || *arg == '\0') {
+ if ((arg = strdelim(&cp)) == NULL ||
+ *arg == '\0' || *arg == '#') {
error("Missing Match criteria for %s", attrib);
result = -1;
goto out;
@@ -863,6 +876,12 @@ static const struct multistate multistate_requesttty[] = {
{ "auto", REQUEST_TTY_AUTO },
{ NULL, -1 }
};
+static const struct multistate multistate_sessiontype[] = {
+ { "none", SESSION_TYPE_NONE },
+ { "subsystem", SESSION_TYPE_SUBSYSTEM },
+ { "default", SESSION_TYPE_DEFAULT },
+ { NULL, -1 }
+};
static const struct multistate multistate_canonicalizehostname[] = {
{ "true", SSH_CANONICALISE_YES },
{ "false", SSH_CANONICALISE_NO },
@@ -915,7 +934,7 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host,
const char *original_host, char *line, const char *filename,
int linenum, int *activep, int flags, int *want_final_pass, int depth)
{
- char *s, **charptr, *endofnumber, *keyword, *arg, *arg2, *p, ch;
+ char *str, **charptr, *endofnumber, *keyword, *arg, *arg2, *p, ch;
char **cpptr, ***cppptr, fwdarg[256];
u_int i, *uintptr, uvalue, max_entries = 0;
int r, oactive, negated, opcode, *intptr, value, value2, cmdline = 0;
@@ -929,6 +948,9 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host,
struct allowed_cname *cname;
glob_t gl;
const char *errstr;
+ char **oav = NULL, **av;
+ int oac = 0, ac;
+ int ret = -1;
if (activep == NULL) { /* We are processing a command line directive */
cmdline = 1;
@@ -944,46 +966,62 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host,
line[len] = '\0';
}
- s = line;
+ str = line;
/* Get the keyword. (Each line is supposed to begin with a keyword). */
- if ((keyword = strdelim(&s)) == NULL)
+ if ((keyword = strdelim(&str)) == NULL)
return 0;
/* Ignore leading whitespace. */
if (*keyword == '\0')
- keyword = strdelim(&s);
+ keyword = strdelim(&str);
if (keyword == NULL || !*keyword || *keyword == '\n' || *keyword == '#')
return 0;
/* Match lowercase keyword */
lowercase(keyword);
+ /* Prepare to parse remainder of line */
+ if (str != NULL)
+ str += strspn(str, WHITESPACE);
+ if (str == NULL || *str == '\0') {
+ error("%s line %d: no argument after keyword \"%s\"",
+ filename, linenum, keyword);
+ return -1;
+ }
opcode = parse_token(keyword, filename, linenum,
options->ignored_unknown);
+ if (argv_split(str, &oac, &oav, 1) != 0) {
+ error("%s line %d: invalid quotes", filename, linenum);
+ return -1;
+ }
+ ac = oac;
+ av = oav;
switch (opcode) {
case oBadOption:
/* don't panic, but count bad options */
- return -1;
+ goto out;
case oIgnore:
- return 0;
+ argv_consume(&ac);
+ break;
case oIgnoredUnknownOption:
debug("%s line %d: Ignored unknown option \"%s\"",
filename, linenum, keyword);
- return 0;
+ argv_consume(&ac);
+ break;
case oConnectTimeout:
intptr = &options->connection_timeout;
parse_time:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%s line %d: missing time value.",
filename, linenum);
- return -1;
+ goto out;
}
if (strcmp(arg, "none") == 0)
value = -1;
else if ((value = convtime(arg)) == -1) {
error("%s line %d: invalid time value.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep && *intptr == -1)
*intptr = value;
@@ -992,11 +1030,11 @@ parse_time:
case oForwardAgent:
intptr = &options->forward_agent;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%s line %d: missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
value = -1;
@@ -1024,12 +1062,12 @@ parse_time:
parse_flag:
multistate_ptr = multistate_flag;
parse_multistate:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if ((value = parse_multistate_value(arg, filename, linenum,
multistate_ptr)) == -1) {
error("%s line %d: unsupported option \"%s\".",
filename, linenum, arg);
- return -1;
+ goto out;
}
if (*activep && *intptr == -1)
*intptr = value;
@@ -1071,10 +1109,6 @@ parse_time:
intptr = &options->hostbased_authentication;
goto parse_flag;
- case oChallengeResponseAuthentication:
- intptr = &options->challenge_response_authentication;
- goto parse_flag;
-
case oGssAuthentication:
intptr = &options->gss_authentication;
goto parse_flag;
@@ -1119,11 +1153,11 @@ parse_time:
goto parse_int;
case oRekeyLimit:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.", filename,
linenum);
- return -1;
+ goto out;
}
if (strcmp(arg, "default") == 0) {
val64 = 0;
@@ -1131,19 +1165,19 @@ parse_time:
if (scan_scaled(arg, &val64) == -1) {
error("%.200s line %d: Bad number '%s': %s",
filename, linenum, arg, strerror(errno));
- return -1;
+ goto out;
}
if (val64 != 0 && val64 < 16) {
error("%.200s line %d: RekeyLimit too small",
filename, linenum);
- return -1;
+ goto out;
}
}
if (*activep && options->rekey_limit == -1)
options->rekey_limit = val64;
- if (s != NULL) { /* optional rekey interval present */
- if (strcmp(s, "none") == 0) {
- (void)strdelim(&s); /* discard */
+ if (ac != 0) { /* optional rekey interval present */
+ if (strcmp(av[0], "none") == 0) {
+ (void)argv_next(&ac, &av); /* discard */
break;
}
intptr = &options->rekey_interval;
@@ -1152,11 +1186,11 @@ parse_time:
break;
case oIdentityFile:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep) {
intptr = &options->num_identity_files;
@@ -1164,7 +1198,7 @@ parse_time:
error("%.200s line %d: Too many identity files "
"specified (max %d).", filename, linenum,
SSH_MAX_IDENTITY_FILES);
- return -1;
+ goto out;
}
add_identity_file(options, NULL,
arg, flags & SSHCONF_USERCONF);
@@ -1172,11 +1206,11 @@ parse_time:
break;
case oCertificateFile:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep) {
intptr = &options->num_certificate_files;
@@ -1185,7 +1219,7 @@ parse_time:
"files specified (max %d).",
filename, linenum,
SSH_MAX_CERTIFICATE_FILES);
- return -1;
+ goto out;
}
add_certificate_file(options, arg,
flags & SSHCONF_USERCONF);
@@ -1199,11 +1233,11 @@ parse_time:
case oUser:
charptr = &options->user;
parse_string:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep && *charptr == NULL)
*charptr = xstrdup(arg);
@@ -1214,17 +1248,35 @@ parse_string:
uintptr = &options->num_system_hostfiles;
max_entries = SSH_MAX_HOSTS_FILES;
parse_char_array:
- if (*activep && *uintptr == 0) {
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
+ i = 0;
+ value = *uintptr == 0; /* was array empty when we started? */
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
+ /* Allow "none" only in first position */
+ if (strcasecmp(arg, "none") == 0) {
+ if (i > 0 || ac > 0) {
+ error("%s line %d: keyword %s \"none\" "
+ "argument must appear alone.",
+ filename, linenum, keyword);
+ goto out;
+ }
+ }
+ i++;
+ if (*activep && value) {
if ((*uintptr) >= max_entries) {
- error("%s line %d: too many known "
- "hosts files.", filename, linenum);
- return -1;
+ error("%s line %d: too many %s "
+ "entries.", filename, linenum,
+ keyword);
+ goto out;
}
cpptr[(*uintptr)++] = xstrdup(arg);
}
}
- return 0;
+ break;
case oUserKnownHostsFile:
cpptr = (char **)&options->user_hostfiles;
@@ -1270,42 +1322,45 @@ parse_char_array:
if (options->jump_host != NULL)
charptr = &options->jump_host; /* Skip below */
parse_command:
- if (s == NULL) {
+ if (str == NULL) {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
- len = strspn(s, WHITESPACE "=");
+ len = strspn(str, WHITESPACE "=");
if (*activep && *charptr == NULL)
- *charptr = xstrdup(s + len);
- return 0;
+ *charptr = xstrdup(str + len);
+ argv_consume(&ac);
+ break;
case oProxyJump:
- if (s == NULL) {
+ if (str == NULL) {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
- len = strspn(s, WHITESPACE "=");
- if (parse_jump(s + len, options, *activep) == -1) {
+ len = strspn(str, WHITESPACE "=");
+ /* XXX use argv? */
+ if (parse_jump(str + len, options, *activep) == -1) {
error("%.200s line %d: Invalid ProxyJump \"%s\"",
- filename, linenum, s + len);
- return -1;
+ filename, linenum, str + len);
+ goto out;
}
- return 0;
+ argv_consume(&ac);
+ break;
case oPort:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
value = a2port(arg);
if (value <= 0) {
error("%.200s line %d: Bad port '%s'.",
filename, linenum, arg);
- return -1;
+ goto out;
}
if (*activep && options->port == -1)
options->port = value;
@@ -1314,63 +1369,63 @@ parse_command:
case oConnectionAttempts:
intptr = &options->connection_attempts;
parse_int:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if ((errstr = atoi_err(arg, &value)) != NULL) {
error("%s line %d: integer value %s.",
filename, linenum, errstr);
- return -1;
+ goto out;
}
if (*activep && *intptr == -1)
*intptr = value;
break;
case oCiphers:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*arg != '-' &&
!ciphers_valid(*arg == '+' || *arg == '^' ? arg + 1 : arg)){
error("%.200s line %d: Bad SSH2 cipher spec '%s'.",
filename, linenum, arg ? arg : "<NONE>");
- return -1;
+ goto out;
}
if (*activep && options->ciphers == NULL)
options->ciphers = xstrdup(arg);
break;
case oMacs:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*arg != '-' &&
!mac_valid(*arg == '+' || *arg == '^' ? arg + 1 : arg)) {
error("%.200s line %d: Bad SSH2 MAC spec '%s'.",
filename, linenum, arg ? arg : "<NONE>");
- return -1;
+ goto out;
}
if (*activep && options->macs == NULL)
options->macs = xstrdup(arg);
break;
case oKexAlgorithms:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*arg != '-' &&
!kex_names_valid(*arg == '+' || *arg == '^' ?
arg + 1 : arg)) {
error("%.200s line %d: Bad SSH2 KexAlgorithms '%s'.",
filename, linenum, arg ? arg : "<NONE>");
- return -1;
+ goto out;
}
if (*activep && options->kex_algorithms == NULL)
options->kex_algorithms = xstrdup(arg);
@@ -1379,18 +1434,18 @@ parse_int:
case oHostKeyAlgorithms:
charptr = &options->hostkeyalgorithms;
parse_pubkey_algos:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*arg != '-' &&
!sshkey_names_valid2(*arg == '+' || *arg == '^' ?
arg + 1 : arg, 1)) {
error("%s line %d: Bad key types '%s'.",
filename, linenum, arg ? arg : "<NONE>");
- return -1;
+ goto out;
}
if (*activep && *charptr == NULL)
*charptr = xstrdup(arg);
@@ -1402,12 +1457,12 @@ parse_pubkey_algos:
case oLogLevel:
log_level_ptr = &options->log_level;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
value = log_level_number(arg);
if (value == SYSLOG_LEVEL_NOT_SET) {
error("%.200s line %d: unsupported log level '%s'",
filename, linenum, arg ? arg : "<NONE>");
- return -1;
+ goto out;
}
if (*activep && *log_level_ptr == SYSLOG_LEVEL_NOT_SET)
*log_level_ptr = (LogLevel) value;
@@ -1415,12 +1470,12 @@ parse_pubkey_algos:
case oLogFacility:
log_facility_ptr = &options->log_facility;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
value = log_facility_number(arg);
if (value == SYSLOG_FACILITY_NOT_SET) {
error("%.200s line %d: unsupported log facility '%s'",
filename, linenum, arg ? arg : "<NONE>");
- return -1;
+ goto out;
}
if (*log_facility_ptr == -1)
*log_facility_ptr = (SyslogFacility) value;
@@ -1429,37 +1484,53 @@ parse_pubkey_algos:
case oLogVerbose:
cppptr = &options->log_verbose;
uintptr = &options->num_log_verbose;
- if (*activep && *uintptr == 0) {
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
+ i = 0;
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
+ /* Allow "none" only in first position */
+ if (strcasecmp(arg, "none") == 0) {
+ if (i > 0 || ac > 0) {
+ error("%s line %d: keyword %s \"none\" "
+ "argument must appear alone.",
+ filename, linenum, keyword);
+ goto out;
+ }
+ }
+ i++;
+ if (*activep && *uintptr == 0) {
*cppptr = xrecallocarray(*cppptr, *uintptr,
*uintptr + 1, sizeof(**cppptr));
(*cppptr)[(*uintptr)++] = xstrdup(arg);
}
}
- return 0;
+ break;
case oLocalForward:
case oRemoteForward:
case oDynamicForward:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
remotefwd = (opcode == oRemoteForward);
dynamicfwd = (opcode == oDynamicForward);
if (!dynamicfwd) {
- arg2 = strdelim(&s);
+ arg2 = argv_next(&ac, &av);
if (arg2 == NULL || *arg2 == '\0') {
if (remotefwd)
dynamicfwd = 1;
else {
error("%.200s line %d: Missing target "
"argument.", filename, linenum);
- return -1;
+ goto out;
}
} else {
/* construct a string for parse_forward */
@@ -1473,7 +1544,7 @@ parse_pubkey_algos:
if (parse_forward(&fwd, fwdarg, dynamicfwd, remotefwd) == 0) {
error("%.200s line %d: Bad forwarding specification.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep) {
@@ -1488,7 +1559,7 @@ parse_pubkey_algos:
case oPermitRemoteOpen:
uintptr = &options->num_permitted_remote_opens;
cppptr = &options->permitted_remote_opens;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing %s specification",
filename, linenum, lookup_opcode_name(opcode));
@@ -1501,7 +1572,7 @@ parse_pubkey_algos:
}
break;
}
- for (; arg != NULL && *arg != '\0'; arg = strdelim(&s)) {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
arg2 = xstrdup(arg);
ch = '\0';
p = hpdelim2(&arg, &ch);
@@ -1538,13 +1609,20 @@ parse_pubkey_algos:
if (cmdline) {
error("Host directive not supported as a command-line "
"option");
- return -1;
+ goto out;
}
*activep = 0;
arg2 = NULL;
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
- if ((flags & SSHCONF_NEVERMATCH) != 0)
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
+ if ((flags & SSHCONF_NEVERMATCH) != 0) {
+ argv_consume(&ac);
break;
+ }
negated = *arg == '!';
if (negated)
arg++;
@@ -1555,6 +1633,7 @@ parse_pubkey_algos:
"for %.100s", filename, linenum,
arg);
*activep = 0;
+ argv_consume(&ac);
break;
}
if (!*activep)
@@ -1565,33 +1644,39 @@ parse_pubkey_algos:
if (*activep)
debug("%.200s line %d: Applying options for %.100s",
filename, linenum, arg2);
- /* Avoid garbage check below, as strdelim is done. */
- return 0;
+ break;
case oMatch:
if (cmdline) {
error("Host directive not supported as a command-line "
"option");
- return -1;
+ goto out;
}
- value = match_cfg_line(options, &s, pw, host, original_host,
+ value = match_cfg_line(options, &str, pw, host, original_host,
flags & SSHCONF_FINAL, want_final_pass,
filename, linenum);
if (value < 0) {
error("%.200s line %d: Bad Match condition", filename,
linenum);
- return -1;
+ goto out;
}
*activep = (flags & SSHCONF_NEVERMATCH) ? 0 : value;
+ /*
+ * If match_cfg_line() didn't consume all its arguments then
+ * arrange for the extra arguments check below to fail.
+ */
+
+ if (str == NULL || *str == '\0')
+ argv_consume(&ac);
break;
case oEscapeChar:
intptr = &options->escape_char;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (strcmp(arg, "none") == 0)
value = SSH_ESCAPECHAR_NONE;
@@ -1603,7 +1688,7 @@ parse_pubkey_algos:
else {
error("%.200s line %d: Bad escape character.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep && *intptr == -1)
*intptr = value;
@@ -1631,11 +1716,11 @@ parse_pubkey_algos:
goto parse_int;
case oSendEnv:
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
- if (strchr(arg, '=') != NULL) {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0' || strchr(arg, '=') != NULL) {
error("%s line %d: Invalid environment name.",
filename, linenum);
- return -1;
+ goto out;
}
if (!*activep)
continue;
@@ -1648,7 +1733,7 @@ parse_pubkey_algos:
if (options->num_send_env >= INT_MAX) {
error("%s line %d: too many send env.",
filename, linenum);
- return -1;
+ goto out;
}
options->send_env = xrecallocarray(
options->send_env, options->num_send_env,
@@ -1662,11 +1747,11 @@ parse_pubkey_algos:
case oSetEnv:
value = options->num_setenv;
- while ((arg = strdelimw(&s)) != NULL && *arg != '\0') {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
if (strchr(arg, '=') == NULL) {
error("%s line %d: Invalid SetEnv.",
filename, linenum);
- return -1;
+ goto out;
}
if (!*activep || value != 0)
continue;
@@ -1674,7 +1759,7 @@ parse_pubkey_algos:
if (options->num_setenv >= INT_MAX) {
error("%s line %d: too many SetEnv.",
filename, linenum);
- return -1;
+ goto out;
}
options->setenv = xrecallocarray(
options->setenv, options->num_setenv,
@@ -1695,11 +1780,11 @@ parse_pubkey_algos:
case oControlPersist:
/* no/false/yes/true, or a time spec */
intptr = &options->control_persist;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing ControlPersist"
" argument.", filename, linenum);
- return -1;
+ goto out;
}
value = 0;
value2 = 0; /* timeout */
@@ -1712,7 +1797,7 @@ parse_pubkey_algos:
else {
error("%.200s line %d: Bad ControlPersist argument.",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep && *intptr == -1) {
*intptr = value;
@@ -1730,19 +1815,19 @@ parse_pubkey_algos:
goto parse_multistate;
case oTunnelDevice:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
value = a2tun(arg, &value2);
if (value == SSH_TUNID_ERR) {
error("%.200s line %d: Bad tun device.",
filename, linenum);
- return -1;
+ goto out;
}
- if (*activep) {
+ if (*activep && options->tun_local == -1) {
options->tun_local = value;
options->tun_remote = value2;
}
@@ -1768,10 +1853,15 @@ parse_pubkey_algos:
if (cmdline) {
error("Include directive not supported as a "
"command-line option");
- return -1;
+ goto out;
}
value = 0;
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
/*
* Ensure all paths are anchored. User configuration
* files may begin with '~/' but system configurations
@@ -1782,7 +1872,7 @@ parse_pubkey_algos:
if (*arg == '~' && (flags & SSHCONF_USERCONF) == 0) {
error("%.200s line %d: bad include path %s.",
filename, linenum, arg);
- return -1;
+ goto out;
}
if (!path_absolute(arg) && *arg != '~') {
xasprintf(&arg2, "%s/%s",
@@ -1800,7 +1890,7 @@ parse_pubkey_algos:
} else if (r != 0) {
error("%.200s line %d: glob failed for %s.",
filename, linenum, arg2);
- return -1;
+ goto out;
}
free(arg2);
oactive = *activep;
@@ -1819,7 +1909,7 @@ parse_pubkey_algos:
"%.100s: %.100s", gl.gl_pathv[i],
strerror(errno));
globfree(&gl);
- return -1;
+ goto out;
}
/*
* don't let Match in includes clobber the
@@ -1832,25 +1922,25 @@ parse_pubkey_algos:
globfree(&gl);
}
if (value != 0)
- return value;
+ ret = value;
break;
case oIPQoS:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if ((value = parse_ipqos(arg)) == -1) {
error("%s line %d: Bad IPQoS value: %s",
filename, linenum, arg);
- return -1;
+ goto out;
}
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (arg == NULL)
value2 = value;
else if ((value2 = parse_ipqos(arg)) == -1) {
error("%s line %d: Bad IPQoS value: %s",
filename, linenum, arg);
- return -1;
+ goto out;
}
- if (*activep) {
+ if (*activep && options->ip_qos_interactive == -1) {
options->ip_qos_interactive = value;
options->ip_qos_bulk = value2;
}
@@ -1861,6 +1951,19 @@ parse_pubkey_algos:
multistate_ptr = multistate_requesttty;
goto parse_multistate;
+ case oSessionType:
+ intptr = &options->session_type;
+ multistate_ptr = multistate_sessiontype;
+ goto parse_multistate;
+
+ case oStdinNull:
+ intptr = &options->stdin_null;
+ goto parse_flag;
+
+ case oForkAfterAuthentication:
+ intptr = &options->fork_after_authentication;
+ goto parse_flag;
+
case oIgnoreUnknown:
charptr = &options->ignored_unknown;
goto parse_string;
@@ -1871,11 +1974,27 @@ parse_pubkey_algos:
case oCanonicalDomains:
value = options->num_canonical_domains != 0;
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
+ i = 0;
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
+ /* Allow "none" only in first position */
+ if (strcasecmp(arg, "none") == 0) {
+ if (i > 0 || ac > 0) {
+ error("%s line %d: keyword %s \"none\" "
+ "argument must appear alone.",
+ filename, linenum, keyword);
+ goto out;
+ }
+ }
+ i++;
if (!valid_domain(arg, 1, &errstr)) {
error("%s line %d: %s", filename, linenum,
errstr);
- return -1;
+ goto out;
}
if (!*activep || value)
continue;
@@ -1883,7 +2002,7 @@ parse_pubkey_algos:
MAX_CANON_DOMAINS) {
error("%s line %d: too many hostname suffixes.",
filename, linenum);
- return -1;
+ goto out;
}
options->canonical_domains[
options->num_canonical_domains++] = xstrdup(arg);
@@ -1892,7 +2011,7 @@ parse_pubkey_algos:
case oCanonicalizePermittedCNAMEs:
value = options->num_permitted_cnames != 0;
- while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
/* Either '*' for everything or 'list:list' */
if (strcmp(arg, "*") == 0)
arg2 = arg;
@@ -1903,7 +2022,7 @@ parse_pubkey_algos:
error("%s line %d: "
"Invalid permitted CNAME \"%s\"",
filename, linenum, arg);
- return -1;
+ goto out;
}
*arg2 = '\0';
arg2++;
@@ -1914,7 +2033,7 @@ parse_pubkey_algos:
MAX_CANON_DOMAINS) {
error("%s line %d: too many permitted CNAMEs.",
filename, linenum);
- return -1;
+ goto out;
}
cname = options->permitted_cnames +
options->num_permitted_cnames++;
@@ -1937,17 +2056,17 @@ parse_pubkey_algos:
goto parse_flag;
case oStreamLocalBindMask:
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing StreamLocalBindMask "
"argument.", filename, linenum);
- return -1;
+ goto out;
}
/* Parse mode in octal format */
value = strtol(arg, &endofnumber, 8);
if (arg == endofnumber || value < 0 || value > 0777) {
error("%.200s line %d: Bad mask.", filename, linenum);
- return -1;
+ goto out;
}
options->fwd_opts.streamlocal_bind_mask = (mode_t)value;
break;
@@ -1962,16 +2081,16 @@ parse_pubkey_algos:
case oFingerprintHash:
intptr = &options->fingerprint_hash;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
if ((value = ssh_digest_alg_by_name(arg)) == -1) {
error("%.200s line %d: Invalid hash algorithm \"%s\".",
filename, linenum, arg);
- return -1;
+ goto out;
}
if (*activep && *intptr == -1)
*intptr = value;
@@ -1991,8 +2110,8 @@ parse_pubkey_algos:
goto parse_pubkey_algos;
case oAddKeysToAgent:
- arg = strdelim(&s);
- arg2 = strdelim(&s);
+ arg = argv_next(&ac, &av);
+ arg2 = argv_next(&ac, &av);
value = parse_multistate_value(arg, filename, linenum,
multistate_yesnoaskconfirm);
value2 = 0; /* unlimited lifespan by default */
@@ -2002,20 +2121,20 @@ parse_pubkey_algos:
value2 > INT_MAX) {
error("%s line %d: invalid time value.",
filename, linenum);
- return -1;
+ goto out;
}
} else if (value == -1 && arg2 == NULL) {
if ((value2 = convtime(arg)) == -1 ||
value2 > INT_MAX) {
error("%s line %d: unsupported option",
filename, linenum);
- return -1;
+ goto out;
}
value = 1; /* yes */
} else if (value == -1 || arg2 != NULL) {
error("%s line %d: unsupported option",
filename, linenum);
- return -1;
+ goto out;
}
if (*activep && options->add_keys_to_agent == -1) {
options->add_keys_to_agent = value;
@@ -2025,18 +2144,18 @@ parse_pubkey_algos:
case oIdentityAgent:
charptr = &options->identity_agent;
- arg = strdelim(&s);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0') {
error("%.200s line %d: Missing argument.",
filename, linenum);
- return -1;
+ goto out;
}
parse_agent_path:
/* Extra validation if the string represents an env var. */
if ((arg2 = dollar_expand(&r, arg)) == NULL || r) {
error("%.200s line %d: Invalid environment expansion "
"%s.", filename, linenum, arg);
- return -1;
+ goto out;
}
free(arg2);
/* check for legacy environment format */
@@ -2044,7 +2163,7 @@ parse_pubkey_algos:
!valid_env_name(arg + 1)) {
error("%.200s line %d: Invalid environment name %s.",
filename, linenum, arg);
- return -1;
+ goto out;
}
if (*activep && *charptr == NULL)
*charptr = xstrdup(arg);
@@ -2053,25 +2172,33 @@ parse_pubkey_algos:
case oDeprecated:
debug("%s line %d: Deprecated option \"%s\"",
filename, linenum, keyword);
- return 0;
+ argv_consume(&ac);
+ break;
case oUnsupported:
error("%s line %d: Unsupported option \"%s\"",
filename, linenum, keyword);
- return 0;
+ argv_consume(&ac);
+ break;
default:
error("%s line %d: Unimplemented opcode %d",
filename, linenum, opcode);
+ goto out;
}
/* Check that there is no garbage at end of line. */
- if ((arg = strdelim(&s)) != NULL && *arg != '\0') {
- error("%.200s line %d: garbage at end of line; \"%.200s\".",
- filename, linenum, arg);
- return -1;
+ if (ac > 0) {
+ error("%.200s line %d: keyword %s extra arguments "
+ "at end of line", filename, linenum, keyword);
+ goto out;
}
- return 0;
+
+ /* success */
+ ret = 0;
+ out:
+ argv_free(oav, oac);
+ return ret;
}
/*
@@ -2097,7 +2224,7 @@ read_config_file_depth(const char *filename, struct passwd *pw,
int flags, int *activep, int *want_final_pass, int depth)
{
FILE *f;
- char *cp, *line = NULL;
+ char *line = NULL;
size_t linesize = 0;
int linenum;
int bad_options = 0;
@@ -2133,8 +2260,6 @@ read_config_file_depth(const char *filename, struct passwd *pw,
* NB - preserve newlines, they are needed to reproduce
* line numbers later for error messages.
*/
- if ((cp = strchr(line, '#')) != NULL)
- *cp = '\0';
if (process_config_line_depth(options, pw, host, original_host,
line, filename, linenum, activep, flags, want_final_pass,
depth) != 0)
@@ -2180,7 +2305,6 @@ initialize_options(Options * options)
options->fwd_opts.streamlocal_bind_mask = (mode_t)-1;
options->fwd_opts.streamlocal_bind_unlink = -1;
options->pubkey_authentication = -1;
- options->challenge_response_authentication = -1;
options->gss_authentication = -1;
options->gss_deleg_creds = -1;
options->password_authentication = -1;
@@ -2262,6 +2386,9 @@ initialize_options(Options * options)
options->ip_qos_interactive = -1;
options->ip_qos_bulk = -1;
options->request_tty = -1;
+ options->session_type = -1;
+ options->stdin_null = -1;
+ options->fork_after_authentication = -1;
options->proxy_use_fdpass = -1;
options->ignored_unknown = NULL;
options->num_canonical_domains = 0;
@@ -2334,8 +2461,6 @@ fill_default_options(Options * options)
options->fwd_opts.streamlocal_bind_unlink = 0;
if (options->pubkey_authentication == -1)
options->pubkey_authentication = 1;
- if (options->challenge_response_authentication == -1)
- options->challenge_response_authentication = 1;
if (options->gss_authentication == -1)
options->gss_authentication = 0;
if (options->gss_deleg_creds == -1)
@@ -2450,6 +2575,12 @@ fill_default_options(Options * options)
options->ip_qos_bulk = IPTOS_DSCP_CS1;
if (options->request_tty == -1)
options->request_tty = REQUEST_TTY_AUTO;
+ if (options->session_type == -1)
+ options->session_type = SESSION_TYPE_DEFAULT;
+ if (options->stdin_null == -1)
+ options->stdin_null = 0;
+ if (options->fork_after_authentication == -1)
+ options->fork_after_authentication = 0;
if (options->proxy_use_fdpass == -1)
options->proxy_use_fdpass = 0;
if (options->canonicalize_max_dots == -1)
@@ -2812,7 +2943,10 @@ parse_forward(struct Forward *fwd, const char *fwdspec, int dynamicfwd, int remo
if (fwd->connect_host != NULL &&
strlen(fwd->connect_host) >= NI_MAXHOST)
goto fail_free;
- /* XXX - if connecting to a remote socket, max sun len may not match this host */
+ /*
+ * XXX - if connecting to a remote socket, max sun len may not
+ * match this host
+ */
if (fwd->connect_path != NULL &&
strlen(fwd->connect_path) >= PATH_MAX_SUN)
goto fail_free;
@@ -2847,6 +2981,12 @@ parse_jump(const char *s, Options *o, int active)
active &= o->proxy_command == NULL && o->jump_host == NULL;
orig = sdup = xstrdup(s);
+
+ /* Remove comment and trailing whitespace */
+ if ((cp = strchr(orig, '#')) != NULL)
+ *cp = '\0';
+ rtrim(orig);
+
first = active;
do {
if (strcasecmp(s, "none") == 0)
@@ -2955,6 +3095,8 @@ fmt_intarg(OpCodes code, int val)
return fmt_multistate_int(val, multistate_tunnel);
case oRequestTTY:
return fmt_multistate_int(val, multistate_requesttty);
+ case oSessionType:
+ return fmt_multistate_int(val, multistate_sessiontype);
case oCanonicalizeHostname:
return fmt_multistate_int(val, multistate_canonicalizehostname);
case oAddKeysToAgent:
@@ -3019,6 +3161,8 @@ dump_cfg_strarray_oneline(OpCodes code, u_int count, char **vals)
u_int i;
printf("%s", lookup_opcode_name(code));
+ if (count == 0)
+ printf(" none");
for (i = 0; i < count; i++)
printf(" %s", vals[i]);
printf("\n");
@@ -3090,7 +3234,6 @@ dump_client_config(Options *o, const char *host)
dump_cfg_fmtint(oBatchMode, o->batch_mode);
dump_cfg_fmtint(oCanonicalizeFallbackLocal, o->canonicalize_fallback_local);
dump_cfg_fmtint(oCanonicalizeHostname, o->canonicalize_hostname);
- dump_cfg_fmtint(oChallengeResponseAuthentication, o->challenge_response_authentication);
dump_cfg_fmtint(oCheckHostIP, o->check_host_ip);
dump_cfg_fmtint(oCompression, o->compression);
dump_cfg_fmtint(oControlMaster, o->control_master);
@@ -3115,6 +3258,9 @@ dump_client_config(Options *o, const char *host)
dump_cfg_fmtint(oProxyUseFdpass, o->proxy_use_fdpass);
dump_cfg_fmtint(oPubkeyAuthentication, o->pubkey_authentication);
dump_cfg_fmtint(oRequestTTY, o->request_tty);
+ dump_cfg_fmtint(oSessionType, o->session_type);
+ dump_cfg_fmtint(oStdinNull, o->stdin_null);
+ dump_cfg_fmtint(oForkAfterAuthentication, o->fork_after_authentication);
dump_cfg_fmtint(oStreamLocalBindUnlink, o->fwd_opts.streamlocal_bind_unlink);
dump_cfg_fmtint(oStrictHostKeyChecking, o->strict_host_key_checking);
dump_cfg_fmtint(oTCPKeepAlive, o->tcp_keep_alive);
diff --git a/readconf.h b/readconf.h
index 2fba866eb53a..f7d53b067604 100644
--- a/readconf.h
+++ b/readconf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.h,v 1.140 2021/02/15 20:43:15 markus Exp $ */
+/* $OpenBSD: readconf.h,v 1.144 2021/07/23 04:04:52 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -38,8 +38,6 @@ typedef struct {
struct ForwardOptions fwd_opts; /* forwarding options */
int pubkey_authentication; /* Try ssh2 pubkey authentication. */
int hostbased_authentication; /* ssh2's rhosts_rsa */
- int challenge_response_authentication;
- /* Try S/Key or TIS, authentication. */
int gss_authentication; /* Try GSS authentication */
int gss_deleg_creds; /* Delegate GSS credentials */
int password_authentication; /* Try password
@@ -148,6 +146,9 @@ typedef struct {
int visual_host_key;
int request_tty;
+ int session_type;
+ int stdin_null;
+ int fork_after_authentication;
int proxy_use_fdpass;
@@ -193,6 +194,10 @@ typedef struct {
#define REQUEST_TTY_YES 2
#define REQUEST_TTY_FORCE 3
+#define SESSION_TYPE_NONE 0
+#define SESSION_TYPE_SUBSYSTEM 1
+#define SESSION_TYPE_DEFAULT 2
+
#define SSHCONF_CHECKPERM 1 /* check permissions on config file */
#define SSHCONF_USERCONF 2 /* user provided config file not system */
#define SSHCONF_FINAL 4 /* Final pass over config, after canon. */
diff --git a/readpass.c b/readpass.c
index 9c7476c13f2a..39af25c88729 100644
--- a/readpass.c
+++ b/readpass.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: readpass.c,v 1.68 2020/11/10 07:46:20 claudio Exp $ */
+/* $OpenBSD: readpass.c,v 1.69 2021/07/23 05:56:47 djm Exp $ */
/*
* Copyright (c) 2001 Markus Friedl. All rights reserved.
*
@@ -117,7 +117,7 @@ ssh_askpass(char *askpass, const char *msg, const char *env_hint)
* Reads a passphrase from /dev/tty with echo turned off/on. Returns the
* passphrase (allocated with xmalloc). Exits if EOF is encountered. If
* RP_ALLOW_STDIN is set, the passphrase will be read from stdin if no
- * tty is available
+ * tty is or askpass program is available
*/
char *
read_passphrase(const char *prompt, int flags)
@@ -146,7 +146,7 @@ read_passphrase(const char *prompt, int flags)
use_askpass = 1;
else if (flags & RP_ALLOW_STDIN) {
if (!isatty(STDIN_FILENO)) {
- debug("read_passphrase: stdin is not a tty");
+ debug_f("stdin is not a tty");
use_askpass = 1;
}
} else {
@@ -162,7 +162,7 @@ read_passphrase(const char *prompt, int flags)
(void)write(ttyfd, &cr, 1);
close(ttyfd);
} else {
- debug("read_passphrase: can't open %s: %s", _PATH_TTY,
+ debug_f("can't open %s: %s", _PATH_TTY,
strerror(errno));
use_askpass = 1;
}
diff --git a/regress/Makefile b/regress/Makefile
index ced21a11d698..810d74ce599d 100644
--- a/regress/Makefile
+++ b/regress/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.110 2020/12/22 06:03:36 djm Exp $
+# $OpenBSD: Makefile,v 1.116 2021/08/04 21:28:00 djm Exp $
tests: prep file-tests t-exec unit
@@ -21,6 +21,7 @@ distclean: clean
LTESTS= connect \
proxy-connect \
+ sshfp-connect \
connect-privsep \
connect-uri \
proto-version \
@@ -44,10 +45,14 @@ LTESTS= connect \
agent-subprocess \
keyscan \
keygen-change \
+ keygen-comment \
keygen-convert \
+ keygen-knownhosts \
keygen-moduli \
+ keygen-sshfp \
key-options \
scp \
+ scp3 \
scp-uri \
sftp \
sftp-chroot \
@@ -84,7 +89,6 @@ LTESTS= connect \
multipubkey \
limit-keytype \
hostkey-agent \
- keygen-knownhosts \
hostkey-rotate \
principals-command \
cert-file \
@@ -93,7 +97,6 @@ LTESTS= connect \
allow-deny-users \
authinfo \
sshsig \
- keygen-comment \
knownhosts-command
@@ -115,7 +118,7 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \
host.ecdsa-sha2-nistp521 host.ssh-dss host.ssh-ed25519 \
host.ssh-rsa host_ca_key* host_krl_* host_revoked_* key.* \
key.dsa-* key.ecdsa-* key.ed25519-512 \
- key.ed25519-512.pub key.rsa-* keys-command-args kh.* \
+ key.ed25519-512.pub key.rsa-* keys-command-args kh.* askpass \
known_hosts known_hosts-cert known_hosts.* krl-* ls.copy \
modpipe netcat no_identity_config \
pidfile putty.rsa2 ready regress.log remote_pid \
diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh
index 524340816fd3..ddeef01f1b73 100644
--- a/regress/agent-getpeereid.sh
+++ b/regress/agent-getpeereid.sh
@@ -15,7 +15,7 @@ else
fi
case "x$SUDO" in
xsudo) sudo=1;;
- xdoas) ;;
+ xdoas|xdoas\ *) ;;
x)
echo "need SUDO to switch to uid $UNPRIV"
echo SKIPPED
diff --git a/regress/agent-pkcs11.sh b/regress/agent-pkcs11.sh
index fbbaea5186db..268a70de8885 100644
--- a/regress/agent-pkcs11.sh
+++ b/regress/agent-pkcs11.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: agent-pkcs11.sh,v 1.7 2019/11/26 23:43:10 djm Exp $
+# $OpenBSD: agent-pkcs11.sh,v 1.9 2021/07/25 12:13:03 dtucker Exp $
# Placed in the Public Domain.
tid="pkcs11 agent test"
@@ -62,16 +62,16 @@ notty() {
trace "generating keys"
RSA=${DIR}/RSA
EC=${DIR}/EC
-openssl genpkey -algorithm rsa > $RSA
-openssl pkcs8 -nocrypt -in $RSA |\
+$OPENSSL_BIN genpkey -algorithm rsa > $RSA
+$OPENSSL_BIN pkcs8 -nocrypt -in $RSA |\
softhsm2-util --slot "$slot" --label 01 --id 01 --pin "$TEST_SSH_PIN" --import /dev/stdin
-openssl genpkey \
+$OPENSSL_BIN genpkey \
-genparam \
-algorithm ec \
-pkeyopt ec_paramgen_curve:prime256v1 |\
- openssl genpkey \
+ $OPENSSL_BIN genpkey \
-paramfile /dev/stdin > $EC
-openssl pkcs8 -nocrypt -in $EC |\
+$OPENSSL_BIN pkcs8 -nocrypt -in $EC |\
softhsm2-util --slot "$slot" --label 02 --id 02 --pin "$TEST_SSH_PIN" --import /dev/stdin
trace "start agent"
diff --git a/regress/allow-deny-users.sh b/regress/allow-deny-users.sh
index 5c389512247c..6c053eef0882 100644
--- a/regress/allow-deny-users.sh
+++ b/regress/allow-deny-users.sh
@@ -1,6 +1,6 @@
# Public Domain
# Zev Weiss, 2016
-# $OpenBSD: allow-deny-users.sh,v 1.5 2018/07/13 02:13:50 djm Exp $
+# $OpenBSD: allow-deny-users.sh,v 1.6 2021/06/07 00:00:50 djm Exp $
tid="AllowUsers/DenyUsers"
@@ -20,10 +20,8 @@ test_auth()
failmsg="$4"
cp $OBJ/sshd_proxy.orig $OBJ/sshd_proxy
- echo DenyUsers="$deny" >> $OBJ/sshd_proxy
- echo AllowUsers="$allow" >> $OBJ/sshd_proxy
-
- start_sshd -oDenyUsers="$deny" -oAllowUsers="$allow"
+ test -z "$deny" || echo DenyUsers="$deny" >> $OBJ/sshd_proxy
+ test -z "$allow" || echo AllowUsers="$allow" >> $OBJ/sshd_proxy
${SSH} -F $OBJ/ssh_proxy "$me@somehost" true
status=$?
diff --git a/regress/banner.sh b/regress/banner.sh
index 0d9654fe247a..a84feb5ad7c1 100644
--- a/regress/banner.sh
+++ b/regress/banner.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: banner.sh,v 1.3 2017/04/30 23:34:55 djm Exp $
+# $OpenBSD: banner.sh,v 1.4 2021/08/08 06:38:33 dtucker Exp $
# Placed in the Public Domain.
tid="banner"
@@ -37,7 +37,9 @@ done
trace "test suppress banner (-q)"
verbose "test $tid: suppress banner (-q)"
-( ${SSH} -q -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
+# ssh-log-wrapper drops "-q" to preserve debug output so use ssh directly
+# for just this test.
+( ${REAL_SSH} -q -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
cmp $OBJ/empty.in $OBJ/banner.out ) || \
fail "suppress banner (-q)"
diff --git a/regress/cert-hostkey.sh b/regress/cert-hostkey.sh
index ebf6c903925c..de8652b0e5e2 100644
--- a/regress/cert-hostkey.sh
+++ b/regress/cert-hostkey.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: cert-hostkey.sh,v 1.24 2021/02/25 03:27:34 djm Exp $
+# $OpenBSD: cert-hostkey.sh,v 1.25 2021/06/08 22:30:27 djm Exp $
# Placed in the Public Domain.
tid="certified host keys"
@@ -283,11 +283,17 @@ for ktype in $PLAIN_TYPES ; do
) > $OBJ/sshd_proxy
${SSH} -oUserKnownHostsFile=$OBJ/known_hosts-cert \
- -oGlobalKnownHostsFile=$OBJ/known_hosts-cert \
- -F $OBJ/ssh_proxy somehost true
+ -oGlobalKnownHostsFile=none -F $OBJ/ssh_proxy somehost true
if [ $? -ne 0 ]; then
fail "ssh cert connect failed"
fi
+ # Also check that it works when the known_hosts file is not in the
+ # first array position.
+ ${SSH} -oUserKnownHostsFile="/dev/null $OBJ/known_hosts-cert" \
+ -oGlobalKnownHostsFile=none -F $OBJ/ssh_proxy somehost true
+ if [ $? -ne 0 ]; then
+ fail "ssh cert connect failed known_hosts 2nd"
+ fi
done
# Wrong certificate
diff --git a/regress/cfginclude.sh b/regress/cfginclude.sh
index 2fc39ce45b8a..f5b492f17867 100644
--- a/regress/cfginclude.sh
+++ b/regress/cfginclude.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: cfginclude.sh,v 1.2 2016/05/03 15:30:46 dtucker Exp $
+# $OpenBSD: cfginclude.sh,v 1.3 2021/06/08 06:52:43 djm Exp $
# Placed in the Public Domain.
tid="config include"
@@ -10,7 +10,7 @@ cat > $OBJ/ssh_config.i << _EOF
Match host a
Hostname aa
-Match host b
+Match host b # comment
Hostname bb
Include $OBJ/ssh_config.i.*
@@ -19,10 +19,10 @@ Match host c
Hostname cc
Match host m
- Include $OBJ/ssh_config.i.*
+ Include $OBJ/ssh_config.i.* # comment
Host d
- Hostname dd
+ Hostname dd # comment
Host e
Hostname ee
@@ -47,17 +47,17 @@ Match host a
Match host b
Hostname bbb
-Match host c
+Match host c # comment
Hostname ccc
-Host d
+Host d # comment
Hostname ddd
Host e
Hostname eee
Host f
- Hostname fff
+ Hostname fff # comment
_EOF
cat > $OBJ/ssh_config.i.2 << _EOF
@@ -142,7 +142,7 @@ trial a aa
# cleanup
rm -f $OBJ/ssh_config.i $OBJ/ssh_config.i.* $OBJ/ssh_config.out
-# $OpenBSD: cfginclude.sh,v 1.2 2016/05/03 15:30:46 dtucker Exp $
+# $OpenBSD: cfginclude.sh,v 1.3 2021/06/08 06:52:43 djm Exp $
# Placed in the Public Domain.
tid="config include"
@@ -185,11 +185,11 @@ cat > $OBJ/ssh_config.i.1 << _EOF
Match host a
Hostname aaa
-Match host b
+Match host b # comment
Hostname bbb
Match host c
- Hostname ccc
+ Hostname ccc # comment
Host d
Hostname ddd
@@ -220,8 +220,8 @@ Host e
Host f
Hostname ffff
-Match all
- Hostname xxxx
+Match all # comment
+ Hostname xxxx # comment
_EOF
trial() {
diff --git a/regress/cfgmatch.sh b/regress/cfgmatch.sh
index 6620c84ed983..05a6668551a9 100644
--- a/regress/cfgmatch.sh
+++ b/regress/cfgmatch.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: cfgmatch.sh,v 1.12 2019/04/18 18:57:16 dtucker Exp $
+# $OpenBSD: cfgmatch.sh,v 1.13 2021/06/08 06:52:43 djm Exp $
# Placed in the Public Domain.
tid="sshd_config match"
@@ -39,16 +39,16 @@ stop_client()
}
cp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak
-echo "PermitOpen 127.0.0.1:1" >>$OBJ/sshd_config
+echo "PermitOpen 127.0.0.1:1 # comment" >>$OBJ/sshd_config
echo "Match Address 127.0.0.1" >>$OBJ/sshd_config
echo "PermitOpen 127.0.0.1:2 127.0.0.1:3 127.0.0.1:$PORT" >>$OBJ/sshd_config
grep -v AuthorizedKeysFile $OBJ/sshd_proxy_bak > $OBJ/sshd_proxy
-echo "AuthorizedKeysFile /dev/null" >>$OBJ/sshd_proxy
+echo "AuthorizedKeysFile /dev/null # comment" >>$OBJ/sshd_proxy
echo "PermitOpen 127.0.0.1:1" >>$OBJ/sshd_proxy
echo "Match user $USER" >>$OBJ/sshd_proxy
echo "AuthorizedKeysFile /dev/null $OBJ/authorized_keys_%u" >>$OBJ/sshd_proxy
-echo "Match Address 127.0.0.1" >>$OBJ/sshd_proxy
+echo "Match Address 127.0.0.1 # comment" >>$OBJ/sshd_proxy
echo "PermitOpen 127.0.0.1:2 127.0.0.1:3 127.0.0.1:$PORT" >>$OBJ/sshd_proxy
${SUDO} ${SSHD} -f $OBJ/sshd_config -T >/dev/null || \
diff --git a/regress/ed25519_openssh.prv b/regress/ed25519_openssh.prv
new file mode 100644
index 000000000000..9f191b778962
--- /dev/null
+++ b/regress/ed25519_openssh.prv
@@ -0,0 +1,7 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+QyNTUxOQAAACDE8/0FM7Yw6xc53QpiZUQAh/LK2mEAwNDNYdSR6GIGIwAAAKC+Cfdzvgn3
+cwAAAAtzc2gtZWQyNTUxOQAAACDE8/0FM7Yw6xc53QpiZUQAh/LK2mEAwNDNYdSR6GIGIw
+AAAEBm+60DgH0WMW7Z5oyvu1dxo7MaXe5RRMWTMJCfLkHexMTz/QUztjDrFzndCmJlRACH
+8sraYQDA0M1h1JHoYgYjAAAAGWR0dWNrZXJAcXVvbGwuZHR1Y2tlci5uZXQBAgME
+-----END OPENSSH PRIVATE KEY-----
diff --git a/regress/ed25519_openssh.pub b/regress/ed25519_openssh.pub
new file mode 100644
index 000000000000..910363138658
--- /dev/null
+++ b/regress/ed25519_openssh.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMTz/QUztjDrFzndCmJlRACH8sraYQDA0M1h1JHoYgYj
diff --git a/regress/forward-control.sh b/regress/forward-control.sh
index 3b1f69a71e56..02f7667a665b 100644
--- a/regress/forward-control.sh
+++ b/regress/forward-control.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: forward-control.sh,v 1.7 2018/06/07 14:29:43 djm Exp $
+# $OpenBSD: forward-control.sh,v 1.8 2021/05/07 09:23:40 dtucker Exp $
# Placed in the Public Domain.
tid="sshd control of local and remote forwarding"
@@ -46,7 +46,7 @@ check_lfwd() {
wait_for_file_to_appear $READY || \
fatal "check_lfwd ssh fail: $_message"
${SSH} -F $OBJ/ssh_config -p $LFWD_PORT \
- -oConnectionAttempts=4 host true >/dev/null 2>&1
+ -oConnectionAttempts=10 host true >/dev/null 2>&1
_result=$?
kill $_sshpid `cat $READY` 2>/dev/null
wait_for_process_to_exit $_sshpid
@@ -76,7 +76,7 @@ check_rfwd() {
_result=$?
if test $_result -eq 0 ; then
${SSH} -F $OBJ/ssh_config -p $RFWD_PORT \
- -oConnectionAttempts=4 host true >/dev/null 2>&1
+ -oConnectionAttempts=10 host true >/dev/null 2>&1
_result=$?
kill $_sshpid `cat $READY` 2>/dev/null
wait_for_process_to_exit $_sshpid
diff --git a/regress/forwarding.sh b/regress/forwarding.sh
index cd634f2f65d1..a72bd3a05cfa 100644
--- a/regress/forwarding.sh
+++ b/regress/forwarding.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: forwarding.sh,v 1.23 2019/07/20 09:50:58 dtucker Exp $
+# $OpenBSD: forwarding.sh,v 1.24 2021/05/07 09:23:40 dtucker Exp $
# Placed in the Public Domain.
tid="local and remote forwarding"
@@ -29,7 +29,7 @@ rm -f $CTL
${SSH} -S $CTL -N -M -F $OBJ/ssh_config -f $fwd somehost
trace "transfer over forwarded channels and check result"
-${SSH} -F $OBJ/ssh_config -p$last -o 'ConnectionAttempts=4' \
+${SSH} -F $OBJ/ssh_config -p$last -o 'ConnectionAttempts=10' \
somehost cat ${DATA} > ${COPY}
test -s ${COPY} || fail "failed copy of ${DATA}"
cmp ${DATA} ${COPY} || fail "corrupted copy of ${DATA}"
@@ -110,7 +110,7 @@ rm -f $CTL
${SSH} -S $CTL -N -M -F $OBJ/ssh_config -f somehost
trace "config file: transfer over forwarded channels and check result"
-${SSH} -F $OBJ/ssh_config -p${base}02 -o 'ConnectionAttempts=4' \
+${SSH} -F $OBJ/ssh_config -p${base}02 -o 'ConnectionAttempts=10' \
somehost cat ${DATA} > ${COPY}
test -s ${COPY} || fail "failed copy of ${DATA}"
cmp ${DATA} ${COPY} || fail "corrupted copy of ${DATA}"
@@ -124,7 +124,7 @@ ${SSH} -S $CTL -N -M -f -F $OBJ/ssh_config -R${base}01:[$OBJ/unix-1.fwd] somehos
${SSH} -S $CTL.1 -N -M -f -F $OBJ/ssh_config -L[$OBJ/unix-1.fwd]:[$OBJ/unix-2.fwd] somehost
${SSH} -S $CTL.2 -N -M -f -F $OBJ/ssh_config -R[$OBJ/unix-2.fwd]:[$OBJ/unix-3.fwd] somehost
${SSH} -S $CTL.3 -N -M -f -F $OBJ/ssh_config -L[$OBJ/unix-3.fwd]:127.0.0.1:$PORT somehost
-${SSH} -F $OBJ/ssh_config -p${base}01 -o 'ConnectionAttempts=4' \
+${SSH} -F $OBJ/ssh_config -p${base}01 -o 'ConnectionAttempts=10' \
somehost cat ${DATA} > ${COPY}
test -s ${COPY} || fail "failed copy ${DATA}"
cmp ${DATA} ${COPY} || fail "corrupted copy of ${DATA}"
diff --git a/regress/keygen-convert.sh b/regress/keygen-convert.sh
index fce110ea153c..95656581c5b1 100644
--- a/regress/keygen-convert.sh
+++ b/regress/keygen-convert.sh
@@ -1,40 +1,54 @@
-# $OpenBSD: keygen-convert.sh,v 1.2 2019/07/23 07:55:29 dtucker Exp $
+# $OpenBSD: keygen-convert.sh,v 1.6 2021/07/24 02:57:28 dtucker Exp $
# Placed in the Public Domain.
tid="convert keys"
-types=""
-for i in ${SSH_KEYTYPES}; do
- case "$i" in
- ssh-dss) types="$types dsa" ;;
- ssh-rsa) types="$types rsa" ;;
- esac
-done
+cat > $OBJ/askpass <<EOD
+#!/bin/sh
+echo hunter2
+EOD
+chmod u+x $OBJ/askpass
+
+if ${SSHKEYGEN} -? 2>&1 | grep "ssh-keygen -e" >/dev/null; then
+ test_import_export=1
+fi
-for t in $types; do
+for t in ${SSH_KEYTYPES}; do
# generate user key for agent
trace "generating $t key"
rm -f $OBJ/$t-key
${SSHKEYGEN} -q -N "" -t $t -f $OBJ/$t-key
- trace "export $t private to rfc4716 public"
- ${SSHKEYGEN} -q -e -f $OBJ/$t-key >$OBJ/$t-key-rfc || \
- fail "export $t private to rfc4716 public"
+ if test "x$test_import_export" = "x1"; then
+ trace "export $t private to rfc4716 public"
+ ${SSHKEYGEN} -q -e -f $OBJ/$t-key >$OBJ/$t-key-rfc || \
+ fail "export $t private to rfc4716 public"
+
+ trace "export $t public to rfc4716 public"
+ ${SSHKEYGEN} -q -e -f $OBJ/$t-key.pub >$OBJ/$t-key-rfc.pub || \
+ fail "$t public to rfc4716 public"
+
+ cmp $OBJ/$t-key-rfc $OBJ/$t-key-rfc.pub || \
+ fail "$t rfc4716 exports differ between public and private"
- trace "export $t public to rfc4716 public"
- ${SSHKEYGEN} -q -e -f $OBJ/$t-key.pub >$OBJ/$t-key-rfc.pub || \
- fail "$t public to rfc4716 public"
+ trace "import $t rfc4716 public"
+ ${SSHKEYGEN} -q -i -f $OBJ/$t-key-rfc >$OBJ/$t-rfc-imported || \
+ fail "$t import rfc4716 public"
- cmp $OBJ/$t-key-rfc $OBJ/$t-key-rfc.pub || \
- fail "$t rfc4716 exports differ between public and private"
+ cut -f1,2 -d " " $OBJ/$t-key.pub >$OBJ/$t-key-nocomment.pub
+ cmp $OBJ/$t-key-nocomment.pub $OBJ/$t-rfc-imported || \
+ fail "$t imported differs from original"
+ fi
- trace "import $t rfc4716 public"
- ${SSHKEYGEN} -q -i -f $OBJ/$t-key-rfc >$OBJ/$t-rfc-imported || \
- fail "$t import rfc4716 public"
+ trace "set passphrase $t"
+ ${SSHKEYGEN} -q -p -P '' -N 'hunter2' -f $OBJ/$t-key >/dev/null || \
+ fail "$t set passphrase failed"
- cut -f1,2 -d " " $OBJ/$t-key.pub >$OBJ/$t-key-nocomment.pub
- cmp $OBJ/$t-key-nocomment.pub $OBJ/$t-rfc-imported || \
- fail "$t imported differs from original"
+ trace "export $t to public with passphrase"
+ SSH_ASKPASS=$OBJ/askpass SSH_ASKPASS_REQUIRE=force \
+ ${SSHKEYGEN} -y -f $OBJ/$t-key >$OBJ/$t-key-nocomment.pub
+ cmp $OBJ/$t-key.pub $OBJ/$t-key-nocomment.pub || \
+ fail "$t exported pubkey differs from generated"
rm -f $OBJ/$t-key $OBJ/$t-key.pub $OBJ/$t-key-rfc $OBJ/$t-key-rfc.pub \
$OBJ/$t-rfc-imported $OBJ/$t-key-nocomment.pub
diff --git a/regress/keygen-sshfp.sh b/regress/keygen-sshfp.sh
new file mode 100644
index 000000000000..2abf9adecac7
--- /dev/null
+++ b/regress/keygen-sshfp.sh
@@ -0,0 +1,29 @@
+# $OpenBSD: keygen-sshfp.sh,v 1.2 2021/07/19 02:29:28 dtucker Exp $
+# Placed in the Public Domain.
+
+tid="keygen-sshfp"
+
+trace "keygen fingerprints"
+fp=`${SSHKEYGEN} -r test -f ${SRC}/ed25519_openssh.pub | \
+ awk '$5=="1"{print $6}'`
+if [ "$fp" != "8a8647a7567e202ce317e62606c799c53d4c121f" ]; then
+ fail "keygen fingerprint sha1"
+fi
+fp=`${SSHKEYGEN} -r test -f ${SRC}/ed25519_openssh.pub | \
+ awk '$5=="2"{print $6}'`
+if [ "$fp" != \
+ "54a506fb849aafb9f229cf78a94436c281efcb4ae67c8a430e8c06afcb5ee18f" ]; then
+ fail "keygen fingerprint sha256"
+fi
+
+if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then
+ fp=`${SSHKEYGEN} -r test -f ${SRC}/rsa_openssh.pub | awk '$5=="1"{print $6}'`
+ if [ "$fp" != "99c79cc09f5f81069cc017cdf9552cfc94b3b929" ]; then
+ fail "keygen fingerprint sha1"
+ fi
+ fp=`${SSHKEYGEN} -r test -f ${SRC}/rsa_openssh.pub | awk '$5=="2"{print $6}'`
+ if [ "$fp" != \
+ "e30d6b9eb7a4de495324e4d5870b8220577993ea6af417e8e4a4f1c5bf01a9b6" ]; then
+ fail "keygen fingerprint sha256"
+ fi
+fi
diff --git a/regress/multipubkey.sh b/regress/multipubkey.sh
index 9b2273353181..8cdda1a9ae0d 100644
--- a/regress/multipubkey.sh
+++ b/regress/multipubkey.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: multipubkey.sh,v 1.3 2019/12/11 18:47:14 djm Exp $
+# $OpenBSD: multipubkey.sh,v 1.4 2021/06/07 01:16:34 djm Exp $
# Placed in the Public Domain.
tid="multiple pubkey"
@@ -31,27 +31,35 @@ grep -v IdentityFile $OBJ/ssh_proxy.orig > $OBJ/ssh_proxy
opts="-oProtocol=2 -F $OBJ/ssh_proxy -oIdentitiesOnly=yes"
opts="$opts -i $OBJ/cert_user_key1 -i $OBJ/user_key1 -i $OBJ/user_key2"
-for privsep in yes ; do
+for match in no yes ; do
(
- grep -v "Protocol" $OBJ/sshd_proxy.orig
+ cat $OBJ/sshd_proxy.orig
echo "Protocol 2"
- echo "UsePrivilegeSeparation $privsep"
- echo "AuthenticationMethods publickey,publickey"
echo "TrustedUserCAKeys $OBJ/user_ca_key.pub"
echo "AuthorizedPrincipalsFile $OBJ/authorized_principals_%u"
) > $OBJ/sshd_proxy
+ if test "$match" = "yes" ; then
+ echo "AuthenticationMethods none" >> $OBJ/sshd_proxy
+ echo "PubkeyAuthentication no" >> $OBJ/sshd_proxy
+ echo "Match all" >> $OBJ/sshd_proxy
+ echo "PubkeyAuthentication yes" >> $OBJ/sshd_proxy
+ fi
+ echo "AuthenticationMethods publickey,publickey" >> $OBJ/sshd_proxy
# Single key should fail.
+ trace "match $match single key"
rm -f $OBJ/authorized_principals_$USER
cat $OBJ/user_key1.pub > $OBJ/authorized_keys_$USER
${SSH} $opts proxy true && fail "ssh succeeded with key"
# Single key with same-public cert should fail.
+ trace "match $match pubkey + identical cert"
echo mekmitasdigoat > $OBJ/authorized_principals_$USER
cat $OBJ/user_key1.pub > $OBJ/authorized_keys_$USER
${SSH} $opts proxy true && fail "ssh succeeded with key+cert"
# Multiple plain keys should succeed.
+ trace "match $match multiple public"
rm -f $OBJ/authorized_principals_$USER
cat $OBJ/user_key1.pub $OBJ/user_key2.pub > \
$OBJ/authorized_keys_$USER
@@ -59,6 +67,7 @@ for privsep in yes ; do
# Cert and different key should succeed
# Key and different-public cert should succeed.
+ trace "match $match pubkey + different cert"
echo mekmitasdigoat > $OBJ/authorized_principals_$USER
cat $OBJ/user_key2.pub > $OBJ/authorized_keys_$USER
${SSH} $opts proxy true || fail "ssh failed with key/cert"
diff --git a/regress/percent.sh b/regress/percent.sh
index 72f07f4b8adb..7ed41845b5cf 100644
--- a/regress/percent.sh
+++ b/regress/percent.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: percent.sh,v 1.11 2021/02/05 22:03:40 dtucker Exp $
+# $OpenBSD: percent.sh,v 1.13 2021/07/25 12:13:03 dtucker Exp $
# Placed in the Public Domain.
tid="percent expansions"
@@ -79,7 +79,7 @@ for i in matchexec localcommand remotecommand controlpath identityagent \
fi
# Matches implementation in readconf.c:ssh_connection_hash()
HASH=`printf "${HOSTNAME}127.0.0.1${PORT}$REMUSER" |
- openssl sha1 | cut -f2 -d' '`
+ $OPENSSL_BIN sha1 | cut -f2 -d' '`
trial $i '%%' '%'
trial $i '%C' $HASH
trial $i '%i' $USERID
diff --git a/regress/reconfigure.sh b/regress/reconfigure.sh
index dd15eddb2a24..d5b4e9808fcc 100644
--- a/regress/reconfigure.sh
+++ b/regress/reconfigure.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: reconfigure.sh,v 1.6 2017/04/30 23:34:55 djm Exp $
+# $OpenBSD: reconfigure.sh,v 1.9 2021/06/10 09:46:28 dtucker Exp $
# Placed in the Public Domain.
tid="simple connect after reconfigure"
@@ -41,3 +41,25 @@ ${SSH} -F $OBJ/ssh_config somehost true
if [ $? -ne 0 ]; then
fail "ssh connect with failed after reconfigure"
fi
+
+trace "reconfigure with active clients"
+${SSH} -F $OBJ/ssh_config somehost sleep 10 # authenticated client
+${NC} -d 127.0.0.1 $PORT >/dev/null & # unauthenticated client
+PID=`$SUDO cat $PIDFILE`
+rm -f $PIDFILE
+$SUDO kill -HUP $PID
+
+trace "wait for sshd to restart"
+i=0;
+while [ ! -f $PIDFILE -a $i -lt 10 ]; do
+ i=`expr $i + 1`
+ sleep $i
+done
+
+test -f $PIDFILE || fatal "sshd did not restart"
+
+trace "connect after restart with active clients"
+${SSH} -F $OBJ/ssh_config somehost true
+if [ $? -ne 0 ]; then
+ fail "ssh connect with failed after reconfigure"
+fi
diff --git a/regress/rekey.sh b/regress/rekey.sh
index fd6a02cc7a62..61723cd86608 100644
--- a/regress/rekey.sh
+++ b/regress/rekey.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: rekey.sh,v 1.18 2018/04/10 00:14:10 djm Exp $
+# $OpenBSD: rekey.sh,v 1.19 2021/07/19 05:08:54 dtucker Exp $
# Placed in the Public Domain.
tid="rekey"
@@ -71,7 +71,7 @@ for s in 5 10; do
verbose "client rekeylimit default ${s}"
rm -f ${COPY} ${LOG}
${SSH} < ${DATA} -oCompression=no -oRekeyLimit="default $s" -F \
- $OBJ/ssh_proxy somehost "cat >${COPY};sleep $s;sleep 3"
+ $OBJ/ssh_proxy somehost "cat >${COPY};sleep $s;sleep 10"
if [ $? -ne 0 ]; then
fail "ssh failed"
fi
@@ -88,7 +88,7 @@ for s in 5 10; do
verbose "client rekeylimit default ${s} no data"
rm -f ${COPY} ${LOG}
${SSH} -oCompression=no -oRekeyLimit="default $s" -F \
- $OBJ/ssh_proxy somehost "sleep $s;sleep 3"
+ $OBJ/ssh_proxy somehost "sleep $s;sleep 10"
if [ $? -ne 0 ]; then
fail "ssh failed"
fi
@@ -124,7 +124,7 @@ for s in 5 10; do
cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy
echo "rekeylimit default ${s}" >>$OBJ/sshd_proxy
rm -f ${COPY} ${LOG}
- ${SSH} -oCompression=no -F $OBJ/ssh_proxy somehost "sleep $s;sleep 3"
+ ${SSH} -oCompression=no -F $OBJ/ssh_proxy somehost "sleep $s;sleep 10"
if [ $? -ne 0 ]; then
fail "ssh failed"
fi
diff --git a/regress/scp-uri.sh b/regress/scp-uri.sh
index c03d8bbe0761..20ac3c89ec26 100644
--- a/regress/scp-uri.sh
+++ b/regress/scp-uri.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: scp-uri.sh,v 1.2 2017/12/11 11:41:56 dtucker Exp $
+# $OpenBSD: scp-uri.sh,v 1.4 2021/08/10 03:35:45 djm Exp $
# Placed in the Public Domain.
tid="scp-uri"
@@ -12,7 +12,6 @@ DIR2=${COPY}.dd2
SRC=`dirname ${SCRIPT}`
cp ${SRC}/scp-ssh-wrapper.sh ${OBJ}/scp-ssh-wrapper.scp
chmod 755 ${OBJ}/scp-ssh-wrapper.scp
-scpopts="-q -S ${OBJ}/scp-ssh-wrapper.scp"
export SCP # used in scp-ssh-wrapper.scp
scpclean() {
@@ -24,47 +23,55 @@ scpclean() {
cp $OBJ/ssh_config $OBJ/ssh_config.orig
egrep -v '^ +(Port|User) +.*$' $OBJ/ssh_config.orig > $OBJ/ssh_config
-verbose "$tid: simple copy local file to remote file"
-scpclean
-$SCP $scpopts ${DATA} "scp://${USER}@somehost:${PORT}/${COPY}" || fail "copy failed"
-cmp ${DATA} ${COPY} || fail "corrupted copy"
+for mode in scp sftp ; do
+ tag="$tid: $mode mode"
+ if test $mode = scp ; then
+ scpopts="-O -q -S ${OBJ}/scp-ssh-wrapper.scp"
+ else
+ scpopts="-s -D ${SFTPSERVER}"
+ fi
+ verbose "$tag: simple copy local file to remote file"
+ scpclean
+ $SCP $scpopts ${DATA} "scp://${USER}@somehost:${PORT}/${COPY}" || fail "copy failed"
+ cmp ${DATA} ${COPY} || fail "corrupted copy"
-verbose "$tid: simple copy remote file to local file"
-scpclean
-$SCP $scpopts "scp://${USER}@somehost:${PORT}/${DATA}" ${COPY} || fail "copy failed"
-cmp ${DATA} ${COPY} || fail "corrupted copy"
+ verbose "$tag: simple copy remote file to local file"
+ scpclean
+ $SCP $scpopts "scp://${USER}@somehost:${PORT}/${DATA}" ${COPY} || fail "copy failed"
+ cmp ${DATA} ${COPY} || fail "corrupted copy"
-verbose "$tid: simple copy local file to remote dir"
-scpclean
-cp ${DATA} ${COPY}
-$SCP $scpopts ${COPY} "scp://${USER}@somehost:${PORT}/${DIR}" || fail "copy failed"
-cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
+ verbose "$tag: simple copy local file to remote dir"
+ scpclean
+ cp ${DATA} ${COPY}
+ $SCP $scpopts ${COPY} "scp://${USER}@somehost:${PORT}/${DIR}" || fail "copy failed"
+ cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-verbose "$tid: simple copy remote file to local dir"
-scpclean
-cp ${DATA} ${COPY}
-$SCP $scpopts "scp://${USER}@somehost:${PORT}/${COPY}" ${DIR} || fail "copy failed"
-cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
+ verbose "$tag: simple copy remote file to local dir"
+ scpclean
+ cp ${DATA} ${COPY}
+ $SCP $scpopts "scp://${USER}@somehost:${PORT}/${COPY}" ${DIR} || fail "copy failed"
+ cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-verbose "$tid: recursive local dir to remote dir"
-scpclean
-rm -rf ${DIR2}
-cp ${DATA} ${DIR}/copy
-$SCP $scpopts -r ${DIR} "scp://${USER}@somehost:${PORT}/${DIR2}" || fail "copy failed"
-for i in $(cd ${DIR} && echo *); do
- cmp ${DIR}/$i ${DIR2}/$i || fail "corrupted copy"
-done
+ verbose "$tag: recursive local dir to remote dir"
+ scpclean
+ rm -rf ${DIR2}
+ cp ${DATA} ${DIR}/copy
+ $SCP $scpopts -r ${DIR} "scp://${USER}@somehost:${PORT}/${DIR2}" || fail "copy failed"
+ for i in $(cd ${DIR} && echo *); do
+ cmp ${DIR}/$i ${DIR2}/$i || fail "corrupted copy"
+ done
-verbose "$tid: recursive remote dir to local dir"
-scpclean
-rm -rf ${DIR2}
-cp ${DATA} ${DIR}/copy
-$SCP $scpopts -r "scp://${USER}@somehost:${PORT}/${DIR}" ${DIR2} || fail "copy failed"
-for i in $(cd ${DIR} && echo *); do
- cmp ${DIR}/$i ${DIR2}/$i || fail "corrupted copy"
-done
+ verbose "$tag: recursive remote dir to local dir"
+ scpclean
+ rm -rf ${DIR2}
+ cp ${DATA} ${DIR}/copy
+ $SCP $scpopts -r "scp://${USER}@somehost:${PORT}/${DIR}" ${DIR2} || fail "copy failed"
+ for i in $(cd ${DIR} && echo *); do
+ cmp ${DIR}/$i ${DIR2}/$i || fail "corrupted copy"
+ done
-# TODO: scp -3
+ # TODO: scp -3
+done
scpclean
rm -f ${OBJ}/scp-ssh-wrapper.exe
diff --git a/regress/scp.sh b/regress/scp.sh
index 62400efad37e..358a8df66b1c 100644
--- a/regress/scp.sh
+++ b/regress/scp.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: scp.sh,v 1.11 2019/07/19 03:45:44 djm Exp $
+# $OpenBSD: scp.sh,v 1.13 2021/08/10 03:35:45 djm Exp $
# Placed in the Public Domain.
tid="scp"
@@ -19,7 +19,6 @@ DIR2=${COPY}.dd2
SRC=`dirname ${SCRIPT}`
cp ${SRC}/scp-ssh-wrapper.sh ${OBJ}/scp-ssh-wrapper.scp
chmod 755 ${OBJ}/scp-ssh-wrapper.scp
-scpopts="-q -S ${OBJ}/scp-ssh-wrapper.scp"
export SCP # used in scp-ssh-wrapper.scp
scpclean() {
@@ -28,109 +27,117 @@ scpclean() {
chmod 755 ${DIR} ${DIR2}
}
-verbose "$tid: simple copy local file to local file"
-scpclean
-$SCP $scpopts ${DATA} ${COPY} || fail "copy failed"
-cmp ${DATA} ${COPY} || fail "corrupted copy"
-
-verbose "$tid: simple copy local file to remote file"
-scpclean
-$SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed"
-cmp ${DATA} ${COPY} || fail "corrupted copy"
-
-verbose "$tid: simple copy remote file to local file"
-scpclean
-$SCP $scpopts somehost:${DATA} ${COPY} || fail "copy failed"
-cmp ${DATA} ${COPY} || fail "corrupted copy"
-
-verbose "$tid: simple copy local file to remote dir"
-scpclean
-cp ${DATA} ${COPY}
-$SCP $scpopts ${COPY} somehost:${DIR} || fail "copy failed"
-cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-
-verbose "$tid: simple copy local file to local dir"
-scpclean
-cp ${DATA} ${COPY}
-$SCP $scpopts ${COPY} ${DIR} || fail "copy failed"
-cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-
-verbose "$tid: simple copy remote file to local dir"
-scpclean
-cp ${DATA} ${COPY}
-$SCP $scpopts somehost:${COPY} ${DIR} || fail "copy failed"
-cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
+for mode in scp sftp ; do
+ tag="$tid: $mode mode"
+ if test $mode = scp ; then
+ scpopts="-O -q -S ${OBJ}/scp-ssh-wrapper.scp"
+ else
+ scpopts="-s -D ${SFTPSERVER}"
+ fi
+ verbose "tid: simple copy local file to local file"
+ scpclean
+ $SCP $scpopts ${DATA} ${COPY} || fail "copy failed"
+ cmp ${DATA} ${COPY} || fail "corrupted copy"
-verbose "$tid: recursive local dir to remote dir"
-scpclean
-rm -rf ${DIR2}
-cp ${DATA} ${DIR}/copy
-$SCP $scpopts -r ${DIR} somehost:${DIR2} || fail "copy failed"
-diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ verbose "$tag: simple copy local file to remote file"
+ scpclean
+ $SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed"
+ cmp ${DATA} ${COPY} || fail "corrupted copy"
-verbose "$tid: recursive local dir to local dir"
-scpclean
-rm -rf ${DIR2}
-cp ${DATA} ${DIR}/copy
-$SCP $scpopts -r ${DIR} ${DIR2} || fail "copy failed"
-diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ verbose "$tag: simple copy remote file to local file"
+ scpclean
+ $SCP $scpopts somehost:${DATA} ${COPY} || fail "copy failed"
+ cmp ${DATA} ${COPY} || fail "corrupted copy"
-verbose "$tid: recursive remote dir to local dir"
-scpclean
-rm -rf ${DIR2}
-cp ${DATA} ${DIR}/copy
-$SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed"
-diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ verbose "$tag: simple copy local file to remote dir"
+ scpclean
+ cp ${DATA} ${COPY}
+ $SCP $scpopts ${COPY} somehost:${DIR} || fail "copy failed"
+ cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-verbose "$tid: shell metacharacters"
-scpclean
-(cd ${DIR} && \
-touch '`touch metachartest`' && \
-$SCP $scpopts *metachar* ${DIR2} 2>/dev/null; \
-[ ! -f metachartest ] ) || fail "shell metacharacters"
+ verbose "$tag: simple copy local file to local dir"
+ scpclean
+ cp ${DATA} ${COPY}
+ $SCP $scpopts ${COPY} ${DIR} || fail "copy failed"
+ cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-if [ ! -z "$SUDO" ]; then
- verbose "$tid: skipped file after scp -p with failed chown+utimes"
+ verbose "$tag: simple copy remote file to local dir"
scpclean
- cp -p ${DATA} ${DIR}/copy
- cp -p ${DATA} ${DIR}/copy2
- cp ${DATA} ${DIR2}/copy
- chmod 660 ${DIR2}/copy
- $SUDO chown root ${DIR2}/copy
- $SCP -p $scpopts somehost:${DIR}/\* ${DIR2} >/dev/null 2>&1
- $SUDO diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
- $SUDO rm ${DIR2}/copy
-fi
+ cp ${DATA} ${COPY}
+ $SCP $scpopts somehost:${COPY} ${DIR} || fail "copy failed"
+ cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
-for i in 0 1 2 3 4 5 6 7; do
- verbose "$tid: disallow bad server #$i"
- SCPTESTMODE=badserver_$i
- export DIR SCPTESTMODE
+ verbose "$tag: recursive local dir to remote dir"
scpclean
- $SCP $scpopts somehost:${DATA} ${DIR} >/dev/null 2>/dev/null
- [ -d {$DIR}/rootpathdir ] && fail "allows dir relative to root dir"
- [ -d ${DIR}/dotpathdir ] && fail "allows dir creation in non-recursive mode"
+ rm -rf ${DIR2}
+ cp ${DATA} ${DIR}/copy
+ $SCP $scpopts -r ${DIR} somehost:${DIR2} || fail "copy failed"
+ diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ verbose "$tag: recursive local dir to local dir"
scpclean
- $SCP -r $scpopts somehost:${DATA} ${DIR2} >/dev/null 2>/dev/null
- [ -d ${DIR}/dotpathdir ] && fail "allows dir creation outside of subdir"
+ rm -rf ${DIR2}
+ cp ${DATA} ${DIR}/copy
+ $SCP $scpopts -r ${DIR} ${DIR2} || fail "copy failed"
+ diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ verbose "$tag: recursive remote dir to local dir"
scpclean
- $SCP -pr $scpopts somehost:${DATA} ${DIR2} >/dev/null 2>/dev/null
- [ ! -w ${DIR2} ] && fail "allows target root attribute change"
+ rm -rf ${DIR2}
+ cp ${DATA} ${DIR}/copy
+ $SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed"
+ diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ verbose "$tag: shell metacharacters"
scpclean
- $SCP $scpopts somehost:${DATA} ${DIR2} >/dev/null 2>/dev/null
- [ -e ${DIR2}/extrafile ] && fail "allows unauth object creation"
- rm -f ${DIR2}/extrafile
+ (cd ${DIR} && \
+ touch '`touch metachartest`' && \
+ $SCP $scpopts *metachar* ${DIR2} 2>/dev/null; \
+ [ ! -f metachartest ] ) || fail "shell metacharacters"
+
+ if [ ! -z "$SUDO" ]; then
+ verbose "$tag: skipped file after scp -p with failed chown+utimes"
+ scpclean
+ cp -p ${DATA} ${DIR}/copy
+ cp -p ${DATA} ${DIR}/copy2
+ cp ${DATA} ${DIR2}/copy
+ chmod 660 ${DIR2}/copy
+ $SUDO chown root ${DIR2}/copy
+ $SCP -p $scpopts somehost:${DIR}/\* ${DIR2} >/dev/null 2>&1
+ $SUDO diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
+ $SUDO rm ${DIR2}/copy
+ fi
+
+ for i in 0 1 2 3 4 5 6 7; do
+ verbose "$tag: disallow bad server #$i"
+ SCPTESTMODE=badserver_$i
+ export DIR SCPTESTMODE
+ scpclean
+ $SCP $scpopts somehost:${DATA} ${DIR} >/dev/null 2>/dev/null
+ [ -d {$DIR}/rootpathdir ] && fail "allows dir relative to root dir"
+ [ -d ${DIR}/dotpathdir ] && fail "allows dir creation in non-recursive mode"
+
+ scpclean
+ $SCP -r $scpopts somehost:${DATA} ${DIR2} >/dev/null 2>/dev/null
+ [ -d ${DIR}/dotpathdir ] && fail "allows dir creation outside of subdir"
+
+ scpclean
+ $SCP -pr $scpopts somehost:${DATA} ${DIR2} >/dev/null 2>/dev/null
+ [ ! -w ${DIR2} ] && fail "allows target root attribute change"
+
+ scpclean
+ $SCP $scpopts somehost:${DATA} ${DIR2} >/dev/null 2>/dev/null
+ [ -e ${DIR2}/extrafile ] && fail "allows unauth object creation"
+ rm -f ${DIR2}/extrafile
+ done
+
+ verbose "$tag: detect non-directory target"
+ scpclean
+ echo a > ${COPY}
+ echo b > ${COPY2}
+ $SCP $scpopts ${DATA} ${COPY} ${COPY2}
+ cmp ${COPY} ${COPY2} >/dev/null && fail "corrupt target"
done
-verbose "$tid: detect non-directory target"
-scpclean
-echo a > ${COPY}
-echo b > ${COPY2}
-$SCP $scpopts ${DATA} ${COPY} ${COPY2}
-cmp ${COPY} ${COPY2} >/dev/null && fail "corrupt target"
-
scpclean
rm -f ${OBJ}/scp-ssh-wrapper.scp
diff --git a/regress/scp3.sh b/regress/scp3.sh
new file mode 100644
index 000000000000..f71b1567755b
--- /dev/null
+++ b/regress/scp3.sh
@@ -0,0 +1,60 @@
+# $OpenBSD: scp3.sh,v 1.3 2021/08/10 03:35:45 djm Exp $
+# Placed in the Public Domain.
+
+tid="scp3"
+
+#set -x
+
+COPY2=${OBJ}/copy2
+DIR=${COPY}.dd
+DIR2=${COPY}.dd2
+
+SRC=`dirname ${SCRIPT}`
+cp ${SRC}/scp-ssh-wrapper.sh ${OBJ}/scp-ssh-wrapper.scp
+chmod 755 ${OBJ}/scp-ssh-wrapper.scp
+export SCP # used in scp-ssh-wrapper.scp
+
+scpclean() {
+ rm -rf ${COPY} ${COPY2} ${DIR} ${DIR2}
+ mkdir ${DIR} ${DIR2}
+ chmod 755 ${DIR} ${DIR2}
+}
+
+for mode in scp sftp ; do
+ scpopts="-F${OBJ}/ssh_proxy -S ${SSH} -q"
+ tag="$tid: $mode mode"
+ if test $mode = scp ; then
+ scpopts="$scpopts -O"
+ else
+ scpopts="-s -D ${SFTPSERVER}"
+ fi
+
+ verbose "$tag: simple copy remote file to remote file"
+ scpclean
+ $SCP $scpopts -3 hostA:${DATA} hostB:${COPY} || fail "copy failed"
+ cmp ${DATA} ${COPY} || fail "corrupted copy"
+
+ verbose "$tag: simple copy remote file to remote dir"
+ scpclean
+ cp ${DATA} ${COPY}
+ $SCP $scpopts -3 hostA:${COPY} hostB:${DIR} || fail "copy failed"
+ cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
+
+ verbose "$tag: recursive remote dir to remote dir"
+ scpclean
+ rm -rf ${DIR2}
+ cp ${DATA} ${DIR}/copy
+ $SCP $scpopts -3r hostA:${DIR} hostB:${DIR2} || fail "copy failed"
+ diff -r ${DIR} ${DIR2} || fail "corrupted copy"
+ diff -r ${DIR2} ${DIR} || fail "corrupted copy"
+
+ verbose "$tag: detect non-directory target"
+ scpclean
+ echo a > ${COPY}
+ echo b > ${COPY2}
+ $SCP $scpopts -3 hostA:${DATA} hostA:${COPY} hostB:${COPY2}
+ cmp ${COPY} ${COPY2} >/dev/null && fail "corrupt target"
+done
+
+scpclean
+rm -f ${OBJ}/scp-ssh-wrapper.exe
diff --git a/regress/servcfginclude.sh b/regress/servcfginclude.sh
index b6a9a248ff2b..518a703d100e 100644
--- a/regress/servcfginclude.sh
+++ b/regress/servcfginclude.sh
@@ -9,17 +9,17 @@ Match host a
Match host b
Banner /bb
- Include $OBJ/sshd_config.i.*
+ Include $OBJ/sshd_config.i.* # comment
Match host c
- Include $OBJ/sshd_config.i.*
+ Include $OBJ/sshd_config.i.* # comment
Banner /cc
Match host m
Include $OBJ/sshd_config.i.*
Match Host d
- Banner /dd
+ Banner /dd # comment
Match Host e
Banner /ee
@@ -64,7 +64,7 @@ Match host a
Match host b
Banner /bbbb
-Match host c
+Match host c # comment
Banner /cccc
Match Host d
diff --git a/regress/ssh2putty.sh b/regress/ssh2putty.sh
index dcb975d952f6..9b08310391ca 100755
--- a/regress/ssh2putty.sh
+++ b/regress/ssh2putty.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# $OpenBSD: ssh2putty.sh,v 1.5 2019/11/21 05:18:47 tb Exp $
+# $OpenBSD: ssh2putty.sh,v 1.9 2021/07/25 12:13:03 dtucker Exp $
if test "x$1" = "x" -o "x$2" = "x" -o "x$3" = "x" ; then
echo "Usage: ssh2putty hostname port ssh-private-key"
@@ -10,6 +10,8 @@ HOST=$1
PORT=$2
KEYFILE=$3
+OPENSSL_BIN="${OPENSSL_BIN:-openssl}"
+
# XXX - support DSA keys too
if grep "BEGIN RSA PRIVATE KEY" $KEYFILE >/dev/null 2>&1 ; then
:
@@ -19,13 +21,13 @@ else
fi
public_exponent=`
- openssl rsa -noout -text -in $KEYFILE | grep ^publicExponent |
+ $OPENSSL_BIN rsa -noout -text -in $KEYFILE | grep ^publicExponent |
sed 's/.*(//;s/).*//'
`
test $? -ne 0 && exit 1
modulus=`
- openssl rsa -noout -modulus -in $KEYFILE | grep ^Modulus= |
+ $OPENSSL_BIN rsa -noout -modulus -in $KEYFILE | grep ^Modulus= |
sed 's/^Modulus=/0x/' | tr A-Z a-z
`
test $? -ne 0 && exit 1
diff --git a/regress/sshcfgparse.sh b/regress/sshcfgparse.sh
index 0025c165706c..504853d32db5 100644
--- a/regress/sshcfgparse.sh
+++ b/regress/sshcfgparse.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: sshcfgparse.sh,v 1.7 2021/02/24 23:12:35 dtucker Exp $
+# $OpenBSD: sshcfgparse.sh,v 1.9 2021/06/08 07:05:27 dtucker Exp $
# Placed in the Public Domain.
tid="ssh config parse"
@@ -32,7 +32,7 @@ expect_result_absent() {
verbose "reparse minimal config"
(${SSH} -G -F $OBJ/ssh_config somehost >$OBJ/ssh_config.1 &&
${SSH} -G -F $OBJ/ssh_config.1 somehost >$OBJ/ssh_config.2 &&
- diff $OBJ/ssh_config.1 $OBJ/ssh_config.2) || fail "reparse minimal config"
+ diff $OBJ/ssh_config.1 $OBJ/ssh_config.2) || fail "failed to reparse minimal"
verbose "ssh -W opts"
f=`${SSH} -GF $OBJ/ssh_config host | awk '/exitonforwardfailure/{print $2}'`
@@ -104,5 +104,16 @@ expect_result_present "$f" "yes"
f=`${SSH} -GF none '-oforwardagent=SSH_AUTH_SOCK.forward' host | awk '/^forwardagent /{print$2}'`
expect_result_present "$f" "SSH_AUTH_SOCK.forward"
+verbose "command line override"
+cat >$OBJ/ssh_config.0 <<EOD
+Host *
+ IPQoS af21 cs1
+ TunnelDevice 1:2
+EOD
+f=`${SSH} -GF $OBJ/ssh_config.0 -oipqos=cs1 host | awk '/^ipqos /{print$2}'`
+expect_result_present "$f" "cs1"
+f=`${SSH} -GF $OBJ/ssh_config.0 -otunneldevice=3:4 host | awk '/^tunneldevice /{print$2}'`
+expect_result_present "$f" "3:4"
+
# cleanup
rm -f $OBJ/ssh_config.[012]
diff --git a/regress/sshfp-connect.sh b/regress/sshfp-connect.sh
new file mode 100644
index 000000000000..06e91cdbb851
--- /dev/null
+++ b/regress/sshfp-connect.sh
@@ -0,0 +1,66 @@
+# $OpenBSD: sshfp-connect.sh,v 1.2 2021/07/19 08:48:33 dtucker Exp $
+# Placed in the Public Domain.
+
+# This test requires external setup and thus is skipped unless
+# TEST_SSH_SSHFP_DOMAIN is set. It requires:
+# 1) A DNSSEC-enabled domain, which TEST_SSH_SSHFP_DOMAIN points to.
+# 2) A DNSSEC-validating resolver such as unwind(8).
+# 3) The following SSHFP records with fingerprints from rsa_openssh.pub
+# in that domain that are expected to succeed:
+# sshtest: valid sha1 and sha256 fingerprints.
+# sshtest-sha{1,256}, : valid fingerprints for that type only.
+# and the following records that are expected to fail:
+# sshtest-bad: invalid sha1 fingerprint and good sha256 fingerprint
+# sshtest-sha{1,256}-bad: invalid fingerprints for that type only.
+#
+# sshtest IN SSHFP 1 1 99C79CC09F5F81069CC017CDF9552CFC94B3B929
+# sshtest IN SSHFP 1 2 E30D6B9EB7A4DE495324E4D5870B8220577993EA6AF417E8E4A4F1C5 BF01A9B6
+# sshtest-sha1 IN SSHFP 1 1 99C79CC09F5F81069CC017CDF9552CFC94B3B929
+# sshtest-sha256 IN SSHFP 1 2 E30D6B9EB7A4DE495324E4D5870B8220577993EA6AF417E8E4A4F1C5 BF01A9B6
+# sshtest-bad IN SSHFP 1 2 E30D6B9EB7A4DE495324E4D5870B8220577993EA6AF417E8E4A4F1C5 BF01A9B6
+# sshtest-bad IN SSHFP 1 1 99C79CC09F5F81069CC017CDF9552CFC94B3B928
+# sshtest-sha1-bad IN SSHFP 1 1 99D79CC09F5F81069CC017CDF9552CFC94B3B929
+# sshtest-sha256-bad IN SSHFP 1 2 E30D6B9EB7A4DE495324E4D5870B8220577993EA6AF417E8E4A4F1C5 BF01A9B5
+
+tid="sshfp connect"
+
+if [ ! -z "${TEST_SSH_SSHFP_DOMAIN}" ] && \
+ $SSH -Q key-plain | grep ssh-rsa >/dev/null; then
+
+ # Set RSA host key to match fingerprints above.
+ mv $OBJ/sshd_proxy $OBJ/sshd_proxy.orig
+ $SUDO cp $SRC/rsa_openssh.prv $OBJ/host.ssh-rsa
+ $SUDO chmod 600 $OBJ/host.ssh-rsa
+ sed -e "s|$OBJ/ssh-rsa|$OBJ/host.ssh-rsa|" \
+ $OBJ/sshd_proxy.orig > $OBJ/sshd_proxy
+
+ # Zero out known hosts and key aliases to force use of SSHFP records.
+ > $OBJ/known_hosts
+ mv $OBJ/ssh_proxy $OBJ/ssh_proxy.orig
+ sed -e "/HostKeyAlias.*localhost-with-alias/d" \
+ -e "/Hostname.*127.0.0.1/d" \
+ $OBJ/ssh_proxy.orig > $OBJ/ssh_proxy
+
+ for n in sshtest sshtest-sha1 sshtest-sha256; do
+ trace "sshfp connect $n good fingerprint"
+ host="${n}.dtucker.net"
+ opts="-F $OBJ/ssh_proxy -o VerifyHostKeyDNS=yes "
+ opts="$opts -o HostKeyAlgorithms=ssh-rsa"
+ host="${n}.${TEST_SSH_SSHFP_DOMAIN}"
+ SSH_CONNECTION=`${SSH} $opts $host 'echo $SSH_CONNECTION'`
+ if [ $? -ne 0 ]; then
+ fail "ssh sshfp connect failed"
+ fi
+ if [ "$SSH_CONNECTION" != "UNKNOWN 65535 UNKNOWN 65535" ]; then
+ fail "bad SSH_CONNECTION: $SSH_CONNECTION"
+ fi
+
+ trace "sshfp connect $n bad fingerprint"
+ host="${n}-bad.${TEST_SSH_SSHFP_DOMAIN}"
+ if ${SSH} $opts ${host} true; then
+ fail "sshfp-connect succeeded with bad SSHFP record"
+ fi
+ done
+else
+ echo SKIPPED: TEST_SSH_SSHFP_DOMAIN not set.
+fi
diff --git a/regress/sshsig.sh b/regress/sshsig.sh
index 1e2f9dda46d9..fc300a8dc3ed 100644
--- a/regress/sshsig.sh
+++ b/regress/sshsig.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: sshsig.sh,v 1.4 2020/03/13 03:18:45 djm Exp $
+# $OpenBSD: sshsig.sh,v 1.7 2021/08/11 08:55:04 djm Exp $
# Placed in the Public Domain.
tid="sshsig"
@@ -12,12 +12,13 @@ sig_namespace="test-$$"
sig_principal="user-$$@example.com"
# Make a "wrong key"
-${SSHKEYGEN} -t ed25519 -f $OBJ/wrong-key -C "wrong trousers, Grommit" -N '' \
+${SSHKEYGEN} -q -t ed25519 -f $OBJ/wrong-key \
+ -C "wrong trousers, Grommit" -N '' \
|| fatal "couldn't generate key"
WRONG=$OBJ/wrong-key.pub
# Make a CA key.
-${SSHKEYGEN} -t ed25519 -f $OBJ/sigca-key -C "CA" -N '' \
+${SSHKEYGEN} -q -t ed25519 -f $OBJ/sigca-key -C "CA" -N '' \
|| fatal "couldn't generate key"
CA_PRIV=$OBJ/sigca-key
CA_PUB=$OBJ/sigca-key.pub
@@ -63,6 +64,17 @@ for t in $SIGNKEYS; do
< $DATA >/dev/null 2>&1 || \
fail "failed signature for $t key w/ limited namespace"
+ (printf "$sig_principal namespaces=\"$sig_namespace,whatever\" ";
+ cat $pubkey) > $OBJ/allowed_signers
+ ${SSHKEYGEN} -q -Y verify -s $sigfile -n $sig_namespace \
+ -I $sig_principal -f $OBJ/allowed_signers \
+ -O print-pubkey \
+ < $DATA | cut -d' ' -f1-2 > ${OBJ}/${keybase}-fromsig.pub || \
+ fail "failed signature for $t key w/ print-pubkey"
+ cut -d' ' -f1-2 ${OBJ}/${keybase}.pub > ${OBJ}/${keybase}-strip.pub
+ diff -r ${OBJ}/${keybase}-strip.pub ${OBJ}/${keybase}-fromsig.pub || \
+ fail "print-pubkey differs from signature key"
+
# Invalid option
(printf "$sig_principal octopus " ; cat $pubkey) > $OBJ/allowed_signers
${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
@@ -106,6 +118,34 @@ for t in $SIGNKEYS; do
< $DATA >/dev/null 2>&1 && \
fail "accepted signature for $t key with excluded namespace"
+ ( printf "$sig_principal " ;
+ printf "valid-after=\"19800101\",valid-before=\"19900101\" " ;
+ cat $pubkey) > $OBJ/allowed_signers
+
+ # key lifespan valid
+ ${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
+ -I $sig_principal -f $OBJ/allowed_signers \
+ -Overify-time=19850101 \
+ < $DATA >/dev/null 2>&1 || \
+ fail "failed signature for $t key with valid expiry interval"
+ # key not yet valid
+ ${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
+ -I $sig_principal -f $OBJ/allowed_signers \
+ -Overify-time=19790101 \
+ < $DATA >/dev/null 2>&1 && \
+ fail "failed signature for $t not-yet-valid key"
+ # key expired
+ ${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
+ -I $sig_principal -f $OBJ/allowed_signers \
+ -Overify-time=19910101 \
+ < $DATA >/dev/null 2>&1 && \
+ fail "failed signature for $t with expired key"
+ # NB. assumes we're not running this test in the 1980s
+ ${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
+ -I $sig_principal -f $OBJ/allowed_signers \
+ < $DATA >/dev/null 2>&1 && \
+ fail "failed signature for $t with expired key"
+
# public key in revoked keys file
cat $pubkey > $OBJ/revoked_keys
(printf "$sig_principal namespaces=\"whatever\" " ;
@@ -116,7 +156,7 @@ for t in $SIGNKEYS; do
< $DATA >/dev/null 2>&1 && \
fail "accepted signature for $t key, but key is in revoked_keys"
- # public key not revoked, but other are present in revoked_keysfile
+ # public key not revoked, but others are present in revoked_keysfile
cat $WRONG > $OBJ/revoked_keys
(printf "$sig_principal " ; cat $pubkey) > $OBJ/allowed_signers
${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
@@ -168,7 +208,7 @@ for t in $SIGNKEYS; do
fail "failed signature for $t cert"
# signing key listed as cert-authority
- (printf "$sig_principal cert-authority" ;
+ (printf "$sig_principal cert-authority " ;
cat $pubkey) > $OBJ/allowed_signers
${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
-I $sig_principal -f $OBJ/allowed_signers \
@@ -183,7 +223,7 @@ for t in $SIGNKEYS; do
fail "accepted signature for $t cert with CA not marked"
# mismatch between cert principal and file
- (printf "josef.k@example.com cert-authority" ;
+ (printf "josef.k@example.com cert-authority " ;
cat $CA_PUB) > $OBJ/allowed_signers
${SSHKEYGEN} -vvv -Y verify -s $sigfile -n $sig_namespace \
-I $sig_principal -f $OBJ/allowed_signers \
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index bc59ebddf055..db6d6161aa2b 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -1,46 +1,8 @@
-# $OpenBSD: test-exec.sh,v 1.79 2021/04/06 23:57:56 dtucker Exp $
+# $OpenBSD: test-exec.sh,v 1.86 2021/08/08 08:27:28 dtucker Exp $
# Placed in the Public Domain.
#SUDO=sudo
-# Unbreak GNU head(1)
-_POSIX2_VERSION=199209
-export _POSIX2_VERSION
-
-case `uname -s 2>/dev/null` in
-OSF1*)
- BIN_SH=xpg4
- export BIN_SH
- ;;
-CYGWIN*)
- os=cygwin
- ;;
-esac
-
-# If configure tells us to use a different egrep, create a wrapper function
-# to call it. This means we don't need to change all the tests that depend
-# on a good implementation.
-if test "x${EGREP}" != "x"; then
- egrep ()
-{
- ${EGREP} "$@"
-}
-fi
-
-if [ -x /usr/ucb/whoami ]; then
- USER=`/usr/ucb/whoami`
-elif whoami >/dev/null 2>&1; then
- USER=`whoami`
-elif logname >/dev/null 2>&1; then
- USER=`logname`
-else
- USER=`id -un`
-fi
-if test -z "$LOGNAME"; then
- LOGNAME="${USER}"
- export LOGNAME
-fi
-
if [ ! -x "$TEST_SSH_ELAPSED_TIMES" ]; then
STARTTIME=`date '+%s'`
fi
@@ -77,6 +39,46 @@ else
fi
unset SSH_AUTH_SOCK
+# Portable-specific settings.
+
+if [ -x /usr/ucb/whoami ]; then
+ USER=`/usr/ucb/whoami`
+elif whoami >/dev/null 2>&1; then
+ USER=`whoami`
+elif logname >/dev/null 2>&1; then
+ USER=`logname`
+else
+ USER=`id -un`
+fi
+if test -z "$LOGNAME"; then
+ LOGNAME="${USER}"
+ export LOGNAME
+fi
+
+# Unbreak GNU head(1)
+_POSIX2_VERSION=199209
+export _POSIX2_VERSION
+
+case `uname -s 2>/dev/null` in
+OSF1*)
+ BIN_SH=xpg4
+ export BIN_SH
+ ;;
+CYGWIN*)
+ os=cygwin
+ ;;
+esac
+
+# If configure tells us to use a different egrep, create a wrapper function
+# to call it. This means we don't need to change all the tests that depend
+# on a good implementation.
+if test "x${EGREP}" != "x"; then
+ egrep ()
+{
+ ${EGREP} "$@"
+}
+fi
+
SRC=`dirname ${SCRIPT}`
# defaults
@@ -100,6 +102,7 @@ CONCH=conch
# Tools used by multiple tests
NC=$OBJ/netcat
+OPENSSL_BIN="${OPENSSL_BIN:-openssl}"
if [ "x$TEST_SSH_SSH" != "x" ]; then
SSH="${TEST_SSH_SSH}"
@@ -155,6 +158,9 @@ fi
if [ "x$TEST_SSH_SK_HELPER" != "x" ]; then
SSH_SK_HELPER="${TEST_SSH_SK_HELPER}"
fi
+if [ "x$TEST_SSH_OPENSSL" != "x" ]; then
+ OPENSSL_BIN="${TEST_SSH_OPENSSL}"
+fi
# Path to sshd must be absolute for rexec
case "$SSHD" in
@@ -250,10 +256,15 @@ fi
>$TEST_REGRESS_LOGFILE
# Create wrapper ssh with logging. We can't just specify "SSH=ssh -E..."
-# because sftp and scp don't handle spaces in arguments.
+# because sftp and scp don't handle spaces in arguments. scp and sftp like
+# to use -q so we remove those to preserve our debug logging. In the rare
+# instance where -q is desirable -qq is equivalent and is not removed.
SSHLOGWRAP=$OBJ/ssh-log-wrapper.sh
-echo "#!/bin/sh" > $SSHLOGWRAP
-echo "exec ${SSH} -E${TEST_SSH_LOGFILE} "'"$@"' >>$SSHLOGWRAP
+cat >$SSHLOGWRAP <<EOD
+#!/bin/sh
+for i in "\$@";do shift;case "\$i" in -q):;; *) set -- "\$@" "\$i";;esac;done
+exec ${SSH} -E${TEST_SSH_LOGFILE} "\$@"
+EOD
chmod a+rx $OBJ/ssh-log-wrapper.sh
REAL_SSH="$SSH"
@@ -323,6 +334,8 @@ md5 () {
cksum
elif have_prog sum; then
sum
+ elif [ -x ${OPENSSL_BIN} ]; then
+ ${OPENSSL_BIN} md5
else
wc -c
fi
@@ -595,7 +608,7 @@ for t in ${SSH_HOSTKEY_TYPES}; do
) >> $OBJ/known_hosts
# use key as host key, too
- $SUDO cp $OBJ/$t $OBJ/host.$t
+ (umask 077; $SUDO cp $OBJ/$t $OBJ/host.$t)
echo HostKey $OBJ/host.$t >> $OBJ/sshd_config
# don't use SUDO for proxy connect
diff --git a/regress/unittests/authopt/tests.c b/regress/unittests/authopt/tests.c
index 8c51b3802aa6..9873c09c6545 100644
--- a/regress/unittests/authopt/tests.c
+++ b/regress/unittests/authopt/tests.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tests.c,v 1.1 2018/03/03 03:16:17 djm Exp $ */
+/* $OpenBSD: tests.c,v 1.2 2021/07/24 01:54:23 djm Exp $ */
/*
* Regress test for keys options functions.
@@ -11,7 +11,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
+#ifdef HAVE_STDINT_H
#include <stdint.h>
+#endif
#include <stdlib.h>
#include <string.h>
@@ -270,6 +272,8 @@ test_authkeys_parse(void)
} while (0)
ARRAY_TEST("environment", "environment=\"foo=1\",environment=\"bar=2\"",
env, nenv, "foo=1,bar=2");
+ ARRAY_TEST("environment", "environment=\"foo=1\",environment=\"foo=2\"",
+ env, nenv, "foo=1");
ARRAY_TEST("permitopen", "permitopen=\"foo:123\",permitopen=\"bar:*\"",
permitopen, npermitopen, "foo:123,bar:*");
#undef ARRAY_TEST
diff --git a/regress/unittests/kex/test_kex.c b/regress/unittests/kex/test_kex.c
index 06bd001aeaed..3bd71a9f4d56 100644
--- a/regress/unittests/kex/test_kex.c
+++ b/regress/unittests/kex/test_kex.c
@@ -202,6 +202,8 @@ kex_tests(void)
do_kex("diffie-hellman-group-exchange-sha1");
do_kex("diffie-hellman-group14-sha1");
do_kex("diffie-hellman-group1-sha1");
+# ifdef USE_SNTRUP761X25519
do_kex("sntrup761x25519-sha512@openssh.com");
+# endif /* USE_SNTRUP761X25519 */
#endif /* WITH_OPENSSL */
}
diff --git a/regress/unittests/misc/test_argv.c b/regress/unittests/misc/test_argv.c
index 7a28f64e5e57..2cfebf2d9588 100644
--- a/regress/unittests/misc/test_argv.c
+++ b/regress/unittests/misc/test_argv.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: test_argv.c,v 1.1 2021/03/19 04:23:50 djm Exp $ */
+/* $OpenBSD: test_argv.c,v 1.3 2021/06/08 07:40:12 djm Exp $ */
/*
* Regress test for misc argv handling functions.
*
@@ -10,7 +10,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
+#ifdef HAVE_STDINT_H
#include <stdint.h>
+#endif
#include <stdlib.h>
#include <string.h>
@@ -21,16 +23,6 @@
void test_argv(void);
-static void
-free_argv(char **av, int ac)
-{
- int i;
-
- for (i = 0; i < ac; i++)
- free(av[i]);
- free(av);
-}
-
void
test_argv(void)
{
@@ -39,102 +31,156 @@ test_argv(void)
#define RESET_ARGV() \
do { \
- free_argv(av, ac); \
+ argv_free(av, ac); \
av = NULL; \
ac = -1; \
} while (0)
TEST_START("empty args");
- RESET_ARGV();
- ASSERT_INT_EQ(argv_split("", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 0);
ASSERT_PTR_NE(av, NULL);
ASSERT_PTR_EQ(av[0], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split(" ", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split(" ", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 0);
ASSERT_PTR_NE(av, NULL);
ASSERT_PTR_EQ(av[0], NULL);
+ RESET_ARGV();
TEST_DONE();
TEST_START("trivial args");
- RESET_ARGV();
- ASSERT_INT_EQ(argv_split("leamas", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("leamas", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 1);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "leamas");
ASSERT_PTR_EQ(av[1], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("smiley leamas", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("smiley leamas", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 2);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "smiley");
ASSERT_STRING_EQ(av[1], "leamas");
ASSERT_PTR_EQ(av[2], NULL);
+ RESET_ARGV();
TEST_DONE();
TEST_START("quoted");
- RESET_ARGV();
- ASSERT_INT_EQ(argv_split("\"smiley\"", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("\"smiley\"", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 1);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "smiley");
ASSERT_PTR_EQ(av[1], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("leamas \" smiley \"", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("leamas \" smiley \"", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 2);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "leamas");
ASSERT_STRING_EQ(av[1], " smiley ");
ASSERT_PTR_EQ(av[2], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("\"smiley leamas\"", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("\"smiley leamas\"", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 1);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "smiley leamas");
ASSERT_PTR_EQ(av[1], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("smiley\" leamas\" liz", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("smiley\" leamas\" liz", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 2);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "smiley leamas");
ASSERT_STRING_EQ(av[1], "liz");
ASSERT_PTR_EQ(av[2], NULL);
+ RESET_ARGV();
TEST_DONE();
TEST_START("escaped");
- RESET_ARGV();
- ASSERT_INT_EQ(argv_split("\\\"smiley\\'", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("\\\"smiley\\'", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 1);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "\"smiley'");
ASSERT_PTR_EQ(av[1], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("'\\'smiley\\\"'", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("'\\'smiley\\\"'", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 1);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "'smiley\"");
ASSERT_PTR_EQ(av[1], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("smiley\\'s leamas\\'", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("smiley\\'s leamas\\'", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 2);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "smiley's");
ASSERT_STRING_EQ(av[1], "leamas'");
ASSERT_PTR_EQ(av[2], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("leamas\\\\smiley", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("leamas\\\\smiley", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 1);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "leamas\\smiley");
ASSERT_PTR_EQ(av[1], NULL);
RESET_ARGV();
- ASSERT_INT_EQ(argv_split("leamas\\\\ \\\\smiley", &ac, &av), 0);
+ ASSERT_INT_EQ(argv_split("leamas\\\\ \\\\smiley", &ac, &av, 0), 0);
ASSERT_INT_EQ(ac, 2);
ASSERT_PTR_NE(av, NULL);
ASSERT_STRING_EQ(av[0], "leamas\\");
ASSERT_STRING_EQ(av[1], "\\smiley");
ASSERT_PTR_EQ(av[2], NULL);
+ RESET_ARGV();
+ ASSERT_INT_EQ(argv_split("smiley\\ leamas", &ac, &av, 0), 0);
+ ASSERT_INT_EQ(ac, 1);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "smiley leamas");
+ ASSERT_PTR_EQ(av[1], NULL);
+ RESET_ARGV();
+ TEST_DONE();
+
+ TEST_START("quoted escaped");
+ ASSERT_INT_EQ(argv_split("'smiley\\ leamas'", &ac, &av, 0), 0);
+ ASSERT_INT_EQ(ac, 1);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "smiley\\ leamas");
+ ASSERT_PTR_EQ(av[1], NULL);
+ RESET_ARGV();
+ ASSERT_INT_EQ(argv_split("\"smiley\\ leamas\"", &ac, &av, 0), 0);
+ ASSERT_INT_EQ(ac, 1);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "smiley\\ leamas");
+ ASSERT_PTR_EQ(av[1], NULL);
+ RESET_ARGV();
+ TEST_DONE();
+
+ TEST_START("comments");
+ ASSERT_INT_EQ(argv_split("# gold", &ac, &av, 0), 0);
+ ASSERT_INT_EQ(ac, 2);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "#");
+ ASSERT_STRING_EQ(av[1], "gold");
+ ASSERT_PTR_EQ(av[2], NULL);
+ RESET_ARGV();
+ ASSERT_INT_EQ(argv_split("# gold", &ac, &av, 1), 0);
+ ASSERT_INT_EQ(ac, 0);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_PTR_EQ(av[0], NULL);
+ RESET_ARGV();
+ ASSERT_INT_EQ(argv_split("leamas#gold", &ac, &av, 1), 0);
+ ASSERT_INT_EQ(ac, 1);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "leamas#gold");
+ ASSERT_PTR_EQ(av[1], NULL);
+ RESET_ARGV();
+ ASSERT_INT_EQ(argv_split("\"leamas # gold\"", &ac, &av, 1), 0);
+ ASSERT_INT_EQ(ac, 1);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "leamas # gold");
+ ASSERT_PTR_EQ(av[1], NULL);
+ RESET_ARGV();
+ ASSERT_INT_EQ(argv_split("\"leamas\"#gold", &ac, &av, 1), 0);
+ ASSERT_INT_EQ(ac, 1);
+ ASSERT_PTR_NE(av, NULL);
+ ASSERT_STRING_EQ(av[0], "leamas#gold");
+ ASSERT_PTR_EQ(av[1], NULL);
+ RESET_ARGV();
TEST_DONE();
/* XXX test char *argv_assemble(int argc, char **argv) */
diff --git a/regress/unittests/misc/test_convtime.c b/regress/unittests/misc/test_convtime.c
index 5be3ee43ad6e..8f9be89ff900 100644
--- a/regress/unittests/misc/test_convtime.c
+++ b/regress/unittests/misc/test_convtime.c
@@ -10,7 +10,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
+#ifdef HAVE_STDINT_H
#include <stdint.h>
+#endif
#include <stdlib.h>
#include <string.h>
diff --git a/regress/unittests/misc/test_expand.c b/regress/unittests/misc/test_expand.c
index c336fb0b2d09..513c69bce4e2 100644
--- a/regress/unittests/misc/test_expand.c
+++ b/regress/unittests/misc/test_expand.c
@@ -10,7 +10,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
+#ifdef HAVE_STDINT_H
#include <stdint.h>
+#endif
#include <stdlib.h>
#include <string.h>
diff --git a/regress/unittests/misc/test_parse.c b/regress/unittests/misc/test_parse.c
index dd99068d0700..727ff3dea9d7 100644
--- a/regress/unittests/misc/test_parse.c
+++ b/regress/unittests/misc/test_parse.c
@@ -10,7 +10,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
+#ifdef HAVE_STDINT_H
#include <stdint.h>
+#endif
#include <stdlib.h>
#include <string.h>
diff --git a/regress/unittests/misc/test_strdelim.c b/regress/unittests/misc/test_strdelim.c
new file mode 100644
index 000000000000..1d9133d4b31b
--- /dev/null
+++ b/regress/unittests/misc/test_strdelim.c
@@ -0,0 +1,202 @@
+/* $OpenBSD: test_strdelim.c,v 1.2 2021/05/21 03:59:01 djm Exp $ */
+/*
+ * Regress test for misc strdelim() and co
+ *
+ * Placed in the public domain.
+ */
+
+#include "includes.h"
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <stdio.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+
+#include "../test_helper/test_helper.h"
+
+#include "log.h"
+#include "misc.h"
+#include "xmalloc.h"
+
+void test_strdelim(void);
+
+void
+test_strdelim(void)
+{
+ char *orig, *str, *cp;
+
+#define START_STRING(x) orig = str = xstrdup(x)
+#define DONE_STRING() free(orig)
+
+ TEST_START("empty");
+ START_STRING("");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, ""); /* XXX arguable */
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("whitespace");
+ START_STRING(" ");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */
+ ASSERT_STRING_EQ(str, "");
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("trivial");
+ START_STRING("blob");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob");
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ ASSERT_PTR_EQ(str, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("trivial whitespace");
+ START_STRING("blob ");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob");
+ ASSERT_STRING_EQ(str, "");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */
+ ASSERT_PTR_EQ(str, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("multi");
+ START_STRING("blob1 blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1");
+ ASSERT_STRING_EQ(str, "blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2");
+ ASSERT_PTR_EQ(str, NULL);
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("multi whitespace");
+ START_STRING("blob1 blob2 ");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1");
+ ASSERT_STRING_EQ(str, "blob2 ");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */
+ ASSERT_PTR_EQ(str, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("multi equals");
+ START_STRING("blob1=blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1");
+ ASSERT_STRING_EQ(str, "blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2");
+ ASSERT_PTR_EQ(str, NULL);
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("multi too many equals");
+ START_STRING("blob1==blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1"); /* XXX better returning NULL early */
+ ASSERT_STRING_EQ(str, "=blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "");
+ ASSERT_STRING_EQ(str, "blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2"); /* XXX should (but can't) reject */
+ ASSERT_PTR_EQ(str, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("multi equals strdelimw");
+ START_STRING("blob1=blob2");
+ cp = strdelimw(&str);
+ ASSERT_STRING_EQ(cp, "blob1=blob2");
+ ASSERT_PTR_EQ(str, NULL);
+ cp = strdelimw(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("quoted");
+ START_STRING("\"blob\"");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */
+ ASSERT_PTR_EQ(str, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("quoted multi");
+ START_STRING("\"blob1\" blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1");
+ ASSERT_STRING_EQ(str, "blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2");
+ ASSERT_PTR_EQ(str, NULL);
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("quoted multi reverse");
+ START_STRING("blob1 \"blob2\"");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1");
+ ASSERT_STRING_EQ(str, "\"blob2\"");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2");
+ ASSERT_STRING_EQ(str, "");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */
+ ASSERT_PTR_EQ(str, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("quoted multi middle");
+ START_STRING("blob1 \"blob2\" blob3");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob1");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob2");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob3");
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("badquote");
+ START_STRING("\"blob");
+ cp = strdelim(&str);
+ ASSERT_PTR_EQ(cp, NULL);
+ DONE_STRING();
+ TEST_DONE();
+
+ TEST_START("oops quote");
+ START_STRING("\"blob\\\"");
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "blob\\"); /* XXX wrong */
+ cp = strdelim(&str);
+ ASSERT_STRING_EQ(cp, "");
+ DONE_STRING();
+ TEST_DONE();
+
+}
diff --git a/regress/unittests/misc/tests.c b/regress/unittests/misc/tests.c
index 75013f481cb5..b0b7cd4332e3 100644
--- a/regress/unittests/misc/tests.c
+++ b/regress/unittests/misc/tests.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tests.c,v 1.6 2021/03/19 04:23:50 djm Exp $ */
+/* $OpenBSD: tests.c,v 1.7 2021/05/21 03:48:07 djm Exp $ */
/*
* Regress test for misc helper functions.
*
@@ -10,7 +10,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
+#ifdef HAVE_STDINT_H
#include <stdint.h>
+#endif
#include <stdlib.h>
#include <string.h>
@@ -23,6 +25,7 @@ void test_parse(void);
void test_convtime(void);
void test_expand(void);
void test_argv(void);
+void test_strdelim(void);
void
tests(void)
@@ -31,4 +34,5 @@ tests(void)
test_convtime();
test_expand();
test_argv();
+ test_strdelim();
}
diff --git a/regress/unittests/sshsig/webauthn.html b/regress/unittests/sshsig/webauthn.html
index 953041e61ecb..1869c8b373cf 100644
--- a/regress/unittests/sshsig/webauthn.html
+++ b/regress/unittests/sshsig/webauthn.html
@@ -37,6 +37,8 @@ Lots of debugging is printed along the way.
<pre id="enrollresultraw" style="color: #008; font-family: monospace;"></pre>
<h2>attestationObject</h2>
<pre id="enrollresultattestobj" style="color: #008; font-family: monospace;"></pre>
+<h2>key handle</h2>
+<pre id="keyhandle" style="color: #008; font-family: monospace;"></pre>
<h2>authData raw</h2>
<pre id="enrollresultauthdataraw" style="color: #008; font-family: monospace;"></pre>
<h2>authData</h2>
@@ -45,6 +47,8 @@ Lots of debugging is printed along the way.
<pre id="enrollresultpkblob" style="color: #008; font-family: monospace;"></pre>
<h2>SSH pubkey string</h2>
<pre id="enrollresultpk" style="color: #008; font-family: monospace;"></pre>
+<h2>SSH private key string</h2>
+<pre id="enrollresultprivkey" style="color: #008; font-family: monospace;"></pre>
</span>
<span id="assertsection" style="visibility: hidden;">
<h2>Assert</h2>
@@ -241,12 +245,16 @@ var SSHMSG = function() {
this.r = []
}
-SSHMSG.prototype.serialise = function() {
+SSHMSG.prototype.length = function() {
let len = 0
for (buf of this.r) {
len += buf.length
}
- let r = new ArrayBuffer(len)
+ return len
+}
+
+SSHMSG.prototype.serialise = function() {
+ let r = new ArrayBuffer(this.length())
let v = new Uint8Array(r)
let offset = 0
for (buf of this.r) {
@@ -281,6 +289,12 @@ SSHMSG.prototype.put = function(v) {
this.r.push(new Uint8Array(v))
}
+SSHMSG.prototype.putStringRaw = function(v) {
+ let enc = new TextEncoder();
+ let venc = enc.encode(v)
+ this.put(venc)
+}
+
SSHMSG.prototype.putString = function(v) {
let enc = new TextEncoder();
let venc = enc.encode(v)
@@ -392,6 +406,9 @@ function enrollSuccess(result) {
clientData = u8dec.decode(result.response.clientDataJSON)
document.getElementById("enrollresultjson").innerText = clientData
+ // Show the raw key handle.
+ document.getElementById("keyhandle").innerText = hexdump(result.rawId)
+
// Decode and show the attestationObject
document.getElementById("enrollresultraw").innerText = hexdump(result.response.attestationObject)
let aod = new CBORDecode(result.response.attestationObject)
@@ -417,6 +434,14 @@ function enrollSuccess(result) {
let pk = "sk-ecdsa-sha2-nistp256@openssh.com " + pk64
document.getElementById("enrollresultpk").innerText = pk
+ // Format a private key too.
+ flags = 0x01 // SSH_SK_USER_PRESENCE_REQD
+ window.rawPrivkey = reformatPrivkey(authData.attestedCredentialData.credentialPublicKey, window.enrollOpts.rp.id, result.rawId, flags)
+ let privkeyFileBlob = privkeyFile(window.rawKey, window.rawPrivkey, window.enrollOpts.user.name, window.enrollOpts.rp.id)
+ let privk64 = btoa(String.fromCharCode(...new Uint8Array(privkeyFileBlob)));
+ let privkey = "-----BEGIN OPENSSH PRIVATE KEY-----\n" + wrapString(privk64, 70) + "-----END OPENSSH PRIVATE KEY-----\n"
+ document.getElementById("enrollresultprivkey").innerText = privkey
+
// Success: show the assertion form.
document.getElementById("assertsection").style.visibility = "visible"
}
@@ -456,7 +481,15 @@ function decodeAuthenticatorData(authData, expectCred) {
return r
}
-function reformatPubkey(pk, rpid) {
+function wrapString(s, l) {
+ ret = ""
+ for (i = 0; i < s.length; i += l) {
+ ret += s.slice(i, i + l) + "\n"
+ }
+ return ret
+}
+
+function checkPubkey(pk) {
// pk is in COSE format. We only care about a tiny subset.
if (pk[1] != 2) {
console.dir(pk)
@@ -471,6 +504,10 @@ function reformatPubkey(pk, rpid) {
if (pk[-2].byteLength != 32 || pk[-3].byteLength != 32) {
throw new Error("pubkey EC coords have bad length")
}
+}
+
+function reformatPubkey(pk, rpid) {
+ checkPubkey(pk)
let msg = new SSHMSG()
msg.putString("sk-ecdsa-sha2-nistp256@openssh.com") // Key type
msg.putString("nistp256") // Key curve
@@ -479,6 +516,43 @@ function reformatPubkey(pk, rpid) {
return msg.serialise()
}
+function reformatPrivkey(pk, rpid, kh, flags) {
+ checkPubkey(pk)
+ let msg = new SSHMSG()
+ msg.putString("sk-ecdsa-sha2-nistp256@openssh.com") // Key type
+ msg.putString("nistp256") // Key curve
+ msg.putECPoint(pk[-2], pk[-3]) // EC key
+ msg.putString(rpid) // RP ID
+ msg.putU8(flags) // flags
+ msg.putBytes(kh) // handle
+ msg.putString("") // reserved
+ return msg.serialise()
+}
+
+function privkeyFile(pub, priv, user, rp) {
+ let innerMsg = new SSHMSG()
+ innerMsg.putU32(0xdeadbeef) // check byte
+ innerMsg.putU32(0xdeadbeef) // check byte
+ innerMsg.put(priv) // privkey
+ innerMsg.putString("webauthn.html " + user + "@" + rp) // comment
+ // Pad to cipher blocksize (8).
+ p = 1
+ while (innerMsg.length() % 8 != 0) {
+ innerMsg.putU8(p++)
+ }
+ let msg = new SSHMSG()
+ msg.putStringRaw("openssh-key-v1") // Magic
+ msg.putU8(0) // \0 terminate
+ msg.putString("none") // cipher
+ msg.putString("none") // KDF
+ msg.putString("") // KDF options
+ msg.putU32(1) // nkeys
+ msg.putBytes(pub) // pubkey
+ msg.putSSHMSG(innerMsg) // inner
+ //msg.put(innerMsg.serialise()) // inner
+ return msg.serialise()
+}
+
async function assertform_submit(event) {
event.preventDefault();
console.log("submitted")
diff --git a/scp.0 b/scp.0
index fee6ae89ea60..6f1fc7548976 100644
--- a/scp.0
+++ b/scp.0
@@ -4,9 +4,9 @@ NAME
scp M-bM-^@M-^S OpenSSH secure file copy
SYNOPSIS
- scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
- [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program]
- source ... target
+ scp [-346ABCOpqRrsTv] [-c cipher] [-D sftp_server_path] [-F ssh_config]
+ [-i identity_file] [-J destination] [-l limit] [-o ssh_option]
+ [-P port] [-S program] source ... target
DESCRIPTION
scp copies files between hosts on a network.
@@ -25,15 +25,16 @@ DESCRIPTION
containing M-bM-^@M-^X:M-bM-^@M-^Y as host specifiers.
When copying between two remote hosts, if the URI format is used, a port
- may only be specified on the target if the -3 option is used.
+ cannot be specified on the target if the -R option is used.
The options are as follows:
-3 Copies between two remote hosts are transferred through the local
host. Without this option the data is copied directly between
- the two remote hosts. Note that this option disables the
- progress meter and selects batch mode for the second host, since
- scp cannot ask for passwords or passphrases for both hosts.
+ the two remote hosts. Note that, when using the legacy SCP
+ protocol (the default), this option selects batch mode for the
+ second host as scp cannot ask for passwords or passphrases for
+ both hosts. This mode is the default.
-4 Forces scp to use IPv4 addresses only.
@@ -52,6 +53,11 @@ DESCRIPTION
Selects the cipher to use for encrypting the data transfer. This
option is directly passed to ssh(1).
+ -D sftp_server_path
+ When using the SFTP protocol support via -M, connect directly to
+ a local SFTP server program rather than a remote one via ssh(1).
+ This option may be useful in debugging the client and server.
+
-F ssh_config
Specifies an alternative per-user configuration file for ssh.
This option is directly passed to ssh(1).
@@ -72,6 +78,12 @@ DESCRIPTION
-l limit
Limits the used bandwidth, specified in Kbit/s.
+ -O Use the legacy SCP protocol for file transfers instead of the
+ SFTP protocol. Forcing the use of the SCP protocol may be
+ necessary for servers that do not implement SFTP or for
+ backwards-compatibility for particular filename wildcard
+ patterns. This mode is the default.
+
-o ssh_option
Can be used to pass options to ssh in the format used in
ssh_config(5). This is useful for specifying options for which
@@ -90,7 +102,6 @@ DESCRIPTION
CanonicalizePermittedCNAMEs
CASignatureAlgorithms
CertificateFile
- ChallengeResponseAuthentication
CheckHostIP
Ciphers
Compression
@@ -152,6 +163,11 @@ DESCRIPTION
-q Quiet mode: disables the progress meter as well as warning and
diagnostic messages from ssh(1).
+ -R Copies between two remote hosts are performed by connecting to
+ the origin host and executing scp there. This requires that scp
+ running on the origin host can authenticate to the destination
+ host without requiring a password.
+
-r Recursively copy entire directories. Note that scp follows
symbolic links encountered in the tree traversal.
@@ -159,6 +175,15 @@ DESCRIPTION
Name of program to use for the encrypted connection. The program
must understand ssh(1) options.
+ -s Use the SFTP protocol for file transfers instead of the legacy
+ SCP protocol. Using SFTP avoids invoking a shell on the remote
+ side and provides more predictable filename handling, as the SCP
+ protocol relied on the remote shell for expanding glob(3)
+ wildcards.
+
+ A near-future release of OpenSSH will make the SFTP protocol the
+ default. This option will be deleted before the end of 2022.
+
-T Disable strict filename checking. By default when copying files
from a remote host to a local directory scp checks that the
received filenames match those requested on the command-line to
@@ -178,7 +203,7 @@ EXIT STATUS
SEE ALSO
sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5),
- sshd(8)
+ sftp-server(8), sshd(8)
HISTORY
scp is based on the rcp program in BSD source code from the Regents of
@@ -188,4 +213,4 @@ AUTHORS
Timo Rinne <tri@iki.fi>
Tatu Ylonen <ylo@cs.hut.fi>
-OpenBSD 6.9 January 26, 2021 OpenBSD 6.9
+OpenBSD 6.9 August 11, 2021 OpenBSD 6.9
diff --git a/scp.1 b/scp.1
index 5471ea31ba2b..68aac04b205c 100644
--- a/scp.1
+++ b/scp.1
@@ -8,9 +8,9 @@
.\"
.\" Created: Sun May 7 00:14:37 1995 ylo
.\"
-.\" $OpenBSD: scp.1,v 1.95 2021/01/26 15:40:17 naddy Exp $
+.\" $OpenBSD: scp.1,v 1.100 2021/08/11 14:07:54 naddy Exp $
.\"
-.Dd $Mdocdate: January 26 2021 $
+.Dd $Mdocdate: August 11 2021 $
.Dt SCP 1
.Os
.Sh NAME
@@ -18,8 +18,9 @@
.Nd OpenSSH secure file copy
.Sh SYNOPSIS
.Nm scp
-.Op Fl 346ABCpqrTv
+.Op Fl 346ABCOpqRrsTv
.Op Fl c Ar cipher
+.Op Fl D Ar sftp_server_path
.Op Fl F Ar ssh_config
.Op Fl i Ar identity_file
.Op Fl J Ar destination
@@ -66,10 +67,10 @@ as host specifiers.
.Pp
When copying between two remote hosts, if the URI format is used, a
.Ar port
-may only be specified on the
+cannot be specified on the
.Ar target
if the
-.Fl 3
+.Fl R
option is used.
.Pp
The options are as follows:
@@ -78,10 +79,11 @@ The options are as follows:
Copies between two remote hosts are transferred through the local host.
Without this option the data is copied directly between the two remote
hosts.
-Note that this option disables the progress meter and selects batch mode
-for the second host, since
+Note that, when using the legacy SCP protocol (the default), this option
+selects batch mode for the second host as
.Nm
cannot ask for passwords or passphrases for both hosts.
+This mode is the default.
.It Fl 4
Forces
.Nm
@@ -108,6 +110,13 @@ to enable compression.
Selects the cipher to use for encrypting the data transfer.
This option is directly passed to
.Xr ssh 1 .
+.It Fl D Ar sftp_server_path
+When using the SFTP protocol support via
+.Fl M ,
+connect directly to a local SFTP server program rather than a
+remote one via
+.Xr ssh 1 .
+This option may be useful in debugging the client and server.
.It Fl F Ar ssh_config
Specifies an alternative
per-user configuration file for
@@ -134,6 +143,12 @@ This option is directly passed to
.Xr ssh 1 .
.It Fl l Ar limit
Limits the used bandwidth, specified in Kbit/s.
+.It Fl O
+Use the legacy SCP protocol for file transfers instead of the SFTP protocol.
+Forcing the use of the SCP protocol may be necessary for servers that do
+not implement SFTP or for backwards-compatibility for particular filename
+wildcard patterns.
+This mode is the default.
.It Fl o Ar ssh_option
Can be used to pass options to
.Nm ssh
@@ -158,7 +173,6 @@ For full details of the options listed below, and their possible values, see
.It CanonicalizePermittedCNAMEs
.It CASignatureAlgorithms
.It CertificateFile
-.It ChallengeResponseAuthentication
.It CheckHostIP
.It Ciphers
.It Compression
@@ -223,6 +237,15 @@ original file.
Quiet mode: disables the progress meter as well as warning and diagnostic
messages from
.Xr ssh 1 .
+.It Fl R
+Copies between two remote hosts are performed by connecting to the origin
+host and executing
+.Nm
+there.
+This requires that
+.Nm
+running on the origin host can authenticate to the destination host without
+requiring a password.
.It Fl r
Recursively copy entire directories.
Note that
@@ -235,6 +258,16 @@ to use for the encrypted connection.
The program must understand
.Xr ssh 1
options.
+.It Fl s
+Use the SFTP protocol for file transfers instead of the legacy SCP protocol.
+Using SFTP avoids invoking a shell on the remote side and provides
+more predictable filename handling, as the SCP protocol
+relied on the remote shell for expanding
+.Xr glob 3
+wildcards.
+.Pp
+A near-future release of OpenSSH will make the SFTP protocol the default.
+This option will be deleted before the end of 2022.
.It Fl T
Disable strict filename checking.
By default when copying files from a remote host to a local directory
@@ -264,6 +297,7 @@ debugging connection, authentication, and configuration problems.
.Xr ssh-agent 1 ,
.Xr ssh-keygen 1 ,
.Xr ssh_config 5 ,
+.Xr sftp-server 8 ,
.Xr sshd 8
.Sh HISTORY
.Nm
diff --git a/scp.c b/scp.c
index d23f34c1755b..e039350c6093 100644
--- a/scp.c
+++ b/scp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scp.c,v 1.214 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: scp.c,v 1.232 2021/08/11 14:07:54 naddy Exp $ */
/*
* scp - secure remote copy. This is basically patched BSD rcp which
* uses ssh to do the data transfer (instead of using rcmd).
@@ -97,6 +97,14 @@
#ifdef HAVE_FNMATCH_H
#include <fnmatch.h>
#endif
+#ifdef USE_SYSTEM_GLOB
+# include <glob.h>
+#else
+# include "openbsd-compat/glob.h"
+#endif
+#ifdef HAVE_LIBGEN_H
+#include <libgen.h>
+#endif
#include <limits.h>
#include <locale.h>
#include <pwd.h>
@@ -123,12 +131,15 @@
#include "progressmeter.h"
#include "utf8.h"
+#include "sftp-common.h"
+#include "sftp-client.h"
+
extern char *__progname;
#define COPY_BUFLEN 16384
-int do_cmd(char *host, char *remuser, int port, char *cmd, int *fdin, int *fdout);
-int do_cmd2(char *host, char *remuser, int port, char *cmd, int fdin, int fdout);
+int do_cmd(char *, char *, char *, int, int, char *, int *, int *, pid_t *);
+int do_cmd2(char *, char *, int, char *, int, int);
/* Struct for addargs */
arglist args;
@@ -143,6 +154,7 @@ char *curfile;
/* This is set to non-zero to enable verbose mode. */
int verbose_mode = 0;
+LogLevel log_level = SYSLOG_LEVEL_INFO;
/* This is set to zero if the progressmeter is not desired. */
int showprogress = 1;
@@ -151,7 +163,7 @@ int showprogress = 1;
* This is set to non-zero if remote-remote copy should be piped
* through this process.
*/
-int throughlocal = 0;
+int throughlocal = 1;
/* Non-standard port to use for the ssh connection or -1. */
int sshport = -1;
@@ -161,6 +173,13 @@ char *ssh_program = _PATH_SSH_PROGRAM;
/* This is used to store the pid of ssh_program */
pid_t do_cmd_pid = -1;
+pid_t do_cmd_pid2 = -1;
+
+/* Needed for sftp */
+volatile sig_atomic_t interrupted = 0;
+
+int remote_glob(struct sftp_conn *, const char *, int,
+ int (*)(const char *, int), glob_t *); /* proto for sftp-glob.c */
static void
killchild(int signo)
@@ -169,6 +188,10 @@ killchild(int signo)
kill(do_cmd_pid, signo ? signo : SIGTERM);
waitpid(do_cmd_pid, NULL, 0);
}
+ if (do_cmd_pid2 > 1) {
+ kill(do_cmd_pid2, signo ? signo : SIGTERM);
+ waitpid(do_cmd_pid2, NULL, 0);
+ }
if (signo)
_exit(1);
@@ -176,19 +199,26 @@ killchild(int signo)
}
static void
-suspchild(int signo)
+suspone(int pid, int signo)
{
int status;
- if (do_cmd_pid > 1) {
- kill(do_cmd_pid, signo);
- while (waitpid(do_cmd_pid, &status, WUNTRACED) == -1 &&
+ if (pid > 1) {
+ kill(pid, signo);
+ while (waitpid(pid, &status, WUNTRACED) == -1 &&
errno == EINTR)
;
- kill(getpid(), SIGSTOP);
}
}
+static void
+suspchild(int signo)
+{
+ suspone(do_cmd_pid, signo);
+ suspone(do_cmd_pid2, signo);
+ kill(getpid(), SIGSTOP);
+}
+
static int
do_local_cmd(arglist *a)
{
@@ -238,14 +268,15 @@ do_local_cmd(arglist *a)
*/
int
-do_cmd(char *host, char *remuser, int port, char *cmd, int *fdin, int *fdout)
+do_cmd(char *program, char *host, char *remuser, int port, int subsystem,
+ char *cmd, int *fdin, int *fdout, pid_t *pid)
{
int pin[2], pout[2], reserved[2];
if (verbose_mode)
fmprintf(stderr,
"Executing: program %s host %s, user %s, command %s\n",
- ssh_program, host,
+ program, host,
remuser ? remuser : "(unspecified)", cmd);
if (port == -1)
@@ -273,8 +304,8 @@ do_cmd(char *host, char *remuser, int port, char *cmd, int *fdin, int *fdout)
ssh_signal(SIGTTOU, suspchild);
/* Fork a child to execute the command on the remote host using ssh. */
- do_cmd_pid = fork();
- if (do_cmd_pid == 0) {
+ *pid = fork();
+ if (*pid == 0) {
/* Child. */
close(pin[1]);
close(pout[0]);
@@ -283,7 +314,7 @@ do_cmd(char *host, char *remuser, int port, char *cmd, int *fdin, int *fdout)
close(pin[0]);
close(pout[1]);
- replacearg(&args, 0, "%s", ssh_program);
+ replacearg(&args, 0, "%s", program);
if (port != -1) {
addargs(&args, "-p");
addargs(&args, "%d", port);
@@ -292,14 +323,16 @@ do_cmd(char *host, char *remuser, int port, char *cmd, int *fdin, int *fdout)
addargs(&args, "-l");
addargs(&args, "%s", remuser);
}
+ if (subsystem)
+ addargs(&args, "-s");
addargs(&args, "--");
addargs(&args, "%s", host);
addargs(&args, "%s", cmd);
- execvp(ssh_program, args.list);
- perror(ssh_program);
+ execvp(program, args.list);
+ perror(program);
exit(1);
- } else if (do_cmd_pid == -1) {
+ } else if (*pid == -1) {
fatal("fork: %s", strerror(errno));
}
/* Parent. Close the other side, and return the local side. */
@@ -319,10 +352,11 @@ do_cmd(char *host, char *remuser, int port, char *cmd, int *fdin, int *fdout)
* This way the input and output of two commands can be connected.
*/
int
-do_cmd2(char *host, char *remuser, int port, char *cmd, int fdin, int fdout)
+do_cmd2(char *host, char *remuser, int port, char *cmd,
+ int fdin, int fdout)
{
- pid_t pid;
int status;
+ pid_t pid;
if (verbose_mode)
fmprintf(stderr,
@@ -382,28 +416,40 @@ void verifydir(char *);
struct passwd *pwd;
uid_t userid;
-int errs, remin, remout;
+int errs, remin, remout, remin2, remout2;
int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory;
#define CMDNEEDS 64
char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */
+enum scp_mode_e {
+ MODE_SCP,
+ MODE_SFTP
+};
+
int response(void);
void rsource(char *, struct stat *);
void sink(int, char *[], const char *);
void source(int, char *[]);
-void tolocal(int, char *[]);
-void toremote(int, char *[]);
+void tolocal(int, char *[], enum scp_mode_e, char *sftp_direct);
+void toremote(int, char *[], enum scp_mode_e, char *sftp_direct);
void usage(void);
+void source_sftp(int, char *, char *, struct sftp_conn *);
+void sink_sftp(int, char *, const char *, struct sftp_conn *);
+void throughlocal_sftp(struct sftp_conn *, struct sftp_conn *,
+ char *, char *);
+
int
main(int argc, char **argv)
{
int ch, fflag, tflag, status, n;
- char **newargv;
+ char **newargv, *argv0;
const char *errstr;
extern char *optarg;
extern int optind;
+ enum scp_mode_e mode = MODE_SCP;
+ char *sftp_direct = NULL;
/* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */
sanitise_stdfd();
@@ -413,6 +459,7 @@ main(int argc, char **argv)
msetlocale();
/* Copy argv, because we modify it */
+ argv0 = argv[0];
newargv = xcalloc(MAXIMUM(argc + 1, 1), sizeof(*newargv));
for (n = 0; n < argc; n++)
newargv[n] = xstrdup(argv[n]);
@@ -420,6 +467,8 @@ main(int argc, char **argv)
__progname = ssh_get_progname(argv[0]);
+ log_init(argv0, log_level, SYSLOG_FACILITY_USER, 1);
+
memset(&args, '\0', sizeof(args));
memset(&remote_remote_args, '\0', sizeof(remote_remote_args));
args.list = remote_remote_args.list = NULL;
@@ -432,7 +481,7 @@ main(int argc, char **argv)
fflag = Tflag = tflag = 0;
while ((ch = getopt(argc, argv,
- "12346ABCTdfpqrtvF:J:P:S:c:i:l:o:")) != -1) {
+ "12346ABCTdfOpqRrstvD:F:J:M:P:S:c:i:l:o:")) != -1) {
switch (ch) {
/* User-visible flags. */
case '1':
@@ -448,9 +497,15 @@ main(int argc, char **argv)
addargs(&args, "-%c", ch);
addargs(&remote_remote_args, "-%c", ch);
break;
+ case 'D':
+ sftp_direct = optarg;
+ break;
case '3':
throughlocal = 1;
break;
+ case 'R':
+ throughlocal = 0;
+ break;
case 'o':
case 'c':
case 'i':
@@ -461,6 +516,12 @@ main(int argc, char **argv)
addargs(&args, "-%c", ch);
addargs(&args, "%s", optarg);
break;
+ case 'O':
+ mode = MODE_SCP;
+ break;
+ case 's':
+ mode = MODE_SFTP;
+ break;
case 'P':
sshport = a2port(optarg);
if (sshport <= 0)
@@ -490,6 +551,10 @@ main(int argc, char **argv)
case 'v':
addargs(&args, "-v");
addargs(&remote_remote_args, "-v");
+ if (verbose_mode == 0)
+ log_level = SYSLOG_LEVEL_DEBUG1;
+ else if (log_level < SYSLOG_LEVEL_DEBUG3)
+ log_level++;
verbose_mode = 1;
break;
case 'q':
@@ -523,9 +588,14 @@ main(int argc, char **argv)
argc -= optind;
argv += optind;
+ log_init(argv0, log_level, SYSLOG_FACILITY_USER, 1);
+
/* Do this last because we want the user to be able to override it */
addargs(&args, "-oForwardAgent=no");
+ if (iamremote)
+ mode = MODE_SCP;
+
if ((pwd = getpwuid(userid = getuid())) == NULL)
fatal("unknown user %u", (u_int) userid);
@@ -572,11 +642,11 @@ main(int argc, char **argv)
(void) ssh_signal(SIGPIPE, lostconn);
if (colon(argv[argc - 1])) /* Dest is remote host. */
- toremote(argc, argv);
+ toremote(argc, argv, mode, sftp_direct);
else {
if (targetshouldbedirectory)
verifydir(argv[argc - 1]);
- tolocal(argc, argv); /* Dest is local host. */
+ tolocal(argc, argv, mode, sftp_direct); /* Dest is local host. */
}
/*
* Finally check the exit status of the ssh process, if one was forked
@@ -887,14 +957,34 @@ brace_expand(const char *pattern, char ***patternsp, size_t *npatternsp)
return ret;
}
+static struct sftp_conn *
+do_sftp_connect(char *host, char *user, int port, char *sftp_direct,
+ int *reminp, int *remoutp, int *pidp)
+{
+ if (sftp_direct == NULL) {
+ if (do_cmd(ssh_program, host, user, port, 1, "sftp",
+ reminp, remoutp, pidp) < 0)
+ return NULL;
+
+ } else {
+ args.list = NULL;
+ addargs(&args, "sftp-server");
+ if (do_cmd(sftp_direct, host, NULL, -1, 0, "sftp",
+ reminp, remoutp, pidp) < 0)
+ return NULL;
+ }
+ return do_init(*reminp, *remoutp, 32768, 64, limit_kbps);
+}
+
void
-toremote(int argc, char **argv)
+toremote(int argc, char **argv, enum scp_mode_e mode, char *sftp_direct)
{
char *suser = NULL, *host = NULL, *src = NULL;
char *bp, *tuser, *thost, *targ;
int sport = -1, tport = -1;
+ struct sftp_conn *conn = NULL, *conn2 = NULL;
arglist alist;
- int i, r;
+ int i, r, status;
u_int j;
memset(&alist, '\0', sizeof(alist));
@@ -915,10 +1005,6 @@ toremote(int argc, char **argv)
goto out;
}
}
- if (tuser != NULL && !okname(tuser)) {
- ++errs;
- goto out;
- }
/* Parse source files */
for (i = 0; i < argc - 1; i++) {
@@ -939,24 +1025,77 @@ toremote(int argc, char **argv)
continue;
}
if (host && throughlocal) { /* extended remote to remote */
- xasprintf(&bp, "%s -f %s%s", cmd,
- *src == '-' ? "-- " : "", src);
- if (do_cmd(host, suser, sport, bp, &remin, &remout) < 0)
- exit(1);
- free(bp);
- xasprintf(&bp, "%s -t %s%s", cmd,
- *targ == '-' ? "-- " : "", targ);
- if (do_cmd2(thost, tuser, tport, bp, remin, remout) < 0)
- exit(1);
- free(bp);
- (void) close(remin);
- (void) close(remout);
- remin = remout = -1;
+ if (mode == MODE_SFTP) {
+ if (remin == -1) {
+ /* Connect to dest now */
+ conn = do_sftp_connect(thost, tuser,
+ tport, sftp_direct,
+ &remin, &remout, &do_cmd_pid);
+ if (conn == NULL) {
+ fatal("Unable to open "
+ "destination connection");
+ }
+ debug3_f("origin in %d out %d pid %ld",
+ remin, remout, (long)do_cmd_pid);
+ }
+ /*
+ * XXX remember suser/host/sport and only
+ * reconnect if they change between arguments.
+ * would save reconnections for cases like
+ * scp -3 hosta:/foo hosta:/bar hostb:
+ */
+ /* Connect to origin now */
+ conn2 = do_sftp_connect(host, suser,
+ sport, sftp_direct,
+ &remin2, &remout2, &do_cmd_pid2);
+ if (conn2 == NULL) {
+ fatal("Unable to open "
+ "source connection");
+ }
+ debug3_f("destination in %d out %d pid %ld",
+ remin2, remout2, (long)do_cmd_pid2);
+ throughlocal_sftp(conn2, conn, src, targ);
+ (void) close(remin2);
+ (void) close(remout2);
+ remin2 = remout2 = -1;
+ if (waitpid(do_cmd_pid2, &status, 0) == -1)
+ ++errs;
+ else if (!WIFEXITED(status) ||
+ WEXITSTATUS(status) != 0)
+ ++errs;
+ do_cmd_pid2 = -1;
+ continue;
+ } else {
+ xasprintf(&bp, "%s -f %s%s", cmd,
+ *src == '-' ? "-- " : "", src);
+ if (do_cmd(ssh_program, host, suser, sport, 0,
+ bp, &remin, &remout, &do_cmd_pid) < 0)
+ exit(1);
+ free(bp);
+ xasprintf(&bp, "%s -t %s%s", cmd,
+ *targ == '-' ? "-- " : "", targ);
+ if (do_cmd2(thost, tuser, tport, bp,
+ remin, remout) < 0)
+ exit(1);
+ free(bp);
+ (void) close(remin);
+ (void) close(remout);
+ remin = remout = -1;
+ }
} else if (host) { /* standard remote to remote */
+ /*
+ * Second remote user is passed to first remote side
+ * via scp command-line. Ensure it contains no obvious
+ * shell characters.
+ */
+ if (tuser != NULL && !okname(tuser)) {
+ ++errs;
+ continue;
+ }
if (tport != -1 && tport != SSH_DEFAULT_PORT) {
/* This would require the remote support URIs */
fatal("target port not supported with two "
- "remote hosts without the -3 option");
+ "remote hosts and the -R option");
}
freeargs(&alist);
@@ -987,11 +1126,28 @@ toremote(int argc, char **argv)
if (do_local_cmd(&alist) != 0)
errs = 1;
} else { /* local to remote */
+ if (mode == MODE_SFTP) {
+ if (remin == -1) {
+ /* Connect to remote now */
+ conn = do_sftp_connect(thost, tuser,
+ tport, sftp_direct,
+ &remin, &remout, &do_cmd_pid);
+ if (conn == NULL) {
+ fatal("Unable to open sftp "
+ "connection");
+ }
+ }
+
+ /* The protocol */
+ source_sftp(1, argv[i], targ, conn);
+ continue;
+ }
+ /* SCP */
if (remin == -1) {
xasprintf(&bp, "%s -t %s%s", cmd,
*targ == '-' ? "-- " : "", targ);
- if (do_cmd(thost, tuser, tport, bp, &remin,
- &remout) < 0)
+ if (do_cmd(ssh_program, thost, tuser, tport, 0,
+ bp, &remin, &remout, &do_cmd_pid) < 0)
exit(1);
if (response() < 0)
exit(1);
@@ -1001,6 +1157,8 @@ toremote(int argc, char **argv)
}
}
out:
+ if (mode == MODE_SFTP)
+ free(conn);
free(tuser);
free(thost);
free(targ);
@@ -1010,10 +1168,11 @@ out:
}
void
-tolocal(int argc, char **argv)
+tolocal(int argc, char **argv, enum scp_mode_e mode, char *sftp_direct)
{
char *bp, *host = NULL, *src = NULL, *suser = NULL;
arglist alist;
+ struct sftp_conn *conn = NULL;
int i, r, sport = -1;
memset(&alist, '\0', sizeof(alist));
@@ -1050,9 +1209,30 @@ tolocal(int argc, char **argv)
continue;
}
/* Remote to local. */
+ if (mode == MODE_SFTP) {
+ conn = do_sftp_connect(host, suser, sport,
+ sftp_direct, &remin, &remout, &do_cmd_pid);
+ if (conn == NULL) {
+ error("Couldn't make sftp connection "
+ "to server");
+ ++errs;
+ continue;
+ }
+
+ /* The protocol */
+ sink_sftp(1, argv[argc - 1], src, conn);
+
+ free(conn);
+ (void) close(remin);
+ (void) close(remout);
+ remin = remout = -1;
+ continue;
+ }
+ /* SCP */
xasprintf(&bp, "%s -f %s%s",
cmd, *src == '-' ? "-- " : "", src);
- if (do_cmd(host, suser, sport, bp, &remin, &remout) < 0) {
+ if (do_cmd(ssh_program, host, suser, sport, 0, bp,
+ &remin, &remout, &do_cmd_pid) < 0) {
free(bp);
++errs;
continue;
@@ -1067,6 +1247,65 @@ tolocal(int argc, char **argv)
free(src);
}
+/* Prepare remote path, handling ~ by assuming cwd is the homedir */
+static char *
+prepare_remote_path(struct sftp_conn *conn, const char *path)
+{
+ /* Handle ~ prefixed paths */
+ if (*path != '~')
+ return xstrdup(path);
+ if (*path == '\0' || strcmp(path, "~") == 0)
+ return xstrdup(".");
+ if (strncmp(path, "~/", 2) == 0)
+ return xstrdup(path + 2);
+ if (can_expand_path(conn))
+ return do_expand_path(conn, path);
+ /* No protocol extension */
+ error("~user paths are not currently supported");
+ return NULL;
+}
+
+void
+source_sftp(int argc, char *src, char *targ, struct sftp_conn *conn)
+{
+ char *target = NULL, *filename = NULL, *abs_dst = NULL;
+ int target_is_dir;
+
+ if ((filename = basename(src)) == NULL)
+ fatal("basename %s: %s", src, strerror(errno));
+
+ /*
+ * No need to glob here - the local shell already took care of
+ * the expansions
+ */
+ if ((target = prepare_remote_path(conn, targ)) == NULL)
+ cleanup_exit(255);
+ target_is_dir = remote_is_dir(conn, target);
+ if (targetshouldbedirectory && !target_is_dir) {
+ fatal("Target is not a directory, but more files selected "
+ "for upload");
+ }
+ if (target_is_dir)
+ abs_dst = path_append(target, filename);
+ else {
+ abs_dst = target;
+ target = NULL;
+ }
+ debug3_f("copying local %s to remote %s", src, abs_dst);
+
+ if (local_is_dir(src) && iamrecursive) {
+ if (upload_dir(conn, src, abs_dst, pflag,
+ SFTP_PROGRESS_ONLY, 0, 0, 1) != 0) {
+ fatal("failed to upload directory %s to %s",
+ src, abs_dst);
+ }
+ } else if (do_upload(conn, src, abs_dst, pflag, 0, 0) != 0)
+ fatal("failed to upload file %s to %s", src, abs_dst);
+
+ free(abs_dst);
+ free(target);
+}
+
void
source(int argc, char **argv)
{
@@ -1228,6 +1467,82 @@ rsource(char *name, struct stat *statp)
(void) response();
}
+void
+sink_sftp(int argc, char *dst, const char *src, struct sftp_conn *conn)
+{
+ char *abs_src = NULL;
+ char *abs_dst = NULL;
+ glob_t g;
+ char *filename, *tmp = NULL;
+ int i, r, err = 0;
+
+ memset(&g, 0, sizeof(g));
+ /*
+ * Here, we need remote glob as SFTP can not depend on remote shell
+ * expansions
+ */
+
+ if ((abs_src = prepare_remote_path(conn, src)) == NULL) {
+ err = -1;
+ goto out;
+ }
+
+ debug3_f("copying remote %s to local %s", abs_src, dst);
+ if ((r = remote_glob(conn, abs_src, GLOB_MARK, NULL, &g)) != 0) {
+ if (r == GLOB_NOSPACE)
+ error("Too many glob matches for \"%s\".", abs_src);
+ else
+ error("File \"%s\" not found.", abs_src);
+ err = -1;
+ goto out;
+ }
+
+ if (g.gl_matchc > 1 && !local_is_dir(dst)) {
+ error("Multiple files match pattern, but destination "
+ "\"%s\" is not a directory", dst);
+ err = -1;
+ goto out;
+ }
+
+ for (i = 0; g.gl_pathv[i] && !interrupted; i++) {
+ tmp = xstrdup(g.gl_pathv[i]);
+ if ((filename = basename(tmp)) == NULL) {
+ error("basename %s: %s", tmp, strerror(errno));
+ err = -1;
+ goto out;
+ }
+
+ if (local_is_dir(dst))
+ abs_dst = path_append(dst, filename);
+ else
+ abs_dst = xstrdup(dst);
+
+ debug("Fetching %s to %s\n", g.gl_pathv[i], abs_dst);
+ if (globpath_is_dir(g.gl_pathv[i]) && iamrecursive) {
+ if (download_dir(conn, g.gl_pathv[i], abs_dst, NULL,
+ pflag, SFTP_PROGRESS_ONLY, 0, 0, 1) == -1)
+ err = -1;
+ } else {
+ if (do_download(conn, g.gl_pathv[i], abs_dst, NULL,
+ pflag, 0, 0) == -1)
+ err = -1;
+ }
+ free(abs_dst);
+ abs_dst = NULL;
+ free(tmp);
+ tmp = NULL;
+ }
+
+out:
+ free(abs_src);
+ free(tmp);
+ globfree(&g);
+ if (err == -1) {
+ fatal("Failed to download file '%s'", src);
+ }
+}
+
+
#define TYPE_OVERFLOW(type, val) \
((sizeof(type) == 4 && (val) > INT32_MAX) || \
(sizeof(type) == 8 && (val) > INT64_MAX) || \
@@ -1553,6 +1868,79 @@ screwup:
exit(1);
}
+void
+throughlocal_sftp(struct sftp_conn *from, struct sftp_conn *to,
+ char *src, char *targ)
+{
+ char *target = NULL, *filename = NULL, *abs_dst = NULL;
+ char *abs_src = NULL, *tmp = NULL;
+ glob_t g;
+ int i, r, targetisdir, err = 0;
+
+ if ((filename = basename(src)) == NULL)
+ fatal("basename %s: %s", src, strerror(errno));
+
+ if ((abs_src = prepare_remote_path(from, src)) == NULL ||
+ (target = prepare_remote_path(to, targ)) == NULL)
+ cleanup_exit(255);
+ memset(&g, 0, sizeof(g));
+
+ targetisdir = remote_is_dir(to, target);
+ if (!targetisdir && targetshouldbedirectory) {
+ error("Destination path \"%s\" is not a directory", target);
+ err = -1;
+ goto out;
+ }
+
+ debug3_f("copying remote %s to remote %s", abs_src, target);
+ if ((r = remote_glob(from, abs_src, GLOB_MARK, NULL, &g)) != 0) {
+ if (r == GLOB_NOSPACE)
+ error("Too many glob matches for \"%s\".", abs_src);
+ else
+ error("File \"%s\" not found.", abs_src);
+ err = -1;
+ goto out;
+ }
+
+ for (i = 0; g.gl_pathv[i] && !interrupted; i++) {
+ tmp = xstrdup(g.gl_pathv[i]);
+ if ((filename = basename(tmp)) == NULL) {
+ error("basename %s: %s", tmp, strerror(errno));
+ err = -1;
+ goto out;
+ }
+
+ if (targetisdir)
+ abs_dst = path_append(target, filename);
+ else
+ abs_dst = xstrdup(target);
+
+ debug("Fetching %s to %s\n", g.gl_pathv[i], abs_dst);
+ if (globpath_is_dir(g.gl_pathv[i]) && iamrecursive) {
+ if (crossload_dir(from, to, g.gl_pathv[i], abs_dst,
+ NULL, pflag, SFTP_PROGRESS_ONLY, 1) == -1)
+ err = -1;
+ } else {
+ if (do_crossload(from, to, g.gl_pathv[i], abs_dst, NULL,
+ pflag) == -1)
+ err = -1;
+ }
+ free(abs_dst);
+ abs_dst = NULL;
+ free(tmp);
+ tmp = NULL;
+ }
+
+out:
+ free(abs_src);
+ free(abs_dst);
+ free(target);
+ free(tmp);
+ globfree(&g);
+ if (err == -1)
+ fatal("Failed to download file '%s'", src);
+}
+
int
response(void)
{
@@ -1595,9 +1983,9 @@ void
usage(void)
{
(void) fprintf(stderr,
- "usage: scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]\n"
- " [-J destination] [-l limit] [-o ssh_option] [-P port]\n"
- " [-S program] source ... target\n");
+ "usage: scp [-346ABCOpqRrsTv] [-c cipher] [-D sftp_server_path] [-F ssh_config]\n"
+ " [-i identity_file] [-J destination] [-l limit]\n"
+ " [-o ssh_option] [-P port] [-S program] source ... target\n");
exit(1);
}
@@ -1736,3 +2124,21 @@ lostconn(int signo)
else
exit(1);
}
+
+void
+cleanup_exit(int i)
+{
+ if (remin > 0)
+ close(remin);
+ if (remout > 0)
+ close(remout);
+ if (remin2 > 0)
+ close(remin2);
+ if (remout2 > 0)
+ close(remout2);
+ if (do_cmd_pid > 0)
+ waitpid(do_cmd_pid, NULL, 0);
+ if (do_cmd_pid2 > 0)
+ waitpid(do_cmd_pid2, NULL, 0);
+ exit(i);
+}
diff --git a/servconf.c b/servconf.c
index 4d1910feb432..a765e4e05f50 100644
--- a/servconf.c
+++ b/servconf.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: servconf.c,v 1.379 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: servconf.c,v 1.381 2021/07/02 05:11:21 dtucker Exp $ */
/*
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
* All rights reserved
@@ -140,7 +140,6 @@ initialize_server_options(ServerOptions *options)
options->gss_strict_acceptor = -1;
options->password_authentication = -1;
options->kbd_interactive_authentication = -1;
- options->challenge_response_authentication = -1;
options->permit_empty_passwd = -1;
options->permit_user_env = -1;
options->permit_user_env_allowlist = NULL;
@@ -364,9 +363,7 @@ fill_default_server_options(ServerOptions *options)
if (options->password_authentication == -1)
options->password_authentication = 1;
if (options->kbd_interactive_authentication == -1)
- options->kbd_interactive_authentication = 0;
- if (options->challenge_response_authentication == -1)
- options->challenge_response_authentication = 1;
+ options->kbd_interactive_authentication = 1;
if (options->permit_empty_passwd == -1)
options->permit_empty_passwd = 0;
if (options->permit_user_env == -1) {
@@ -492,7 +489,6 @@ typedef enum {
/* Standard Options */
sPort, sHostKeyFile, sLoginGraceTime,
sPermitRootLogin, sLogFacility, sLogLevel, sLogVerbose,
- sRhostsRSAAuthentication, sRSAAuthentication,
sKerberosAuthentication, sKerberosOrLocalPasswd, sKerberosTicketCleanup,
sKerberosGetAFSToken, sChallengeResponseAuthentication,
sPasswordAuthentication, sKbdInteractiveAuthentication,
@@ -599,8 +595,8 @@ static struct {
#endif
{ "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL },
{ "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL },
- { "challengeresponseauthentication", sChallengeResponseAuthentication, SSHCFG_GLOBAL },
- { "skeyauthentication", sDeprecated, SSHCFG_GLOBAL },
+ { "challengeresponseauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL }, /* alias */
+ { "skeyauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL }, /* alias */
{ "checkmail", sDeprecated, SSHCFG_GLOBAL },
{ "listenaddress", sListenAddress, SSHCFG_GLOBAL },
{ "addressfamily", sAddressFamily, SSHCFG_GLOBAL },
@@ -1049,18 +1045,29 @@ match_cfg_line(char **condition, int line, struct connection_info *ci)
ci->laddress ? ci->laddress : "(null)", ci->lport);
while ((attrib = strdelim(&cp)) && *attrib != '\0') {
+ /* Terminate on comment */
+ if (*attrib == '#') {
+ cp = NULL; /* mark all arguments consumed */
+ break;
+ }
+ arg = NULL;
attributes++;
+ /* Criterion "all" has no argument and must appear alone */
if (strcasecmp(attrib, "all") == 0) {
- if (attributes != 1 ||
- ((arg = strdelim(&cp)) != NULL && *arg != '\0')) {
+ if (attributes > 1 || ((arg = strdelim(&cp)) != NULL &&
+ *arg != '\0' && *arg != '#')) {
error("'all' cannot be combined with other "
"Match attributes");
return -1;
}
+ if (arg != NULL && *arg == '#')
+ cp = NULL; /* mark all arguments consumed */
*condition = cp;
return 1;
}
- if ((arg = strdelim(&cp)) == NULL || *arg == '\0') {
+ /* All other criteria require an argument */
+ if ((arg = strdelim(&cp)) == NULL ||
+ *arg == '\0' || *arg == '#') {
error("Missing Match criteria for %s", attrib);
return -1;
}
@@ -1255,7 +1262,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
struct connection_info *connectinfo, int *inc_flags, int depth,
struct include_list *includes)
{
- char ch, *cp, ***chararrayptr, **charptr, *arg, *arg2, *p;
+ char ch, *str, ***chararrayptr, **charptr, *arg, *arg2, *p, *keyword;
int cmdline = 0, *intptr, value, value2, n, port, oactive, r, found;
SyslogFacility *log_facility_ptr;
LogLevel *log_level_ptr;
@@ -1267,6 +1274,9 @@ process_server_config_line_depth(ServerOptions *options, char *line,
const char *errstr;
struct include_item *item;
glob_t gbuf;
+ char **oav = NULL, **av;
+ int oac = 0, ac;
+ int ret = -1;
/* Strip trailing whitespace. Allow \f (form feed) at EOL only */
if ((len = strlen(line)) == 0)
@@ -1277,32 +1287,43 @@ process_server_config_line_depth(ServerOptions *options, char *line,
line[len] = '\0';
}
- cp = line;
- if ((arg = strdelim(&cp)) == NULL)
+ str = line;
+ if ((keyword = strdelim(&str)) == NULL)
return 0;
/* Ignore leading whitespace */
- if (*arg == '\0')
- arg = strdelim(&cp);
- if (!arg || !*arg || *arg == '#')
+ if (*keyword == '\0')
+ keyword = strdelim(&str);
+ if (!keyword || !*keyword || *keyword == '#')
return 0;
+ if (str == NULL || *str == '\0') {
+ error("%s line %d: no argument after keyword \"%s\"",
+ filename, linenum, keyword);
+ return -1;
+ }
intptr = NULL;
charptr = NULL;
- opcode = parse_token(arg, filename, linenum, &flags);
+ opcode = parse_token(keyword, filename, linenum, &flags);
+
+ if (argv_split(str, &oac, &oav, 1) != 0) {
+ error("%s line %d: invalid quotes", filename, linenum);
+ return -1;
+ }
+ ac = oac;
+ av = oav;
if (activep == NULL) { /* We are processing a command line directive */
cmdline = 1;
activep = &cmdline;
}
if (*activep && opcode != sMatch && opcode != sInclude)
- debug3("%s:%d setting %s %s", filename, linenum, arg, cp);
+ debug3("%s:%d setting %s %s", filename, linenum, keyword, str);
if (*activep == 0 && !(flags & SSHCFG_MATCH)) {
if (connectinfo == NULL) {
fatal("%s line %d: Directive '%s' is not allowed "
- "within a Match block", filename, linenum, arg);
+ "within a Match block", filename, linenum, keyword);
} else { /* this is a directive we have already processed */
- while (arg)
- arg = strdelim(&cp);
- return 0;
+ ret = 0;
+ goto out;
}
}
@@ -1314,15 +1335,17 @@ process_server_config_line_depth(ServerOptions *options, char *line,
/* Standard Options */
case sBadOption:
- return -1;
+ goto out;
case sPort:
/* ignore ports from configfile if cmdline specifies ports */
- if (options->ports_from_cmdline)
- return 0;
+ if (options->ports_from_cmdline) {
+ argv_consume(&ac);
+ break;
+ }
if (options->num_ports >= MAX_PORTS)
fatal("%s line %d: too many ports.",
filename, linenum);
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing port number.",
filename, linenum);
@@ -1335,7 +1358,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sLoginGraceTime:
intptr = &options->login_grace_time;
parse_time:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing time value.",
filename, linenum);
@@ -1347,7 +1370,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sListenAddress:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (arg == NULL || *arg == '\0')
fatal("%s line %d: missing address",
filename, linenum);
@@ -1372,16 +1395,15 @@ process_server_config_line_depth(ServerOptions *options, char *line,
}
/* Optional routing table */
arg2 = NULL;
- if ((arg = strdelim(&cp)) != NULL) {
+ if ((arg = argv_next(&ac, &av)) != NULL) {
if (strcmp(arg, "rdomain") != 0 ||
- (arg2 = strdelim(&cp)) == NULL)
+ (arg2 = argv_next(&ac, &av)) == NULL)
fatal("%s line %d: bad ListenAddress syntax",
filename, linenum);
if (!valid_rdomain(arg2))
fatal("%s line %d: bad routing domain",
filename, linenum);
}
-
queue_listen_addr(options, p, arg2, port);
break;
@@ -1390,7 +1412,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
intptr = &options->address_family;
multistate_ptr = multistate_addressfamily;
parse_multistate:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing argument.",
filename, linenum);
@@ -1409,7 +1431,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sHostKeyFile:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing file name.",
filename, linenum);
@@ -1421,7 +1443,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sHostKeyAgent:
charptr = &options->host_key_agent;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing socket name.",
filename, linenum);
@@ -1431,7 +1453,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sHostCertificate:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing file name.",
filename, linenum);
@@ -1442,7 +1464,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sPidFile:
charptr = &options->pid_file;
parse_filename:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: missing file name.",
filename, linenum);
@@ -1485,7 +1507,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sHostbasedAcceptedAlgorithms:
charptr = &options->hostbased_accepted_algos;
parse_pubkey_algos:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: Missing argument.",
filename, linenum);
@@ -1517,7 +1539,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sPubkeyAuthOptions:
intptr = &options->pubkey_auth_options;
value = 0;
- while ((arg = strdelim(&cp)) && *arg != '\0') {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
if (strcasecmp(arg, "none") == 0)
continue;
if (strcasecmp(arg, "touch-required") == 0)
@@ -1525,9 +1547,9 @@ process_server_config_line_depth(ServerOptions *options, char *line,
else if (strcasecmp(arg, "verify-required") == 0)
value |= PUBKEYAUTH_VERIFY_REQUIRED;
else {
- fatal("%s line %d: unsupported "
- "PubkeyAuthOptions option %s",
- filename, linenum, arg);
+ error("%s line %d: unsupported %s option %s",
+ filename, linenum, keyword, arg);
+ goto out;
}
}
if (*activep && *intptr == -1)
@@ -1570,10 +1592,6 @@ process_server_config_line_depth(ServerOptions *options, char *line,
intptr = &options->kbd_interactive_authentication;
goto parse_flag;
- case sChallengeResponseAuthentication:
- intptr = &options->challenge_response_authentication;
- goto parse_flag;
-
case sPrintMotd:
intptr = &options->print_motd;
goto parse_flag;
@@ -1589,10 +1607,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sX11DisplayOffset:
intptr = &options->x11_display_offset;
parse_int:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if ((errstr = atoi_err(arg, &value)) != NULL)
- fatal("%s line %d: integer value %s.",
- filename, linenum, errstr);
+ fatal("%s line %d: %s integer value %s.",
+ filename, linenum, keyword, errstr);
if (*activep && *intptr == -1)
*intptr = value;
break;
@@ -1628,10 +1646,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sPermitUserEnvironment:
intptr = &options->permit_user_env;
charptr = &options->permit_user_env_allowlist;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: missing argument.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
value = 0;
p = NULL;
if (strcmp(arg, "yes") == 0)
@@ -1657,25 +1675,26 @@ process_server_config_line_depth(ServerOptions *options, char *line,
goto parse_multistate;
case sRekeyLimit:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%.200s line %d: Missing argument.", filename,
- linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (strcmp(arg, "default") == 0) {
val64 = 0;
} else {
if (scan_scaled(arg, &val64) == -1)
- fatal("%.200s line %d: Bad number '%s': %s",
- filename, linenum, arg, strerror(errno));
+ fatal("%.200s line %d: Bad %s number '%s': %s",
+ filename, linenum, keyword,
+ arg, strerror(errno));
if (val64 != 0 && val64 < 16)
- fatal("%.200s line %d: RekeyLimit too small",
- filename, linenum);
+ fatal("%.200s line %d: %s too small",
+ filename, linenum, keyword);
}
if (*activep && options->rekey_limit == -1)
options->rekey_limit = val64;
- if (cp != NULL) { /* optional rekey interval present */
- if (strcmp(cp, "none") == 0) {
- (void)strdelim(&cp); /* discard */
+ if (ac != 0) { /* optional rekey interval present */
+ if (strcmp(av[0], "none") == 0) {
+ (void)argv_next(&ac, &av); /* discard */
break;
}
intptr = &options->rekey_interval;
@@ -1694,7 +1713,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sLogFacility:
log_facility_ptr = &options->log_facility;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
value = log_facility_number(arg);
if (value == SYSLOG_FACILITY_NOT_SET)
fatal("%.200s line %d: unsupported log facility '%s'",
@@ -1705,7 +1724,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sLogLevel:
log_level_ptr = &options->log_level;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
value = log_level_number(arg);
if (value == SYSLOG_LEVEL_NOT_SET)
fatal("%.200s line %d: unsupported log level '%s'",
@@ -1715,10 +1734,27 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sLogVerbose:
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- if (!*activep)
+ found = options->num_log_verbose == 0;
+ i = 0;
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
+ /* Allow "none" only in first position */
+ if (strcasecmp(arg, "none") == 0) {
+ if (i > 0 || ac > 0) {
+ error("%s line %d: keyword %s \"none\" "
+ "argument must appear alone.",
+ filename, linenum, keyword);
+ goto out;
+ }
+ }
+ i++;
+ if (!found || !*activep)
continue;
- opt_array_append(filename, linenum, "oLogVerbose",
+ opt_array_append(filename, linenum, keyword,
&options->log_verbose, &options->num_log_verbose,
arg);
}
@@ -1743,55 +1779,51 @@ process_server_config_line_depth(ServerOptions *options, char *line,
goto parse_flag;
case sAllowUsers:
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- if (match_user(NULL, NULL, NULL, arg) == -1)
- fatal("%s line %d: invalid AllowUsers pattern: "
- "\"%.100s\"", filename, linenum, arg);
+ chararrayptr = &options->allow_users;
+ uintptr = &options->num_allow_users;
+ parse_allowdenyusers:
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0' ||
+ match_user(NULL, NULL, NULL, arg) == -1)
+ fatal("%s line %d: invalid %s pattern: \"%s\"",
+ filename, linenum, keyword, arg);
if (!*activep)
continue;
- opt_array_append(filename, linenum, "AllowUsers",
- &options->allow_users, &options->num_allow_users,
- arg);
+ opt_array_append(filename, linenum, keyword,
+ chararrayptr, uintptr, arg);
}
break;
case sDenyUsers:
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- if (match_user(NULL, NULL, NULL, arg) == -1)
- fatal("%s line %d: invalid DenyUsers pattern: "
- "\"%.100s\"", filename, linenum, arg);
- if (!*activep)
- continue;
- opt_array_append(filename, linenum, "DenyUsers",
- &options->deny_users, &options->num_deny_users,
- arg);
- }
- break;
+ chararrayptr = &options->deny_users;
+ uintptr = &options->num_deny_users;
+ goto parse_allowdenyusers;
case sAllowGroups:
- while ((arg = strdelim(&cp)) && *arg != '\0') {
+ chararrayptr = &options->allow_groups;
+ uintptr = &options->num_allow_groups;
+ parse_allowdenygroups:
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0')
+ fatal("%s line %d: empty %s pattern",
+ filename, linenum, keyword);
if (!*activep)
continue;
- opt_array_append(filename, linenum, "AllowGroups",
- &options->allow_groups, &options->num_allow_groups,
- arg);
+ opt_array_append(filename, linenum, keyword,
+ chararrayptr, uintptr, arg);
}
break;
case sDenyGroups:
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- if (!*activep)
- continue;
- opt_array_append(filename, linenum, "DenyGroups",
- &options->deny_groups, &options->num_deny_groups,
- arg);
- }
- break;
+ chararrayptr = &options->deny_groups;
+ uintptr = &options->num_deny_groups;
+ goto parse_allowdenygroups;
case sCiphers:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing argument.", filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (*arg != '-' &&
!ciphers_valid(*arg == '+' || *arg == '^' ? arg + 1 : arg))
fatal("%s line %d: Bad SSH2 cipher spec '%s'.",
@@ -1801,9 +1833,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sMacs:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing argument.", filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (*arg != '-' &&
!mac_valid(*arg == '+' || *arg == '^' ? arg + 1 : arg))
fatal("%s line %d: Bad SSH2 mac spec '%s'.",
@@ -1813,10 +1846,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sKexAlgorithms:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing argument.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (*arg != '-' &&
!kex_names_valid(*arg == '+' || *arg == '^' ?
arg + 1 : arg))
@@ -1831,20 +1864,20 @@ process_server_config_line_depth(ServerOptions *options, char *line,
fatal("%s line %d: too many subsystems defined.",
filename, linenum);
}
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing subsystem name.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (!*activep) {
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
break;
}
for (i = 0; i < options->num_subsystems; i++)
if (strcmp(arg, options->subsystem_name[i]) == 0)
- fatal("%s line %d: Subsystem '%s' already defined.",
- filename, linenum, arg);
+ fatal("%s line %d: Subsystem '%s' "
+ "already defined.", filename, linenum, arg);
options->subsystem_name[options->num_subsystems] = xstrdup(arg);
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
fatal("%s line %d: Missing subsystem command.",
filename, linenum);
@@ -1853,7 +1886,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
/* Collect arguments (separate to executable) */
p = xstrdup(arg);
len = strlen(p) + 1;
- while ((arg = strdelim(&cp)) != NULL && *arg != '\0') {
+ while ((arg = argv_next(&ac, &av)) != NULL) {
len += 1 + strlen(arg);
p = xreallocarray(p, 1, len);
strlcat(p, " ", len);
@@ -1864,10 +1897,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sMaxStartups:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing MaxStartups spec.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if ((n = sscanf(arg, "%d:%d:%d",
&options->max_startups_begin,
&options->max_startups_rate,
@@ -1876,20 +1909,20 @@ process_server_config_line_depth(ServerOptions *options, char *line,
options->max_startups ||
options->max_startups_rate > 100 ||
options->max_startups_rate < 1)
- fatal("%s line %d: Illegal MaxStartups spec.",
- filename, linenum);
+ fatal("%s line %d: Invalid %s spec.",
+ filename, linenum, keyword);
} else if (n != 1)
- fatal("%s line %d: Illegal MaxStartups spec.",
- filename, linenum);
+ fatal("%s line %d: Invalid %s spec.",
+ filename, linenum, keyword);
else
options->max_startups = options->max_startups_begin;
break;
case sPerSourceNetBlockSize:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing PerSourceNetBlockSize spec.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
switch (n = sscanf(arg, "%d:%d", &value, &value2)) {
case 2:
if (value2 < 0 || value2 > 128)
@@ -1900,8 +1933,8 @@ process_server_config_line_depth(ServerOptions *options, char *line,
n = -1;
}
if (n != 1 && n != 2)
- fatal("%s line %d: Invalid PerSourceNetBlockSize"
- " spec.", filename, linenum);
+ fatal("%s line %d: Invalid %s spec.",
+ filename, linenum, keyword);
if (*activep) {
options->per_source_masklen_ipv4 = value;
options->per_source_masklen_ipv6 = value2;
@@ -1909,16 +1942,16 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sPerSourceMaxStartups:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing PerSourceMaxStartups spec.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (strcmp(arg, "none") == 0) { /* no limit */
value = INT_MAX;
} else {
if ((errstr = atoi_err(arg, &value)) != NULL)
- fatal("%s line %d: integer value %s.",
- filename, linenum, errstr);
+ fatal("%s line %d: %s integer value %s.",
+ filename, linenum, keyword, errstr);
}
if (*activep)
options->per_source_max_startups = value;
@@ -1943,24 +1976,29 @@ process_server_config_line_depth(ServerOptions *options, char *line,
* AuthorizedKeysFile /etc/ssh_keys/%u
*/
case sAuthorizedKeysFile:
- if (*activep && options->num_authkeys_files == 0) {
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- arg = tilde_expand_filename(arg, getuid());
- opt_array_append(filename, linenum,
- "AuthorizedKeysFile",
+ uvalue = options->num_authkeys_files;
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
+ arg2 = tilde_expand_filename(arg, getuid());
+ if (*activep && uvalue == 0) {
+ opt_array_append(filename, linenum, keyword,
&options->authorized_keys_files,
- &options->num_authkeys_files, arg);
- free(arg);
+ &options->num_authkeys_files, arg2);
}
+ free(arg2);
}
- return 0;
+ break;
case sAuthorizedPrincipalsFile:
charptr = &options->authorized_principals_file;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: missing file name.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (*activep && *charptr == NULL) {
*charptr = tilde_expand_filename(arg, getuid());
/* increase optional counter */
@@ -1978,13 +2016,13 @@ process_server_config_line_depth(ServerOptions *options, char *line,
goto parse_int;
case sAcceptEnv:
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- if (strchr(arg, '=') != NULL)
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0' || strchr(arg, '=') != NULL)
fatal("%s line %d: Invalid environment name.",
filename, linenum);
if (!*activep)
continue;
- opt_array_append(filename, linenum, "AcceptEnv",
+ opt_array_append(filename, linenum, keyword,
&options->accept_env, &options->num_accept_env,
arg);
}
@@ -1992,23 +2030,23 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sSetEnv:
uvalue = options->num_setenv;
- while ((arg = strdelimw(&cp)) && *arg != '\0') {
- if (strchr(arg, '=') == NULL)
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (*arg == '\0' || strchr(arg, '=') == NULL)
fatal("%s line %d: Invalid environment.",
filename, linenum);
if (!*activep || uvalue != 0)
continue;
- opt_array_append(filename, linenum, "SetEnv",
+ opt_array_append(filename, linenum, keyword,
&options->setenv, &options->num_setenv, arg);
}
break;
case sPermitTunnel:
intptr = &options->permit_tun;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: Missing yes/point-to-point/"
- "ethernet/no argument.", filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
value = -1;
for (i = 0; tunmode_desc[i].val != -1; i++)
if (strcmp(tunmode_desc[i].text, arg) == 0) {
@@ -2016,8 +2054,8 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
}
if (value == -1)
- fatal("%s line %d: Bad yes/point-to-point/ethernet/"
- "no argument: %s", filename, linenum, arg);
+ fatal("%s line %d: bad %s argument %s",
+ filename, linenum, keyword, arg);
if (*activep && *intptr == -1)
*intptr = value;
break;
@@ -2028,7 +2066,12 @@ process_server_config_line_depth(ServerOptions *options, char *line,
"command-line option");
}
value = 0;
- while ((arg2 = strdelim(&cp)) != NULL && *arg2 != '\0') {
+ while ((arg2 = argv_next(&ac, &av)) != NULL) {
+ if (*arg2 == '\0') {
+ error("%s line %d: keyword %s empty argument",
+ filename, linenum, keyword);
+ goto out;
+ }
value++;
found = 0;
if (*arg2 != '/' && *arg2 != '~') {
@@ -2068,9 +2111,8 @@ process_server_config_line_depth(ServerOptions *options, char *line,
filename, linenum, arg);
if ((r = glob(arg, 0, NULL, &gbuf)) != 0) {
if (r != GLOB_NOMATCH) {
- fatal("%s line %d: include \"%s\" "
- "glob failed", filename,
- linenum, arg);
+ fatal("%s line %d: include \"%s\" glob "
+ "failed", filename, linenum, arg);
}
/*
* If no entry matched then record a
@@ -2109,8 +2151,8 @@ process_server_config_line_depth(ServerOptions *options, char *line,
free(arg);
}
if (value == 0) {
- fatal("%s line %d: Include missing filename argument",
- filename, linenum);
+ fatal("%s line %d: %s missing filename argument",
+ filename, linenum, keyword);
}
break;
@@ -2118,14 +2160,23 @@ process_server_config_line_depth(ServerOptions *options, char *line,
if (cmdline)
fatal("Match directive not supported as a command-line "
"option");
- value = match_cfg_line(&cp, linenum,
+ value = match_cfg_line(&str, linenum,
(*inc_flags & SSHCFG_NEVERMATCH ? NULL : connectinfo));
if (value < 0)
fatal("%s line %d: Bad Match condition", filename,
linenum);
*activep = (*inc_flags & SSHCFG_NEVERMATCH) ? 0 : value;
- /* The MATCH_ONLY is applicable only until the first match block */
+ /*
+ * The MATCH_ONLY flag is applicable only until the first
+ * match block.
+ */
*inc_flags &= ~SSHCFG_MATCH_ONLY;
+ /*
+ * If match_cfg_line() didn't consume all its arguments then
+ * arrange for the extra arguments check below to fail.
+ */
+ if (str == NULL || *str == '\0')
+ argv_consume(&ac);
break;
case sPermitListen:
@@ -2137,10 +2188,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
uintptr = &options->num_permitted_opens;
chararrayptr = &options->permitted_opens;
}
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: missing %s specification",
- filename, linenum, lookup_opcode_name(opcode));
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
uvalue = *uintptr; /* modified later */
if (strcmp(arg, "any") == 0 || strcmp(arg, "none") == 0) {
if (*activep && uvalue == 0) {
@@ -2151,7 +2202,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
}
break;
}
- for (; arg != NULL && *arg != '\0'; arg = strdelim(&cp)) {
+ for (; arg != NULL && *arg != '\0'; arg = argv_next(&ac, &av)) {
if (opcode == sPermitListen &&
strchr(arg, ':') == NULL) {
/*
@@ -2164,21 +2215,18 @@ process_server_config_line_depth(ServerOptions *options, char *line,
ch = '\0';
p = hpdelim2(&arg, &ch);
if (p == NULL || ch == '/') {
- fatal("%s line %d: missing host in %s",
- filename, linenum,
- lookup_opcode_name(opcode));
+ fatal("%s line %d: %s missing host",
+ filename, linenum, keyword);
}
p = cleanhostname(p);
}
if (arg == NULL ||
((port = permitopen_port(arg)) < 0)) {
- fatal("%s line %d: bad port number in %s",
- filename, linenum,
- lookup_opcode_name(opcode));
+ fatal("%s line %d: %s bad port number",
+ filename, linenum, keyword);
}
if (*activep && uvalue == 0) {
- opt_array_append(filename, linenum,
- lookup_opcode_name(opcode),
+ opt_array_append(filename, linenum, keyword,
chararrayptr, uintptr, arg2);
}
free(arg2);
@@ -2186,21 +2234,22 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sForceCommand:
- if (cp == NULL || *cp == '\0')
- fatal("%.200s line %d: Missing argument.", filename,
- linenum);
- len = strspn(cp, WHITESPACE);
+ if (str == NULL || *str == '\0')
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
+ len = strspn(str, WHITESPACE);
if (*activep && options->adm_forced_command == NULL)
- options->adm_forced_command = xstrdup(cp + len);
- return 0;
+ options->adm_forced_command = xstrdup(str + len);
+ argv_consume(&ac);
+ break;
case sChrootDirectory:
charptr = &options->chroot_directory;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: missing file name.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (*activep && *charptr == NULL)
*charptr = xstrdup(arg);
break;
@@ -2215,10 +2264,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
case sSecurityKeyProvider:
charptr = &options->sk_provider;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: missing file name.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (*activep && *charptr == NULL) {
*charptr = strcasecmp(arg, "internal") == 0 ?
xstrdup(arg) : derelativise_path(arg);
@@ -2229,16 +2278,19 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sIPQoS:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
+ if (!arg || *arg == '\0')
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if ((value = parse_ipqos(arg)) == -1)
- fatal("%s line %d: Bad IPQoS value: %s",
- filename, linenum, arg);
- arg = strdelim(&cp);
+ fatal("%s line %d: Bad %s value: %s",
+ filename, linenum, keyword, arg);
+ arg = argv_next(&ac, &av);
if (arg == NULL)
value2 = value;
else if ((value2 = parse_ipqos(arg)) == -1)
- fatal("%s line %d: Bad IPQoS value: %s",
- filename, linenum, arg);
+ fatal("%s line %d: Bad %s value: %s",
+ filename, linenum, keyword, arg);
if (*activep) {
options->ip_qos_interactive = value;
options->ip_qos_bulk = value2;
@@ -2246,120 +2298,102 @@ process_server_config_line_depth(ServerOptions *options, char *line,
break;
case sVersionAddendum:
- if (cp == NULL || *cp == '\0')
- fatal("%.200s line %d: Missing argument.", filename,
- linenum);
- len = strspn(cp, WHITESPACE);
+ if (str == NULL || *str == '\0')
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
+ len = strspn(str, WHITESPACE);
+ if (strchr(str + len, '\r') != NULL) {
+ fatal("%.200s line %d: Invalid %s argument",
+ filename, linenum, keyword);
+ }
+ if ((arg = strchr(line, '#')) != NULL) {
+ *arg = '\0';
+ rtrim(line);
+ }
if (*activep && options->version_addendum == NULL) {
- if (strcasecmp(cp + len, "none") == 0)
+ if (strcasecmp(str + len, "none") == 0)
options->version_addendum = xstrdup("");
- else if (strchr(cp + len, '\r') != NULL)
- fatal("%.200s line %d: Invalid argument",
- filename, linenum);
else
- options->version_addendum = xstrdup(cp + len);
+ options->version_addendum = xstrdup(str + len);
}
- return 0;
+ argv_consume(&ac);
+ break;
case sAuthorizedKeysCommand:
- if (cp == NULL)
- fatal("%.200s line %d: Missing argument.", filename,
- linenum);
- len = strspn(cp, WHITESPACE);
- if (*activep && options->authorized_keys_command == NULL) {
- if (cp[len] != '/' && strcasecmp(cp + len, "none") != 0)
- fatal("%.200s line %d: AuthorizedKeysCommand "
- "must be an absolute path",
- filename, linenum);
- options->authorized_keys_command = xstrdup(cp + len);
+ charptr = &options->authorized_keys_command;
+ parse_command:
+ len = strspn(str, WHITESPACE);
+ if (str[len] != '/' && strcasecmp(str + len, "none") != 0) {
+ fatal("%.200s line %d: %s must be an absolute path",
+ filename, linenum, keyword);
}
- return 0;
+ if (*activep && options->authorized_keys_command == NULL)
+ *charptr = xstrdup(str + len);
+ argv_consume(&ac);
+ break;
case sAuthorizedKeysCommandUser:
charptr = &options->authorized_keys_command_user;
-
- arg = strdelim(&cp);
- if (!arg || *arg == '\0')
- fatal("%s line %d: missing AuthorizedKeysCommandUser "
- "argument.", filename, linenum);
+ parse_localuser:
+ arg = argv_next(&ac, &av);
+ if (!arg || *arg == '\0') {
+ fatal("%s line %d: missing %s argument.",
+ filename, linenum, keyword);
+ }
if (*activep && *charptr == NULL)
*charptr = xstrdup(arg);
break;
case sAuthorizedPrincipalsCommand:
- if (cp == NULL)
- fatal("%.200s line %d: Missing argument.", filename,
- linenum);
- len = strspn(cp, WHITESPACE);
- if (*activep &&
- options->authorized_principals_command == NULL) {
- if (cp[len] != '/' && strcasecmp(cp + len, "none") != 0)
- fatal("%.200s line %d: "
- "AuthorizedPrincipalsCommand must be "
- "an absolute path", filename, linenum);
- options->authorized_principals_command =
- xstrdup(cp + len);
- }
- return 0;
+ charptr = &options->authorized_principals_command;
+ goto parse_command;
case sAuthorizedPrincipalsCommandUser:
charptr = &options->authorized_principals_command_user;
-
- arg = strdelim(&cp);
- if (!arg || *arg == '\0')
- fatal("%s line %d: missing "
- "AuthorizedPrincipalsCommandUser argument.",
- filename, linenum);
- if (*activep && *charptr == NULL)
- *charptr = xstrdup(arg);
- break;
+ goto parse_localuser;
case sAuthenticationMethods:
- if (options->num_auth_methods == 0) {
- value = 0; /* seen "any" pseudo-method */
- value2 = 0; /* successfully parsed any method */
- while ((arg = strdelim(&cp)) && *arg != '\0') {
- if (strcmp(arg, "any") == 0) {
- if (options->num_auth_methods > 0) {
- fatal("%s line %d: \"any\" "
- "must appear alone in "
- "AuthenticationMethods",
- filename, linenum);
- }
- value = 1;
- } else if (value) {
- fatal("%s line %d: \"any\" must appear "
- "alone in AuthenticationMethods",
- filename, linenum);
- } else if (auth2_methods_valid(arg, 0) != 0) {
- fatal("%s line %d: invalid "
- "authentication method list.",
- filename, linenum);
+ found = options->num_auth_methods == 0;
+ value = 0; /* seen "any" pseudo-method */
+ value2 = 0; /* successfully parsed any method */
+ while ((arg = argv_next(&ac, &av)) != NULL) {
+ if (strcmp(arg, "any") == 0) {
+ if (options->num_auth_methods > 0) {
+ fatal("%s line %d: \"any\" must "
+ "appear alone in %s",
+ filename, linenum, keyword);
}
- value2 = 1;
- if (!*activep)
- continue;
- opt_array_append(filename, linenum,
- "AuthenticationMethods",
- &options->auth_methods,
- &options->num_auth_methods, arg);
- }
- if (value2 == 0) {
- fatal("%s line %d: no AuthenticationMethods "
- "specified", filename, linenum);
+ value = 1;
+ } else if (value) {
+ fatal("%s line %d: \"any\" must appear "
+ "alone in %s", filename, linenum, keyword);
+ } else if (auth2_methods_valid(arg, 0) != 0) {
+ fatal("%s line %d: invalid %s method list.",
+ filename, linenum, keyword);
}
+ value2 = 1;
+ if (!found || !*activep)
+ continue;
+ opt_array_append(filename, linenum, keyword,
+ &options->auth_methods,
+ &options->num_auth_methods, arg);
}
- return 0;
+ if (value2 == 0) {
+ fatal("%s line %d: no %s specified",
+ filename, linenum, keyword);
+ }
+ break;
case sStreamLocalBindMask:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%s line %d: missing StreamLocalBindMask "
- "argument.", filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
/* Parse mode in octal format */
value = strtol(arg, &p, 8);
if (arg == p || value < 0 || value > 0777)
- fatal("%s line %d: Bad mask.", filename, linenum);
+ fatal("%s line %d: Invalid %s.",
+ filename, linenum, keyword);
if (*activep)
options->fwd_opts.streamlocal_bind_mask = (mode_t)value;
break;
@@ -2369,13 +2403,13 @@ process_server_config_line_depth(ServerOptions *options, char *line,
goto parse_flag;
case sFingerprintHash:
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%.200s line %d: Missing argument.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if ((value = ssh_digest_alg_by_name(arg)) == -1)
- fatal("%.200s line %d: Invalid hash algorithm \"%s\".",
- filename, linenum, arg);
+ fatal("%.200s line %d: Invalid %s algorithm \"%s\".",
+ filename, linenum, keyword, arg);
if (*activep)
options->fingerprint_hash = value;
break;
@@ -2390,13 +2424,13 @@ process_server_config_line_depth(ServerOptions *options, char *line,
"platform.", filename, linenum);
#endif
charptr = &options->routing_domain;
- arg = strdelim(&cp);
+ arg = argv_next(&ac, &av);
if (!arg || *arg == '\0')
- fatal("%.200s line %d: Missing argument.",
- filename, linenum);
+ fatal("%s line %d: %s missing argument.",
+ filename, linenum, keyword);
if (strcasecmp(arg, "none") != 0 && strcmp(arg, "%D") != 0 &&
!valid_rdomain(arg))
- fatal("%s line %d: bad routing domain",
+ fatal("%s line %d: invalid routing domain",
filename, linenum);
if (*activep && *charptr == NULL)
*charptr = xstrdup(arg);
@@ -2408,19 +2442,27 @@ process_server_config_line_depth(ServerOptions *options, char *line,
do_log2(opcode == sIgnore ?
SYSLOG_LEVEL_DEBUG2 : SYSLOG_LEVEL_INFO,
"%s line %d: %s option %s", filename, linenum,
- opcode == sUnsupported ? "Unsupported" : "Deprecated", arg);
- while (arg)
- arg = strdelim(&cp);
+ opcode == sUnsupported ? "Unsupported" : "Deprecated",
+ keyword);
+ argv_consume(&ac);
break;
default:
fatal("%s line %d: Missing handler for opcode %s (%d)",
- filename, linenum, arg, opcode);
+ filename, linenum, keyword, opcode);
}
- if ((arg = strdelim(&cp)) != NULL && *arg != '\0')
- fatal("%s line %d: garbage at end of line; \"%.200s\".",
- filename, linenum, arg);
- return 0;
+ /* Check that there is no garbage at end of line. */
+ if (ac > 0) {
+ error("%.200s line %d: keyword %s extra arguments "
+ "at end of line", filename, linenum, keyword);
+ goto out;
+ }
+
+ /* success */
+ ret = 0;
+ out:
+ argv_free(oav, oac);
+ return ret;
}
int
@@ -2459,12 +2501,10 @@ load_server_config(const char *filename, struct sshbuf *conf)
while (getline(&line, &linesize, f) != -1) {
lineno++;
/*
- * Trim out comments and strip whitespace
+ * Strip whitespace
* NB - preserve newlines, they are needed to reproduce
* line numbers later for error messages
*/
- if ((cp = strchr(line, '#')) != NULL)
- memcpy(cp, "\n", 2);
cp = line + strspn(line, " \t\r");
if ((r = sshbuf_put(conf, cp, strlen(cp))) != 0)
fatal_fr(r, "sshbuf_put");
@@ -2856,8 +2896,6 @@ dump_config(ServerOptions *o)
dump_cfg_fmtint(sPasswordAuthentication, o->password_authentication);
dump_cfg_fmtint(sKbdInteractiveAuthentication,
o->kbd_interactive_authentication);
- dump_cfg_fmtint(sChallengeResponseAuthentication,
- o->challenge_response_authentication);
dump_cfg_fmtint(sPrintMotd, o->print_motd);
#ifndef DISABLE_LASTLOG
dump_cfg_fmtint(sPrintLastLog, o->print_lastlog);
diff --git a/servconf.h b/servconf.h
index f7cdac22a54b..dd5cbc15cd0a 100644
--- a/servconf.h
+++ b/servconf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: servconf.h,v 1.154 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: servconf.h,v 1.155 2021/07/02 05:11:21 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -146,7 +146,6 @@ typedef struct {
int password_authentication; /* If true, permit password
* authentication. */
int kbd_interactive_authentication; /* If true, permit */
- int challenge_response_authentication;
int permit_empty_passwd; /* If false, do not permit empty
* passwords. */
int permit_user_env; /* If true, read ~/.ssh/environment */
diff --git a/serverloop.c b/serverloop.c
index 70a20ab496fc..e8cfb9205a48 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: serverloop.c,v 1.226 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: serverloop.c,v 1.228 2021/07/16 09:00:23 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -88,11 +88,6 @@ extern int use_privsep;
static int no_more_sessions = 0; /* Disallow further sessions. */
-/*
- * This SIGCHLD kludge is used to detect when the child exits. The server
- * will exit after that, as soon as forwarded connections have terminated.
- */
-
static volatile sig_atomic_t child_terminated = 0; /* The child has terminated. */
/* Cleanup on signals (!use_privsep case only) */
@@ -115,59 +110,11 @@ bind_permitted(int port, uid_t uid)
return 1;
}
-/*
- * we write to this pipe if a SIGCHLD is caught in order to avoid
- * the race between select() and child_terminated
- */
-static int notify_pipe[2];
-static void
-notify_setup(void)
-{
- if (pipe(notify_pipe) == -1) {
- error("pipe(notify_pipe) failed %s", strerror(errno));
- } else if ((fcntl(notify_pipe[0], F_SETFD, FD_CLOEXEC) == -1) ||
- (fcntl(notify_pipe[1], F_SETFD, FD_CLOEXEC) == -1)) {
- error("fcntl(notify_pipe, F_SETFD) failed %s", strerror(errno));
- close(notify_pipe[0]);
- close(notify_pipe[1]);
- } else {
- set_nonblock(notify_pipe[0]);
- set_nonblock(notify_pipe[1]);
- return;
- }
- notify_pipe[0] = -1; /* read end */
- notify_pipe[1] = -1; /* write end */
-}
-static void
-notify_parent(void)
-{
- if (notify_pipe[1] != -1)
- (void)write(notify_pipe[1], "", 1);
-}
-static void
-notify_prepare(fd_set *readset)
-{
- if (notify_pipe[0] != -1)
- FD_SET(notify_pipe[0], readset);
-}
-static void
-notify_done(fd_set *readset)
-{
- char c;
-
- if (notify_pipe[0] != -1 && FD_ISSET(notify_pipe[0], readset))
- while (read(notify_pipe[0], &c, 1) != -1)
- debug2_f("reading");
-}
-
/*ARGSUSED*/
static void
sigchld_handler(int sig)
{
- int save_errno = errno;
child_terminated = 1;
- notify_parent();
- errno = save_errno;
}
/*ARGSUSED*/
@@ -211,8 +158,8 @@ client_alive_check(struct ssh *ssh)
}
/*
- * Sleep in select() until we can do something. This will initialize the
- * select masks. Upon return, the masks will indicate which descriptors
+ * Sleep in pselect() until we can do something. This will initialize the
+ * pselect masks. Upon return, the masks will indicate which descriptors
* have data or can accept data. Optionally, a maximum time can be specified
* for the duration of the wait (0 = infinite).
*/
@@ -220,16 +167,16 @@ static void
wait_until_can_do_something(struct ssh *ssh,
int connection_in, int connection_out,
fd_set **readsetp, fd_set **writesetp, int *maxfdp,
- u_int *nallocp, u_int64_t max_time_ms)
+ u_int *nallocp, u_int64_t max_time_ms, sigset_t *sigsetp)
{
- struct timeval tv, *tvp;
+ struct timespec ts, *tsp;
int ret;
time_t minwait_secs = 0;
int client_alive_scheduled = 0;
/* time we last heard from the client OR sent a keepalive */
static time_t last_client_time;
- /* Allocate and update select() masks for channel descriptors. */
+ /* Allocate and update pselect() masks for channel descriptors. */
channel_prepare_select(ssh, readsetp, writesetp, maxfdp,
nallocp, &minwait_secs);
@@ -262,7 +209,6 @@ wait_until_can_do_something(struct ssh *ssh,
if (channel_not_very_much_buffered_data())
#endif
FD_SET(connection_in, *readsetp);
- notify_prepare(*readsetp);
/*
* If we have buffered packet data going to the client, mark that
@@ -280,26 +226,26 @@ wait_until_can_do_something(struct ssh *ssh,
max_time_ms = 100;
if (max_time_ms == 0)
- tvp = NULL;
+ tsp = NULL;
else {
- tv.tv_sec = max_time_ms / 1000;
- tv.tv_usec = 1000 * (max_time_ms % 1000);
- tvp = &tv;
+ ts.tv_sec = max_time_ms / 1000;
+ ts.tv_nsec = 1000000 * (max_time_ms % 1000);
+ tsp = &ts;
}
/* Wait for something to happen, or the timeout to expire. */
- ret = select((*maxfdp)+1, *readsetp, *writesetp, NULL, tvp);
+ ret = pselect((*maxfdp)+1, *readsetp, *writesetp, NULL, tsp, sigsetp);
if (ret == -1) {
memset(*readsetp, 0, *nallocp);
memset(*writesetp, 0, *nallocp);
if (errno != EINTR)
- error("select: %.100s", strerror(errno));
+ error("pselect: %.100s", strerror(errno));
} else if (client_alive_scheduled) {
time_t now = monotime();
/*
- * If the select timed out, or returned for some other reason
+ * If the pselect timed out, or returned for some other reason
* but we haven't heard from the client in time, send keepalive.
*/
if (ret == 0 || (last_client_time != 0 && last_client_time +
@@ -310,8 +256,6 @@ wait_until_can_do_something(struct ssh *ssh,
last_client_time = now;
}
}
-
- notify_done(*readsetp);
}
/*
@@ -374,13 +318,8 @@ static void
collect_children(struct ssh *ssh)
{
pid_t pid;
- sigset_t oset, nset;
int status;
- /* block SIGCHLD while we check for dead children */
- sigemptyset(&nset);
- sigaddset(&nset, SIGCHLD);
- sigprocmask(SIG_BLOCK, &nset, &oset);
if (child_terminated) {
debug("Received SIGCHLD.");
while ((pid = waitpid(-1, &status, WNOHANG)) > 0 ||
@@ -389,19 +328,21 @@ collect_children(struct ssh *ssh)
session_close_by_pid(ssh, pid, status);
child_terminated = 0;
}
- sigprocmask(SIG_SETMASK, &oset, NULL);
}
void
server_loop2(struct ssh *ssh, Authctxt *authctxt)
{
fd_set *readset = NULL, *writeset = NULL;
- int max_fd;
+ int r, max_fd;
u_int nalloc = 0, connection_in, connection_out;
u_int64_t rekey_timeout_ms = 0;
+ sigset_t bsigset, osigset;
debug("Entering interactive session for SSH2.");
+ if (sigemptyset(&bsigset) == -1 || sigaddset(&bsigset, SIGCHLD) == -1)
+ error_f("bsigset setup: %s", strerror(errno));
ssh_signal(SIGCHLD, sigchld_handler);
child_terminated = 0;
connection_in = ssh_packet_get_connection_in(ssh);
@@ -413,10 +354,7 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt)
ssh_signal(SIGQUIT, sigterm_handler);
}
- notify_setup();
-
max_fd = MAXIMUM(connection_in, connection_out);
- max_fd = MAXIMUM(max_fd, notify_pipe[0]);
server_init_dispatch(ssh);
@@ -434,8 +372,19 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt)
rekey_timeout_ms = 0;
}
+ /*
+ * Block SIGCHLD while we check for dead children, then pass
+ * the old signal mask through to pselect() so that it'll wake
+ * up immediately if a child exits after we've called waitpid().
+ */
+ if (sigprocmask(SIG_BLOCK, &bsigset, &osigset) == -1)
+ error_f("bsigset sigprocmask: %s", strerror(errno));
+ collect_children(ssh);
wait_until_can_do_something(ssh, connection_in, connection_out,
- &readset, &writeset, &max_fd, &nalloc, rekey_timeout_ms);
+ &readset, &writeset, &max_fd, &nalloc, rekey_timeout_ms,
+ &osigset);
+ if (sigprocmask(SIG_UNBLOCK, &bsigset, &osigset) == -1)
+ error_f("osigset sigprocmask: %s", strerror(errno));
if (received_sigterm) {
logit("Exiting on signal %d", (int)received_sigterm);
@@ -443,11 +392,13 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt)
cleanup_exit(255);
}
- collect_children(ssh);
if (!ssh_packet_is_rekeying(ssh))
channel_after_select(ssh, readset, writeset);
if (process_input(ssh, readset, connection_in) < 0)
break;
+ /* A timeout may have triggered rekeying */
+ if ((r = ssh_packet_check_rekey(ssh)) != 0)
+ fatal_fr(r, "cannot start rekeying");
process_output(ssh, writeset, connection_out);
}
collect_children(ssh);
diff --git a/session.c b/session.c
index c02f7d25e5e3..5f423f9f6c50 100644
--- a/session.c
+++ b/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.328 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: session.c,v 1.329 2021/08/11 05:20:17 djm Exp $ */
/*
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
* All rights reserved
@@ -1783,12 +1783,11 @@ session_dump(void)
for (i = 0; i < sessions_nalloc; i++) {
Session *s = &sessions[i];
- debug("dump: used %d next_unused %d session %d %p "
+ debug("dump: used %d next_unused %d session %d "
"channel %d pid %ld",
s->used,
s->next_unused,
s->self,
- s,
s->chanid,
(long)s->pid);
}
diff --git a/sftp-client.c b/sftp-client.c
index cadaee6bdaa2..5bfff90d187f 100644
--- a/sftp-client.c
+++ b/sftp-client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-client.c,v 1.142 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: sftp-client.c,v 1.154 2021/08/09 23:47:44 djm Exp $ */
/*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
*
@@ -37,6 +37,13 @@
#include <dirent.h>
#include <errno.h>
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#else
+# ifdef HAVE_SYS_POLL_H
+# include <sys/poll.h>
+# endif
+#endif
#include <fcntl.h>
#include <signal.h>
#include <stdarg.h>
@@ -95,15 +102,51 @@ struct sftp_conn {
#define SFTP_EXT_FSYNC 0x00000010
#define SFTP_EXT_LSETSTAT 0x00000020
#define SFTP_EXT_LIMITS 0x00000040
+#define SFTP_EXT_PATH_EXPAND 0x00000080
u_int exts;
u_int64_t limit_kbps;
struct bwlimit bwlimit_in, bwlimit_out;
};
+/* Tracks in-progress requests during file transfers */
+struct request {
+ u_int id;
+ size_t len;
+ u_int64_t offset;
+ TAILQ_ENTRY(request) tq;
+};
+TAILQ_HEAD(requests, request);
+
static u_char *
get_handle(struct sftp_conn *conn, u_int expected_id, size_t *len,
const char *errfmt, ...) __attribute__((format(printf, 4, 5)));
+static struct request *
+request_enqueue(struct requests *requests, u_int id, size_t len,
+ uint64_t offset)
+{
+ struct request *req;
+
+ req = xcalloc(1, sizeof(*req));
+ req->id = id;
+ req->len = len;
+ req->offset = offset;
+ TAILQ_INSERT_TAIL(requests, req, tq);
+ return req;
+}
+
+static struct request *
+request_find(struct requests *requests, u_int id)
+{
+ struct request *req;
+
+ for (req = TAILQ_FIRST(requests);
+ req != NULL && req->id != id;
+ req = TAILQ_NEXT(req, tq))
+ ;
+ return req;
+}
+
/* ARGSUSED */
static int
sftpio(void *_bwlimit, size_t amount)
@@ -147,6 +190,7 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
u_char *p;
int r;
+ sshbuf_reset(m);
if ((r = sshbuf_reserve(m, 4, &p)) != 0)
fatal_fr(r, "reserve");
if (atomicio6(read, conn->fd_in, p, 4, sftpio,
@@ -217,7 +261,8 @@ send_string_attrs_request(struct sftp_conn *conn, u_int id, u_int code,
(r = encode_attrib(msg, a)) != 0)
fatal_fr(r, "compose");
send_msg(conn, msg);
- debug3("Sent message fd %d T:%u I:%u", conn->fd_out, code, id);
+ debug3("Sent message fd %d T:%u I:%u F:0x%04x M:%05o",
+ conn->fd_out, code, id, a->flags, a->perm);
sshbuf_free(msg);
}
@@ -296,6 +341,7 @@ get_handle(struct sftp_conn *conn, u_int expected_id, size_t *len,
return handle;
}
+/* XXX returing &static is error-prone. Refactor to fill *Attrib argument */
static Attrib *
get_decode_stat(struct sftp_conn *conn, u_int expected_id, int quiet)
{
@@ -313,7 +359,6 @@ get_decode_stat(struct sftp_conn *conn, u_int expected_id, int quiet)
(r = sshbuf_get_u32(msg, &id)) != 0)
fatal_fr(r, "parse");
- debug3("Received stat reply T:%u I:%u", type, id);
if (id != expected_id)
fatal("ID mismatch (%u != %u)", id, expected_id);
if (type == SSH2_FXP_STATUS) {
@@ -336,6 +381,8 @@ get_decode_stat(struct sftp_conn *conn, u_int expected_id, int quiet)
sshbuf_free(msg);
return NULL;
}
+ debug3("Recevied stat reply T:%u I:%u F:0x%04x M:%05o",
+ type, id, a.flags, a.perm);
sshbuf_free(msg);
return &a;
@@ -483,6 +530,10 @@ do_init(int fd_in, int fd_out, u_int transfer_buflen, u_int num_requests,
strcmp((char *)value, "1") == 0) {
ret->exts |= SFTP_EXT_LIMITS;
known = 1;
+ } else if (strcmp(name, "expand-path@openssh.com") == 0 &&
+ strcmp((char *)value, "1") == 0) {
+ ret->exts |= SFTP_EXT_PATH_EXPAND;
+ known = 1;
}
if (known) {
debug2("Server supports extension \"%s\" revision %s",
@@ -577,8 +628,12 @@ do_limits(struct sftp_conn *conn, struct sftp_limits *limits)
if (id != msg_id)
fatal("ID mismatch (%u != %u)", msg_id, id);
if (type != SSH2_FXP_EXTENDED_REPLY) {
- fatal("Expected SSH2_FXP_EXTENDED_REPLY(%u) packet, got %u",
+ debug_f("expected SSH2_FXP_EXTENDED_REPLY(%u) packet, got %u",
SSH2_FXP_EXTENDED_REPLY, type);
+ /* Disable the limits extension */
+ conn->exts &= ~SFTP_EXT_LIMITS;
+ sshbuf_free(msg);
+ return 0;
}
memset(limits, 0, sizeof(*limits));
@@ -914,8 +969,9 @@ do_fsetstat(struct sftp_conn *conn, const u_char *handle, u_int handle_len,
return status == SSH2_FX_OK ? 0 : -1;
}
-char *
-do_realpath(struct sftp_conn *conn, const char *path)
+/* Implements both the realpath and expand-path operations */
+static char *
+do_realpath_expand(struct sftp_conn *conn, const char *path, int expand)
{
struct sshbuf *msg;
u_int expected_id, count, id;
@@ -923,14 +979,26 @@ do_realpath(struct sftp_conn *conn, const char *path)
Attrib a;
u_char type;
int r;
+ const char *what = "SSH2_FXP_REALPATH";
- expected_id = id = conn->msg_id++;
- send_string_request(conn, id, SSH2_FXP_REALPATH, path,
- strlen(path));
-
+ if (expand)
+ what = "expand-path@openssh.com";
if ((msg = sshbuf_new()) == NULL)
fatal_f("sshbuf_new failed");
+ expected_id = id = conn->msg_id++;
+ if (expand) {
+ if ((r = sshbuf_put_u8(msg, SSH2_FXP_EXTENDED)) != 0 ||
+ (r = sshbuf_put_u32(msg, id)) != 0 ||
+ (r = sshbuf_put_cstring(msg,
+ "expand-path@openssh.com")) != 0 ||
+ (r = sshbuf_put_cstring(msg, path)) != 0)
+ fatal_fr(r, "compose %s", what);
+ send_msg(conn, msg);
+ } else {
+ send_string_request(conn, id, SSH2_FXP_REALPATH,
+ path, strlen(path));
+ }
get_msg(conn, msg);
if ((r = sshbuf_get_u8(msg, &type)) != 0 ||
(r = sshbuf_get_u32(msg, &id)) != 0)
@@ -954,15 +1022,14 @@ do_realpath(struct sftp_conn *conn, const char *path)
if ((r = sshbuf_get_u32(msg, &count)) != 0)
fatal_fr(r, "parse count");
if (count != 1)
- fatal("Got multiple names (%d) from SSH_FXP_REALPATH", count);
+ fatal("Got multiple names (%d) from %s", count, what);
if ((r = sshbuf_get_cstring(msg, &filename, NULL)) != 0 ||
(r = sshbuf_get_cstring(msg, &longname, NULL)) != 0 ||
(r = decode_attrib(msg, &a)) != 0)
fatal_fr(r, "parse filename/attrib");
- debug3("SSH_FXP_REALPATH %s -> %s size %lu", path, filename,
- (unsigned long)a.size);
+ debug3("%s %s -> %s", what, path, filename);
free(longname);
@@ -971,6 +1038,28 @@ do_realpath(struct sftp_conn *conn, const char *path)
return(filename);
}
+char *
+do_realpath(struct sftp_conn *conn, const char *path)
+{
+ return do_realpath_expand(conn, path, 0);
+}
+
+int
+can_expand_path(struct sftp_conn *conn)
+{
+ return (conn->exts & SFTP_EXT_PATH_EXPAND) != 0;
+}
+
+char *
+do_expand_path(struct sftp_conn *conn, const char *path)
+{
+ if (!can_expand_path(conn)) {
+ debug3_f("no server support, fallback to realpath");
+ return do_realpath_expand(conn, path, 0);
+ }
+ return do_realpath_expand(conn, path, 1);
+}
+
int
do_rename(struct sftp_conn *conn, const char *oldpath, const char *newpath,
int force_legacy)
@@ -1279,12 +1368,65 @@ send_read_request(struct sftp_conn *conn, u_int id, u_int64_t offset,
sshbuf_free(msg);
}
+static int
+send_open(struct sftp_conn *conn, const char *path, const char *tag,
+ u_int openmode, Attrib *a, u_char **handlep, size_t *handle_lenp)
+{
+ Attrib junk;
+ u_char *handle;
+ size_t handle_len;
+ struct sshbuf *msg;
+ int r;
+ u_int id;
+
+ *handlep = NULL;
+ *handle_lenp = 0;
+
+ if (a == NULL) {
+ attrib_clear(&junk); /* Send empty attributes */
+ a = &junk;
+ }
+ /* Send open request */
+ if ((msg = sshbuf_new()) == NULL)
+ fatal_f("sshbuf_new failed");
+ id = conn->msg_id++;
+ if ((r = sshbuf_put_u8(msg, SSH2_FXP_OPEN)) != 0 ||
+ (r = sshbuf_put_u32(msg, id)) != 0 ||
+ (r = sshbuf_put_cstring(msg, path)) != 0 ||
+ (r = sshbuf_put_u32(msg, openmode)) != 0 ||
+ (r = encode_attrib(msg, a)) != 0)
+ fatal_fr(r, "compose %s open", tag);
+ send_msg(conn, msg);
+ sshbuf_free(msg);
+ debug3("Sent %s message SSH2_FXP_OPEN I:%u P:%s M:0x%04x",
+ tag, id, path, openmode);
+ if ((handle = get_handle(conn, id, &handle_len,
+ "%s open(\"%s\")", tag, path)) == NULL)
+ return -1;
+ /* success */
+ *handlep = handle;
+ *handle_lenp = handle_len;
+ return 0;
+}
+
+static const char *
+progress_meter_path(const char *path)
+{
+ const char *progresspath;
+
+ if ((progresspath = strrchr(path, '/')) == NULL)
+ return path;
+ progresspath++;
+ if (*progresspath == '\0')
+ return path;
+ return progresspath;
+}
+
int
do_download(struct sftp_conn *conn, const char *remote_path,
const char *local_path, Attrib *a, int preserve_flag, int resume_flag,
int fsync_flag)
{
- Attrib junk;
struct sshbuf *msg;
u_char *handle;
int local_fd = -1, write_error;
@@ -1294,13 +1436,7 @@ do_download(struct sftp_conn *conn, const char *remote_path,
off_t progress_counter;
size_t handle_len;
struct stat st;
- struct request {
- u_int id;
- size_t len;
- u_int64_t offset;
- TAILQ_ENTRY(request) tq;
- };
- TAILQ_HEAD(reqhead, request) requests;
+ struct requests requests;
struct request *req;
u_char type;
@@ -1327,28 +1463,11 @@ do_download(struct sftp_conn *conn, const char *remote_path,
size = 0;
buflen = conn->download_buflen;
- if ((msg = sshbuf_new()) == NULL)
- fatal_f("sshbuf_new failed");
-
- attrib_clear(&junk); /* Send empty attributes */
/* Send open request */
- id = conn->msg_id++;
- if ((r = sshbuf_put_u8(msg, SSH2_FXP_OPEN)) != 0 ||
- (r = sshbuf_put_u32(msg, id)) != 0 ||
- (r = sshbuf_put_cstring(msg, remote_path)) != 0 ||
- (r = sshbuf_put_u32(msg, SSH2_FXF_READ)) != 0 ||
- (r = encode_attrib(msg, &junk)) != 0)
- fatal_fr(r, "compose");
- send_msg(conn, msg);
- debug3("Sent message SSH2_FXP_OPEN I:%u P:%s", id, remote_path);
-
- handle = get_handle(conn, id, &handle_len,
- "remote open(\"%s\")", remote_path);
- if (handle == NULL) {
- sshbuf_free(msg);
- return(-1);
- }
+ if (send_open(conn, remote_path, "remote", SSH2_FXF_READ, NULL,
+ &handle, &handle_len) != 0)
+ return -1;
local_fd = open(local_path,
O_WRONLY | O_CREAT | (resume_flag ? 0 : O_TRUNC), mode | S_IWUSR);
@@ -1373,7 +1492,6 @@ do_download(struct sftp_conn *conn, const char *remote_path,
"local file is larger than remote", local_path);
fail:
do_close(conn, handle, handle_len);
- sshbuf_free(msg);
free(handle);
if (local_fd != -1)
close(local_fd);
@@ -1387,8 +1505,13 @@ do_download(struct sftp_conn *conn, const char *remote_path,
max_req = 1;
progress_counter = offset;
- if (showprogress && size != 0)
- start_progress_meter(remote_path, size, &progress_counter);
+ if (showprogress && size != 0) {
+ start_progress_meter(progress_meter_path(remote_path),
+ size, &progress_counter);
+ }
+
+ if ((msg = sshbuf_new()) == NULL)
+ fatal_f("sshbuf_new failed");
while (num_req > 0 || max_req > 0) {
u_char *data;
@@ -1410,13 +1533,10 @@ do_download(struct sftp_conn *conn, const char *remote_path,
(unsigned long long)offset,
(unsigned long long)offset + buflen - 1,
num_req, max_req);
- req = xcalloc(1, sizeof(*req));
- req->id = conn->msg_id++;
- req->len = buflen;
- req->offset = offset;
+ req = request_enqueue(&requests, conn->msg_id++,
+ buflen, offset);
offset += buflen;
num_req++;
- TAILQ_INSERT_TAIL(&requests, req, tq);
send_read_request(conn, req->id, req->offset,
req->len, handle, handle_len);
}
@@ -1429,11 +1549,7 @@ do_download(struct sftp_conn *conn, const char *remote_path,
debug3("Received reply T:%u I:%u R:%d", type, id, max_req);
/* Find the request in our queue */
- for (req = TAILQ_FIRST(&requests);
- req != NULL && req->id != id;
- req = TAILQ_NEXT(req, tq))
- ;
- if (req == NULL)
+ if ((req = request_find(&requests, id)) == NULL)
fatal("Unexpected reply %u", id);
switch (type) {
@@ -1579,7 +1695,7 @@ do_download(struct sftp_conn *conn, const char *remote_path,
static int
download_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
int depth, Attrib *dirattrib, int preserve_flag, int print_flag,
- int resume_flag, int fsync_flag)
+ int resume_flag, int fsync_flag, int follow_link_flag)
{
int i, ret = 0;
SFTP_DIRENT **dir_entries;
@@ -1600,7 +1716,7 @@ download_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
error("\"%s\" is not a directory", src);
return -1;
}
- if (print_flag)
+ if (print_flag && print_flag != SFTP_PROGRESS_ONLY)
mprintf("Retrieving %s\n", src);
if (dirattrib->flags & SSH2_FILEXFER_ATTR_PERMISSIONS) {
@@ -1635,12 +1751,20 @@ download_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
continue;
if (download_dir_internal(conn, new_src, new_dst,
depth + 1, &(dir_entries[i]->a), preserve_flag,
- print_flag, resume_flag, fsync_flag) == -1)
+ print_flag, resume_flag,
+ fsync_flag, follow_link_flag) == -1)
ret = -1;
- } else if (S_ISREG(dir_entries[i]->a.perm) ) {
+ } else if (S_ISREG(dir_entries[i]->a.perm) ||
+ (follow_link_flag && S_ISLNK(dir_entries[i]->a.perm))) {
+ /*
+ * If this is a symlink then don't send the link's
+ * Attrib. do_download() will do a FXP_STAT operation
+ * and get the link target's attributes.
+ */
if (do_download(conn, new_src, new_dst,
- &(dir_entries[i]->a), preserve_flag,
- resume_flag, fsync_flag) == -1) {
+ S_ISLNK(dir_entries[i]->a.perm) ? NULL :
+ &(dir_entries[i]->a),
+ preserve_flag, resume_flag, fsync_flag) == -1) {
error("Download of file %s to %s failed",
new_src, new_dst);
ret = -1;
@@ -1678,7 +1802,7 @@ download_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
int
download_dir(struct sftp_conn *conn, const char *src, const char *dst,
Attrib *dirattrib, int preserve_flag, int print_flag, int resume_flag,
- int fsync_flag)
+ int fsync_flag, int follow_link_flag)
{
char *src_canon;
int ret;
@@ -1689,7 +1813,8 @@ download_dir(struct sftp_conn *conn, const char *src, const char *dst,
}
ret = download_dir_internal(conn, src_canon, dst, 0,
- dirattrib, preserve_flag, print_flag, resume_flag, fsync_flag);
+ dirattrib, preserve_flag, print_flag, resume_flag, fsync_flag,
+ follow_link_flag);
free(src_canon);
return ret;
}
@@ -1709,14 +1834,8 @@ do_upload(struct sftp_conn *conn, const char *local_path,
Attrib a, *c = NULL;
u_int32_t startid;
u_int32_t ackid;
- struct outstanding_ack {
- u_int id;
- u_int len;
- off_t offset;
- TAILQ_ENTRY(outstanding_ack) tq;
- };
- TAILQ_HEAD(ackhead, outstanding_ack) acks;
- struct outstanding_ack *ack = NULL;
+ struct request *ack = NULL;
+ struct requests acks;
size_t handle_len;
TAILQ_INIT(&acks);
@@ -1765,40 +1884,27 @@ do_upload(struct sftp_conn *conn, const char *local_path,
}
}
- if ((msg = sshbuf_new()) == NULL)
- fatal_f("sshbuf_new failed");
-
/* Send open request */
- id = conn->msg_id++;
- if ((r = sshbuf_put_u8(msg, SSH2_FXP_OPEN)) != 0 ||
- (r = sshbuf_put_u32(msg, id)) != 0 ||
- (r = sshbuf_put_cstring(msg, remote_path)) != 0 ||
- (r = sshbuf_put_u32(msg, SSH2_FXF_WRITE|SSH2_FXF_CREAT|
- (resume ? SSH2_FXF_APPEND : SSH2_FXF_TRUNC))) != 0 ||
- (r = encode_attrib(msg, &a)) != 0)
- fatal_fr(r, "compose");
- send_msg(conn, msg);
- debug3("Sent message SSH2_FXP_OPEN I:%u P:%s", id, remote_path);
-
- sshbuf_reset(msg);
-
- handle = get_handle(conn, id, &handle_len,
- "remote open(\"%s\")", remote_path);
- if (handle == NULL) {
+ if (send_open(conn, remote_path, "dest", SSH2_FXF_WRITE|SSH2_FXF_CREAT|
+ (resume ? SSH2_FXF_APPEND : SSH2_FXF_TRUNC),
+ &a, &handle, &handle_len) != 0) {
close(local_fd);
- sshbuf_free(msg);
return -1;
}
+ id = conn->msg_id;
startid = ackid = id + 1;
data = xmalloc(conn->upload_buflen);
/* Read from local and write to remote */
offset = progress_counter = (resume ? c->size : 0);
- if (showprogress)
- start_progress_meter(local_path, sb.st_size,
- &progress_counter);
+ if (showprogress) {
+ start_progress_meter(progress_meter_path(local_path),
+ sb.st_size, &progress_counter);
+ }
+ if ((msg = sshbuf_new()) == NULL)
+ fatal_f("sshbuf_new failed");
for (;;) {
int len;
@@ -1820,12 +1926,7 @@ do_upload(struct sftp_conn *conn, const char *local_path,
strerror(errno));
if (len != 0) {
- ack = xcalloc(1, sizeof(*ack));
- ack->id = ++id;
- ack->offset = offset;
- ack->len = len;
- TAILQ_INSERT_TAIL(&acks, ack, tq);
-
+ ack = request_enqueue(&acks, ++id, len, offset);
sshbuf_reset(msg);
if ((r = sshbuf_put_u8(msg, SSH2_FXP_WRITE)) != 0 ||
(r = sshbuf_put_u32(msg, ack->id)) != 0 ||
@@ -1862,15 +1963,11 @@ do_upload(struct sftp_conn *conn, const char *local_path,
debug3("SSH2_FXP_STATUS %u", status);
/* Find the request in our queue */
- for (ack = TAILQ_FIRST(&acks);
- ack != NULL && ack->id != rid;
- ack = TAILQ_NEXT(ack, tq))
- ;
- if (ack == NULL)
+ if ((ack = request_find(&acks, rid)) == NULL)
fatal("Can't find request for ID %u", rid);
TAILQ_REMOVE(&acks, ack, tq);
- debug3("In write loop, ack for %u %u bytes at %lld",
- ack->id, ack->len, (long long)ack->offset);
+ debug3("In write loop, ack for %u %zu bytes at %lld",
+ ack->id, ack->len, (unsigned long long)ack->offset);
++ackid;
progress_counter += ack->len;
free(ack);
@@ -1914,7 +2011,8 @@ do_upload(struct sftp_conn *conn, const char *local_path,
static int
upload_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
- int depth, int preserve_flag, int print_flag, int resume, int fsync_flag)
+ int depth, int preserve_flag, int print_flag, int resume, int fsync_flag,
+ int follow_link_flag)
{
int ret = 0;
DIR *dirp;
@@ -1938,7 +2036,7 @@ upload_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
error("\"%s\" is not a directory", src);
return -1;
}
- if (print_flag)
+ if (print_flag && print_flag != SFTP_PROGRESS_ONLY)
mprintf("Entering %s\n", src);
attrib_clear(&a);
@@ -1992,9 +2090,10 @@ upload_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
if (upload_dir_internal(conn, new_src, new_dst,
depth + 1, preserve_flag, print_flag, resume,
- fsync_flag) == -1)
+ fsync_flag, follow_link_flag) == -1)
ret = -1;
- } else if (S_ISREG(sb.st_mode)) {
+ } else if (S_ISREG(sb.st_mode) ||
+ (follow_link_flag && S_ISLNK(sb.st_mode))) {
if (do_upload(conn, new_src, new_dst,
preserve_flag, resume, fsync_flag) == -1) {
error("Uploading of file %s to %s failed!",
@@ -2015,7 +2114,8 @@ upload_dir_internal(struct sftp_conn *conn, const char *src, const char *dst,
int
upload_dir(struct sftp_conn *conn, const char *src, const char *dst,
- int preserve_flag, int print_flag, int resume, int fsync_flag)
+ int preserve_flag, int print_flag, int resume, int fsync_flag,
+ int follow_link_flag)
{
char *dst_canon;
int ret;
@@ -2026,12 +2126,448 @@ upload_dir(struct sftp_conn *conn, const char *src, const char *dst,
}
ret = upload_dir_internal(conn, src, dst_canon, 0, preserve_flag,
- print_flag, resume, fsync_flag);
+ print_flag, resume, fsync_flag, follow_link_flag);
free(dst_canon);
return ret;
}
+static void
+handle_dest_replies(struct sftp_conn *to, const char *to_path, int synchronous,
+ u_int *nreqsp, u_int *write_errorp)
+{
+ struct sshbuf *msg;
+ u_char type;
+ u_int id, status;
+ int r;
+ struct pollfd pfd;
+
+ if ((msg = sshbuf_new()) == NULL)
+ fatal_f("sshbuf_new failed");
+
+ /* Try to eat replies from the upload side */
+ while (*nreqsp > 0) {
+ debug3_f("%u outstanding replies", *nreqsp);
+ if (!synchronous) {
+ /* Bail out if no data is ready to be read */
+ pfd.fd = to->fd_in;
+ pfd.events = POLLIN;
+ if ((r = poll(&pfd, 1, 0)) == -1) {
+ if (errno == EINTR)
+ break;
+ fatal_f("poll: %s", strerror(errno));
+ } else if (r == 0)
+ break; /* fd not ready */
+ }
+ sshbuf_reset(msg);
+ get_msg(to, msg);
+
+ if ((r = sshbuf_get_u8(msg, &type)) != 0 ||
+ (r = sshbuf_get_u32(msg, &id)) != 0)
+ fatal_fr(r, "dest parse");
+ debug3("Received dest reply T:%u I:%u R:%u", type, id, *nreqsp);
+ if (type != SSH2_FXP_STATUS) {
+ fatal_f("Expected SSH2_FXP_STATUS(%d) packet, got %d",
+ SSH2_FXP_STATUS, type);
+ }
+ if ((r = sshbuf_get_u32(msg, &status)) != 0)
+ fatal_fr(r, "parse dest status");
+ debug3("dest SSH2_FXP_STATUS %u", status);
+ if (status != SSH2_FX_OK) {
+ /* record first error */
+ if (*write_errorp == 0)
+ *write_errorp = status;
+ }
+ /*
+ * XXX this doesn't do full reply matching like do_upload and
+ * so cannot gracefully truncate terminated uploads at a
+ * high-water mark. ATM the only caller of this function (scp)
+ * doesn't support transfer resumption, so this doesn't matter
+ * a whole lot.
+ *
+ * To be safe, do_crossload truncates the destination file to
+ * zero length on upload failure, since we can't trust the
+ * 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
+ * the counter based on the reply from the destination...
+ */
+ (*nreqsp)--;
+ }
+ debug3_f("done: %u outstanding replies", *nreqsp);
+}
+
+int
+do_crossload(struct sftp_conn *from, struct sftp_conn *to,
+ const char *from_path, const char *to_path,
+ Attrib *a, int preserve_flag)
+{
+ struct sshbuf *msg;
+ int write_error, read_error, r;
+ u_int64_t offset = 0, size;
+ u_int id, buflen, num_req, max_req, status = SSH2_FX_OK;
+ u_int num_upload_req;
+ off_t progress_counter;
+ u_char *from_handle, *to_handle;
+ size_t from_handle_len, to_handle_len;
+ struct requests requests;
+ struct request *req;
+ u_char type;
+
+ TAILQ_INIT(&requests);
+
+ if (a == NULL && (a = do_stat(from, from_path, 0)) == NULL)
+ return -1;
+
+ if ((a->flags & SSH2_FILEXFER_ATTR_PERMISSIONS) &&
+ (!S_ISREG(a->perm))) {
+ error("Cannot download non-regular file: %s", from_path);
+ return(-1);
+ }
+ if (a->flags & SSH2_FILEXFER_ATTR_SIZE)
+ size = a->size;
+ else
+ size = 0;
+
+ buflen = from->download_buflen;
+ if (buflen > to->upload_buflen)
+ buflen = to->upload_buflen;
+
+ /* Send open request to read side */
+ if (send_open(from, from_path, "origin", SSH2_FXF_READ, NULL,
+ &from_handle, &from_handle_len) != 0)
+ return -1;
+
+ /* Send open request to write side */
+ a->flags &= ~SSH2_FILEXFER_ATTR_SIZE;
+ a->flags &= ~SSH2_FILEXFER_ATTR_UIDGID;
+ a->perm &= 0777;
+ if (!preserve_flag)
+ a->flags &= ~SSH2_FILEXFER_ATTR_ACMODTIME;
+ if (send_open(to, to_path, "dest",
+ SSH2_FXF_WRITE|SSH2_FXF_CREAT|SSH2_FXF_TRUNC, a,
+ &to_handle, &to_handle_len) != 0) {
+ do_close(from, from_handle, from_handle_len);
+ return -1;
+ }
+
+ /* Read from remote "from" and write to remote "to" */
+ offset = 0;
+ write_error = read_error = num_req = num_upload_req = 0;
+ max_req = 1;
+ progress_counter = 0;
+
+ if (showprogress && size != 0) {
+ start_progress_meter(progress_meter_path(from_path),
+ size, &progress_counter);
+ }
+ if ((msg = sshbuf_new()) == NULL)
+ fatal_f("sshbuf_new failed");
+ while (num_req > 0 || max_req > 0) {
+ u_char *data;
+ size_t len;
+
+ /*
+ * Simulate EOF on interrupt: stop sending new requests and
+ * allow outstanding requests to drain gracefully
+ */
+ if (interrupted) {
+ if (num_req == 0) /* If we haven't started yet... */
+ break;
+ max_req = 0;
+ }
+
+ /* Send some more requests */
+ while (num_req < max_req) {
+ debug3("Request range %llu -> %llu (%d/%d)",
+ (unsigned long long)offset,
+ (unsigned long long)offset + buflen - 1,
+ num_req, max_req);
+ req = request_enqueue(&requests, from->msg_id++,
+ buflen, offset);
+ offset += buflen;
+ num_req++;
+ send_read_request(from, req->id, req->offset,
+ req->len, from_handle, from_handle_len);
+ }
+
+ /* Try to eat replies from the upload side (nonblocking) */
+ handle_dest_replies(to, to_path, 0,
+ &num_upload_req, &write_error);
+
+ sshbuf_reset(msg);
+ get_msg(from, msg);
+ if ((r = sshbuf_get_u8(msg, &type)) != 0 ||
+ (r = sshbuf_get_u32(msg, &id)) != 0)
+ fatal_fr(r, "parse");
+ debug3("Received origin reply T:%u I:%u R:%d",
+ type, id, max_req);
+
+ /* Find the request in our queue */
+ if ((req = request_find(&requests, id)) == NULL)
+ fatal("Unexpected reply %u", id);
+
+ switch (type) {
+ case SSH2_FXP_STATUS:
+ if ((r = sshbuf_get_u32(msg, &status)) != 0)
+ fatal_fr(r, "parse status");
+ if (status != SSH2_FX_EOF)
+ read_error = 1;
+ max_req = 0;
+ TAILQ_REMOVE(&requests, req, tq);
+ free(req);
+ num_req--;
+ break;
+ case SSH2_FXP_DATA:
+ if ((r = sshbuf_get_string(msg, &data, &len)) != 0)
+ fatal_fr(r, "parse data");
+ debug3("Received data %llu -> %llu",
+ (unsigned long long)req->offset,
+ (unsigned long long)req->offset + len - 1);
+ if (len > req->len)
+ fatal("Received more data than asked for "
+ "%zu > %zu", len, req->len);
+
+ /* Write this chunk out to the destination */
+ sshbuf_reset(msg);
+ if ((r = sshbuf_put_u8(msg, SSH2_FXP_WRITE)) != 0 ||
+ (r = sshbuf_put_u32(msg, to->msg_id++)) != 0 ||
+ (r = sshbuf_put_string(msg, to_handle,
+ to_handle_len)) != 0 ||
+ (r = sshbuf_put_u64(msg, req->offset)) != 0 ||
+ (r = sshbuf_put_string(msg, data, len)) != 0)
+ fatal_fr(r, "compose write");
+ send_msg(to, msg);
+ debug3("Sent message SSH2_FXP_WRITE I:%u O:%llu S:%zu",
+ id, (unsigned long long)offset, len);
+ num_upload_req++;
+ progress_counter += len;
+ free(data);
+
+ if (len == req->len) {
+ TAILQ_REMOVE(&requests, req, tq);
+ free(req);
+ num_req--;
+ } else {
+ /* Resend the request for the missing data */
+ debug3("Short data block, re-requesting "
+ "%llu -> %llu (%2d)",
+ (unsigned long long)req->offset + len,
+ (unsigned long long)req->offset +
+ req->len - 1, num_req);
+ req->id = from->msg_id++;
+ req->len -= len;
+ req->offset += len;
+ send_read_request(from, req->id,
+ req->offset, req->len,
+ from_handle, from_handle_len);
+ /* Reduce the request size */
+ if (len < buflen)
+ buflen = MAXIMUM(MIN_READ_SIZE, len);
+ }
+ if (max_req > 0) { /* max_req = 0 iff EOF received */
+ if (size > 0 && offset > size) {
+ /* Only one request at a time
+ * after the expected EOF */
+ debug3("Finish at %llu (%2d)",
+ (unsigned long long)offset,
+ num_req);
+ max_req = 1;
+ } else if (max_req < from->num_requests) {
+ ++max_req;
+ }
+ }
+ break;
+ default:
+ fatal("Expected SSH2_FXP_DATA(%u) packet, got %u",
+ SSH2_FXP_DATA, type);
+ }
+ }
+
+ if (showprogress && size)
+ stop_progress_meter();
+
+ /* Drain replies from the server (blocking) */
+ debug3_f("waiting for %u replies from destination", num_upload_req);
+ handle_dest_replies(to, to_path, 1, &num_upload_req, &write_error);
+
+ /* Sanity check */
+ if (TAILQ_FIRST(&requests) != NULL)
+ fatal("Transfer complete, but requests still in queue");
+ /* Truncate at 0 length on interrupt or error to avoid holes at dest */
+ if (read_error || write_error || interrupted) {
+ debug("truncating \"%s\" at 0", to_path);
+ do_close(to, to_handle, to_handle_len);
+ free(to_handle);
+ if (send_open(to, to_path, "dest",
+ SSH2_FXF_WRITE|SSH2_FXF_CREAT|SSH2_FXF_TRUNC, a,
+ &to_handle, &to_handle_len) != 0) {
+ error("truncation failed for \"%s\"", to_path);
+ to_handle = NULL;
+ }
+ }
+ if (read_error) {
+ error("Couldn't read from origin file \"%s\" : %s",
+ from_path, fx2txt(status));
+ status = -1;
+ do_close(from, from_handle, from_handle_len);
+ if (to_handle != NULL)
+ do_close(to, to_handle, to_handle_len);
+ } else if (write_error) {
+ error("Couldn't write to \"%s\": %s",
+ to_path, fx2txt(write_error));
+ status = SSH2_FX_FAILURE;
+ do_close(from, from_handle, from_handle_len);
+ if (to_handle != NULL)
+ do_close(to, to_handle, to_handle_len);
+ } else {
+ if (do_close(from, from_handle, from_handle_len) != 0 ||
+ interrupted)
+ status = -1;
+ else
+ status = SSH2_FX_OK;
+ if (to_handle != NULL) {
+ /* Need to resend utimes after write */
+ if (preserve_flag)
+ do_fsetstat(to, to_handle, to_handle_len, a);
+ do_close(to, to_handle, to_handle_len);
+ }
+ }
+ sshbuf_free(msg);
+ free(from_handle);
+ free(to_handle);
+
+ return status == SSH2_FX_OK ? 0 : -1;
+}
+
+static int
+crossload_dir_internal(struct sftp_conn *from, struct sftp_conn *to,
+ const char *from_path, const char *to_path,
+ int depth, Attrib *dirattrib, int preserve_flag, int print_flag,
+ int follow_link_flag)
+{
+ int i, ret = 0;
+ SFTP_DIRENT **dir_entries;
+ char *filename, *new_from_path = NULL, *new_to_path = NULL;
+ mode_t mode = 0777;
+ Attrib curdir;
+
+ if (depth >= MAX_DIR_DEPTH) {
+ error("Maximum directory depth exceeded: %d levels", depth);
+ return -1;
+ }
+
+ if (dirattrib == NULL &&
+ (dirattrib = do_stat(from, from_path, 1)) == NULL) {
+ error("Unable to stat remote directory \"%s\"", from_path);
+ return -1;
+ }
+ if (!S_ISDIR(dirattrib->perm)) {
+ error("\"%s\" is not a directory", from_path);
+ return -1;
+ }
+ if (print_flag && print_flag != SFTP_PROGRESS_ONLY)
+ mprintf("Retrieving %s\n", from_path);
+
+ curdir = *dirattrib; /* dirattrib will be clobbered */
+ curdir.flags &= ~SSH2_FILEXFER_ATTR_SIZE;
+ curdir.flags &= ~SSH2_FILEXFER_ATTR_UIDGID;
+ if ((curdir.flags & SSH2_FILEXFER_ATTR_PERMISSIONS) == 0) {
+ debug("Origin did not send permissions for "
+ "directory \"%s\"", to_path);
+ curdir.perm = S_IWUSR|S_IXUSR;
+ curdir.flags |= SSH2_FILEXFER_ATTR_PERMISSIONS;
+ }
+ /* We need to be able to write to the directory while we transfer it */
+ mode = curdir.perm & 01777;
+ curdir.perm = mode | (S_IWUSR|S_IXUSR);
+
+ /*
+ * sftp lacks a portable status value to match errno EEXIST,
+ * so if we get a failure back then we must check whether
+ * the path already existed and is a directory. Ensure we can
+ * write to the directory we create for the duration of the transfer.
+ */
+ if (do_mkdir(to, to_path, &curdir, 0) != 0) {
+ if ((dirattrib = do_stat(to, to_path, 0)) == NULL)
+ return -1;
+ if (!S_ISDIR(dirattrib->perm)) {
+ error("\"%s\" exists but is not a directory", to_path);
+ return -1;
+ }
+ }
+ curdir.perm = mode;
+
+ if (do_readdir(from, from_path, &dir_entries) == -1) {
+ error("%s: Failed to get directory contents", from_path);
+ return -1;
+ }
+
+ for (i = 0; dir_entries[i] != NULL && !interrupted; i++) {
+ free(new_from_path);
+ free(new_to_path);
+
+ filename = dir_entries[i]->filename;
+ new_from_path = path_append(from_path, filename);
+ new_to_path = path_append(to_path, filename);
+
+ if (S_ISDIR(dir_entries[i]->a.perm)) {
+ if (strcmp(filename, ".") == 0 ||
+ strcmp(filename, "..") == 0)
+ continue;
+ if (crossload_dir_internal(from, to,
+ new_from_path, new_to_path,
+ depth + 1, &(dir_entries[i]->a), preserve_flag,
+ print_flag, follow_link_flag) == -1)
+ ret = -1;
+ } else if (S_ISREG(dir_entries[i]->a.perm) ||
+ (follow_link_flag && S_ISLNK(dir_entries[i]->a.perm))) {
+ /*
+ * If this is a symlink then don't send the link's
+ * Attrib. do_download() will do a FXP_STAT operation
+ * and get the link target's attributes.
+ */
+ if (do_crossload(from, to, new_from_path, new_to_path,
+ S_ISLNK(dir_entries[i]->a.perm) ? NULL :
+ &(dir_entries[i]->a), preserve_flag) == -1) {
+ error("Transfer of file %s to %s failed",
+ new_from_path, new_to_path);
+ ret = -1;
+ }
+ } else
+ logit("%s: not a regular file\n", new_from_path);
+
+ }
+ free(new_to_path);
+ free(new_from_path);
+
+ do_setstat(to, to_path, &curdir);
+
+ free_sftp_dirents(dir_entries);
+
+ return ret;
+}
+
+int
+crossload_dir(struct sftp_conn *from, struct sftp_conn *to,
+ const char *from_path, const char *to_path,
+ Attrib *dirattrib, int preserve_flag, int print_flag, int follow_link_flag)
+{
+ char *from_path_canon;
+ int ret;
+
+ if ((from_path_canon = do_realpath(from, from_path)) == NULL) {
+ error("Unable to canonicalize path \"%s\"", from_path);
+ return -1;
+ }
+
+ ret = crossload_dir_internal(from, to, from_path_canon, to_path, 0,
+ dirattrib, preserve_flag, print_flag, follow_link_flag);
+ free(from_path_canon);
+ return ret;
+}
+
char *
path_append(const char *p1, const char *p2)
{
diff --git a/sftp-client.h b/sftp-client.h
index 6f6c49fb2099..7d0bd12ae5a3 100644
--- a/sftp-client.h
+++ b/sftp-client.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-client.h,v 1.30 2021/03/31 22:16:34 djm Exp $ */
+/* $OpenBSD: sftp-client.h,v 1.34 2021/08/09 23:47:44 djm Exp $ */
/*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
@@ -61,6 +61,11 @@ struct sftp_limits {
u_int64_t open_handles;
};
+/* print flag values */
+#define SFTP_QUIET 0 /* be quiet during transfers */
+#define SFTP_PRINT 1 /* list files and show progress bar */
+#define SFTP_PROGRESS_ONLY 2 /* progress bar only */
+
/*
* Initialise a SSH filexfer connection. Returns NULL on error or
* a pointer to a initialized sftp_conn struct on success.
@@ -108,11 +113,17 @@ int do_lsetstat(struct sftp_conn *conn, const char *path, Attrib *a);
/* Canonicalise 'path' - caller must free result */
char *do_realpath(struct sftp_conn *, const char *);
+/* Canonicalisation with tilde expansion (requires server extension) */
+char *do_expand_path(struct sftp_conn *, const char *);
+
+/* Returns non-zero if server can tilde-expand paths */
+int can_expand_path(struct sftp_conn *);
+
/* Get statistics for filesystem hosting file at "path" */
int do_statvfs(struct sftp_conn *, const char *, struct sftp_statvfs *, int);
/* Rename 'oldpath' to 'newpath' */
-int do_rename(struct sftp_conn *, const char *, const char *, int force_legacy);
+int do_rename(struct sftp_conn *, const char *, const char *, int);
/* Link 'oldpath' to 'newpath' */
int do_hardlink(struct sftp_conn *, const char *, const char *);
@@ -135,7 +146,7 @@ int do_download(struct sftp_conn *, const char *, const char *,
* times if 'pflag' is set
*/
int download_dir(struct sftp_conn *, const char *, const char *,
- Attrib *, int, int, int, int);
+ Attrib *, int, int, int, int, int);
/*
* Upload 'local_path' to 'remote_path'. Preserve permissions and times
@@ -148,7 +159,25 @@ int do_upload(struct sftp_conn *, const char *, const char *, int, int, int);
* times if 'pflag' is set
*/
int upload_dir(struct sftp_conn *, const char *, const char *, int, int, int,
- int);
+ int, int);
+
+/*
+ * Download a 'from_path' from the 'from' connection and upload it to
+ * to 'to' connection at 'to_path'.
+ */
+int
+do_crossload(struct sftp_conn *from, struct sftp_conn *to,
+ const char *from_path, const char *to_path,
+ Attrib *a, int preserve_flag);
+
+/*
+ * Recursively download a directory from 'from_path' from the 'from'
+ * connection and upload it to 'to' connection at 'to_path'.
+ */
+int crossload_dir(struct sftp_conn *from, struct sftp_conn *to,
+ const char *from_path, const char *to_path,
+ Attrib *dirattrib, int preserve_flag, int print_flag,
+ int follow_link_flag);
/* Concatenate paths, taking care of slashes. Caller must free result. */
char *path_append(const char *, const char *);
diff --git a/sftp-server.0 b/sftp-server.0
index e265f498803a..341f48df41c2 100644
--- a/sftp-server.0
+++ b/sftp-server.0
@@ -20,7 +20,7 @@ DESCRIPTION
Valid options are:
-d start_directory
- specifies an alternate starting directory for users. The
+ Specifies an alternate starting directory for users. The
pathname may contain the following tokens that are expanded at
runtime: %% is replaced by a literal '%', %d is replaced by the
home directory of the user being authenticated, and %u is
@@ -48,26 +48,26 @@ DESCRIPTION
levels of debugging output. The default is ERROR.
-P denied_requests
- Specify a comma-separated list of SFTP protocol requests that are
- banned by the server. sftp-server will reply to any denied
+ Specifies a comma-separated list of SFTP protocol requests that
+ are banned by the server. sftp-server will reply to any denied
request with a failure. The -Q flag can be used to determine the
supported request types. If both denied and allowed lists are
specified, then the denied list is applied before the allowed
list.
-p allowed_requests
- Specify a comma-separated list of SFTP protocol requests that are
- permitted by the server. All request types that are not on the
- allowed list will be logged and replied to with a failure
+ Specifies a comma-separated list of SFTP protocol requests that
+ are permitted by the server. All request types that are not on
+ the allowed list will be logged and replied to with a failure
message.
Care must be taken when using this feature to ensure that
requests made implicitly by SFTP clients are permitted.
-Q protocol_feature
- Query protocol features supported by sftp-server. At present the
- only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be used
- to deny or allow specific requests (flags -P and -p
+ Queries protocol features supported by sftp-server. At present
+ the only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be
+ used to deny or allow specific requests (flags -P and -p
respectively).
-R Places this instance of sftp-server into a read-only mode.
@@ -95,4 +95,4 @@ HISTORY
AUTHORS
Markus Friedl <markus@openbsd.org>
-OpenBSD 6.9 June 22, 2020 OpenBSD 6.9
+OpenBSD 6.9 July 27, 2021 OpenBSD 6.9
diff --git a/sftp-server.8 b/sftp-server.8
index f057da3b8b5c..5311bf9299fa 100644
--- a/sftp-server.8
+++ b/sftp-server.8
@@ -1,4 +1,4 @@
-.\" $OpenBSD: sftp-server.8,v 1.30 2020/06/22 06:36:40 jmc Exp $
+.\" $OpenBSD: sftp-server.8,v 1.31 2021/07/27 14:14:25 jmc Exp $
.\"
.\" Copyright (c) 2000 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: June 22 2020 $
+.Dd $Mdocdate: July 27 2021 $
.Dt SFTP-SERVER 8
.Os
.Sh NAME
@@ -64,7 +64,7 @@ for more information.
Valid options are:
.Bl -tag -width Ds
.It Fl d Ar start_directory
-specifies an alternate starting directory for users.
+Specifies an alternate starting directory for users.
The pathname may contain the following tokens that are expanded at runtime:
%% is replaced by a literal '%',
%d is replaced by the home directory of the user being authenticated,
@@ -100,7 +100,7 @@ DEBUG and DEBUG1 are equivalent.
DEBUG2 and DEBUG3 each specify higher levels of debugging output.
The default is ERROR.
.It Fl P Ar denied_requests
-Specify a comma-separated list of SFTP protocol requests that are banned by
+Specifies a comma-separated list of SFTP protocol requests that are banned by
the server.
.Nm
will reply to any denied request with a failure.
@@ -110,7 +110,7 @@ flag can be used to determine the supported request types.
If both denied and allowed lists are specified, then the denied list is
applied before the allowed list.
.It Fl p Ar allowed_requests
-Specify a comma-separated list of SFTP protocol requests that are permitted
+Specifies a comma-separated list of SFTP protocol requests that are permitted
by the server.
All request types that are not on the allowed list will be logged and replied
to with a failure message.
@@ -118,7 +118,7 @@ to with a failure message.
Care must be taken when using this feature to ensure that requests made
implicitly by SFTP clients are permitted.
.It Fl Q Ar protocol_feature
-Query protocol features supported by
+Queries protocol features supported by
.Nm .
At present the only feature that may be queried is
.Dq requests ,
diff --git a/sftp-server.c b/sftp-server.c
index 838f0488cde7..18d194911257 100644
--- a/sftp-server.c
+++ b/sftp-server.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-server.c,v 1.127 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: sftp-server.c,v 1.129 2021/08/09 23:47:44 djm Exp $ */
/*
* Copyright (c) 2000-2004 Markus Friedl. All rights reserved.
*
@@ -115,6 +115,7 @@ static void process_extended_hardlink(u_int32_t id);
static void process_extended_fsync(u_int32_t id);
static void process_extended_lsetstat(u_int32_t id);
static void process_extended_limits(u_int32_t id);
+static void process_extended_expand(u_int32_t id);
static void process_extended(u_int32_t id);
struct sftp_handler {
@@ -157,7 +158,9 @@ static const struct sftp_handler extended_handlers[] = {
{ "hardlink", "hardlink@openssh.com", 0, process_extended_hardlink, 1 },
{ "fsync", "fsync@openssh.com", 0, process_extended_fsync, 1 },
{ "lsetstat", "lsetstat@openssh.com", 0, process_extended_lsetstat, 1 },
- { "limits", "limits@openssh.com", 0, process_extended_limits, 1 },
+ { "limits", "limits@openssh.com", 0, process_extended_limits, 0 },
+ { "expand-path", "expand-path@openssh.com", 0,
+ process_extended_expand, 0 },
{ NULL, NULL, 0, NULL, 0 }
};
@@ -706,6 +709,7 @@ process_init(void)
compose_extension(msg, "fsync@openssh.com", "1");
compose_extension(msg, "lsetstat@openssh.com", "1");
compose_extension(msg, "limits@openssh.com", "1");
+ compose_extension(msg, "expand-path@openssh.com", "1");
send_msg(msg);
sshbuf_free(msg);
@@ -1491,13 +1495,13 @@ process_extended_limits(u_int32_t id)
struct sshbuf *msg;
int r;
uint64_t nfiles = 0;
-#ifdef HAVE_GETRLIMIT
+#if defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
struct rlimit rlim;
#endif
debug("request %u: limits", id);
-#ifdef HAVE_GETRLIMIT
+#if defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
if (getrlimit(RLIMIT_NOFILE, &rlim) != -1 && rlim.rlim_cur > 5)
nfiles = rlim.rlim_cur - 5; /* stdio(3) + syslog + spare */
#endif
@@ -1520,6 +1524,63 @@ process_extended_limits(u_int32_t id)
}
static void
+process_extended_expand(u_int32_t id)
+{
+ char cwd[PATH_MAX], resolvedname[PATH_MAX];
+ char *path, *npath;
+ int r;
+ Stat s;
+
+ if ((r = sshbuf_get_cstring(iqueue, &path, NULL)) != 0)
+ fatal_fr(r, "parse");
+ if (getcwd(cwd, sizeof(cwd)) == NULL) {
+ send_status(id, errno_to_portable(errno));
+ goto out;
+ }
+
+ debug3("request %u: expand, original \"%s\"", id, path);
+ if (path[0] == '\0') {
+ /* empty path */
+ free(path);
+ path = xstrdup(".");
+ } else if (*path == '~') {
+ /* ~ expand path */
+ /* Special-case for "~" and "~/" to respect homedir flag */
+ if (strcmp(path, "~") == 0) {
+ free(path);
+ path = xstrdup(cwd);
+ } else if (strncmp(path, "~/", 2) == 0) {
+ npath = xstrdup(path + 2);
+ free(path);
+ xasprintf(&path, "%s/%s", cwd, npath);
+ } else {
+ /* ~user expansions */
+ if (tilde_expand(path, pw->pw_uid, &npath) != 0) {
+ send_status(id, errno_to_portable(EINVAL));
+ goto out;
+ }
+ free(path);
+ path = npath;
+ }
+ } else if (*path != '/') {
+ /* relative path */
+ xasprintf(&npath, "%s/%s", cwd, path);
+ free(path);
+ path = npath;
+ }
+ verbose("expand \"%s\"", path);
+ if (sftp_realpath(path, resolvedname) == NULL) {
+ send_status(id, errno_to_portable(errno));
+ goto out;
+ }
+ attrib_clear(&s.attrib);
+ s.name = s.long_name = resolvedname;
+ send_names(id, 1, &s);
+ out:
+ free(path);
+}
+
+static void
process_extended(u_int32_t id)
{
char *request;
diff --git a/sftp.0 b/sftp.0
index 6495555d46ad..3a340f68d961 100644
--- a/sftp.0
+++ b/sftp.0
@@ -125,7 +125,6 @@ DESCRIPTION
CanonicalizePermittedCNAMEs
CASignatureAlgorithms
CertificateFile
- ChallengeResponseAuthentication
CheckHostIP
Ciphers
Compression
@@ -409,4 +408,4 @@ SEE ALSO
T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
filexfer-00.txt, January 2001, work in progress material.
-OpenBSD 6.9 February 12, 2021 OpenBSD 6.9
+OpenBSD 6.9 July 2, 2021 OpenBSD 6.9
diff --git a/sftp.1 b/sftp.1
index a1a6373029a4..7eebeeacbf3f 100644
--- a/sftp.1
+++ b/sftp.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: sftp.1,v 1.137 2021/02/12 03:49:09 djm Exp $
+.\" $OpenBSD: sftp.1,v 1.138 2021/07/02 05:11:21 dtucker Exp $
.\"
.\" Copyright (c) 2001 Damien Miller. 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: February 12 2021 $
+.Dd $Mdocdate: July 2 2021 $
.Dt SFTP 1
.Os
.Sh NAME
@@ -232,7 +232,6 @@ For full details of the options listed below, and their possible values, see
.It CanonicalizePermittedCNAMEs
.It CASignatureAlgorithms
.It CertificateFile
-.It ChallengeResponseAuthentication
.It CheckHostIP
.It Ciphers
.It Compression
diff --git a/sftp.c b/sftp.c
index 3f46c55316aa..69f84cdcf1a4 100644
--- a/sftp.c
+++ b/sftp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp.c,v 1.209 2021/04/03 06:58:30 djm Exp $ */
+/* $OpenBSD: sftp.c,v 1.211 2021/08/12 09:59:00 schwarze Exp $ */
/*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
*
@@ -252,6 +252,13 @@ cmd_interrupt(int signo)
errno = olderrno;
}
+/* ARGSUSED */
+static void
+read_interrupt(int signo)
+{
+ interrupted = 1;
+}
+
/*ARGSUSED*/
static void
sigchld_handler(int sig)
@@ -655,10 +662,11 @@ process_get(struct sftp_conn *conn, const char *src, const char *dst,
else if (!quiet && !resume)
mprintf("Fetching %s to %s\n",
g.gl_pathv[i], abs_dst);
+ /* XXX follow link flag */
if (globpath_is_dir(g.gl_pathv[i]) && (rflag || global_rflag)) {
if (download_dir(conn, g.gl_pathv[i], abs_dst, NULL,
pflag || global_pflag, 1, resume,
- fflag || global_fflag) == -1)
+ fflag || global_fflag, 0) == -1)
err = -1;
} else {
if (do_download(conn, g.gl_pathv[i], abs_dst, NULL,
@@ -748,10 +756,11 @@ process_put(struct sftp_conn *conn, const char *src, const char *dst,
else if (!quiet && !resume)
mprintf("Uploading %s to %s\n",
g.gl_pathv[i], abs_dst);
+ /* XXX follow_link_flag */
if (globpath_is_dir(g.gl_pathv[i]) && (rflag || global_rflag)) {
if (upload_dir(conn, g.gl_pathv[i], abs_dst,
pflag || global_pflag, 1, resume,
- fflag || global_fflag) == -1)
+ fflag || global_fflag, 0) == -1)
err = -1;
} else {
if (do_upload(conn, g.gl_pathv[i], abs_dst,
@@ -2195,8 +2204,6 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2)
interactive = !batchmode && isatty(STDIN_FILENO);
err = 0;
for (;;) {
- ssh_signal(SIGINT, SIG_IGN);
-
if (el == NULL) {
if (interactive)
printf("sftp> ");
@@ -2209,10 +2216,21 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2)
#ifdef USE_LIBEDIT
const char *line;
int count = 0;
-
+ struct sigaction sa;
+
+ interrupted = 0;
+ memset(&sa, 0, sizeof(sa));
+ sa.sa_handler = read_interrupt;
+ if (sigaction(SIGINT, &sa, NULL) == -1) {
+ debug3("sigaction(%s): %s",
+ strsignal(SIGINT), strerror(errno));
+ break;
+ }
if ((line = el_gets(el, &count)) == NULL ||
count <= 0) {
printf("\n");
+ if (interrupted)
+ continue;
break;
}
history(hl, &hev, H_ENTER, line);
diff --git a/sk-usbhid.c b/sk-usbhid.c
index c85b9857d2c7..438980889cb2 100644
--- a/sk-usbhid.c
+++ b/sk-usbhid.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sk-usbhid.c,v 1.29 2021/02/18 02:15:07 djm Exp $ */
+/* $OpenBSD: sk-usbhid.c,v 1.30 2021/05/31 06:48:42 djm Exp $ */
/*
* Copyright (c) 2019 Markus Friedl
* Copyright (c) 2020 Pedro Martelletto
@@ -669,7 +669,7 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len,
{
fido_cred_t *cred = NULL;
const uint8_t *ptr;
- uint8_t user_id[32];
+ uint8_t user_id[32], chall_hash[32];
struct sk_usbhid *sk = NULL;
struct sk_enroll_response *response = NULL;
size_t len;
@@ -721,8 +721,13 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len,
skdebug(__func__, "fido_cred_set_type: %s", fido_strerr(r));
goto out;
}
- if ((r = fido_cred_set_clientdata_hash(cred, challenge,
- challenge_len)) != FIDO_OK) {
+ if (sha256_mem(challenge, challenge_len,
+ chall_hash, sizeof(chall_hash)) != 0) {
+ skdebug(__func__, "hash challenge failed");
+ goto out;
+ }
+ if ((r = fido_cred_set_clientdata_hash(cred, chall_hash,
+ sizeof(chall_hash))) != FIDO_OK) {
skdebug(__func__, "fido_cred_set_clientdata_hash: %s",
fido_strerr(r));
goto out;
diff --git a/ssh-agent.1 b/ssh-agent.1
index 2cf46160bf71..ed8c87096909 100644
--- a/ssh-agent.1
+++ b/ssh-agent.1
@@ -157,7 +157,8 @@ which in turn can be evaluated in the calling shell, for example
.Pp
In both cases,
.Xr ssh 1
-looks at these environment variables and uses them to establish a connection to the agent.
+looks at these environment variables
+and uses them to establish a connection to the agent.
.Pp
The agent initially does not have any private keys.
Keys are added using
diff --git a/ssh-keygen.0 b/ssh-keygen.0
index 66372d53c2b2..2027bdf3cb68 100644
--- a/ssh-keygen.0
+++ b/ssh-keygen.0
@@ -32,11 +32,13 @@ SYNOPSIS
ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
file ...
ssh-keygen -Q [-l] -f krl_file file ...
- ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file
- ssh-keygen -Y check-novalidate -n namespace -s signature_file
+ ssh-keygen -Y find-principals [-O option] -s signature_file
+ -f allowed_signers_file
+ ssh-keygen -Y check-novalidate [-O option] -n namespace -s signature_file
ssh-keygen -Y sign -f key_file -n namespace file ...
- ssh-keygen -Y verify -f allowed_signers_file -I signer_identity
- -n namespace -s signature_file [-r revocation_file]
+ ssh-keygen -Y verify [-O option] -f allowed_signers_file
+ -I signer_identity -n namespace -s signature_file
+ [-r revocation_file]
DESCRIPTION
ssh-keygen generates, manages and converts authentication keys for
@@ -303,6 +305,19 @@ DESCRIPTION
potentially sensitive. By default, this information is
discarded.
+ When performing signature-related options using the -Y flag, the
+ following options are accepted:
+
+ print-pubkey
+ Print the full public key to standard output after
+ signature verification.
+
+ verify-time=timestamp
+ Specifies a time to use when validating signatures
+ instead of the current time. The time may be specified
+ as a date in YYYYMMDD format or a time in
+ YYYYMMDDHHMM[SS] format.
+
The -O option may be specified multiple times.
-P passphrase
@@ -488,8 +503,7 @@ MODULI GENERATION
generator option. Valid generator values are 2, 3, and 5.
Screened DH groups may be installed in /etc/moduli. It is important that
- this file contains moduli of a range of bit lengths and that both ends of
- a connection share common moduli.
+ this file contains moduli of a range of bit lengths.
A number of options are available for moduli generation and screening via
the -O flag:
@@ -740,13 +754,22 @@ ALLOWED SIGNERS
(CA) and that certificates signed by this CA may be accepted for
verification.
- namespaces="namespace-list"
+ namespaces=namespace-list
Specifies a pattern-list of namespaces that are accepted for this
key. If this option is present, the signature namespace embedded
in the signature object and presented on the verification
command-line must match the specified list before the key will be
considered acceptable.
+ valid-after=timestamp
+ Indicates that the key is valid for use at or after the specified
+ timestamp, which may be a date in YYYYMMDD format or a time in
+ YYYYMMDDHHMM[SS] format.
+
+ valid-before=timestamp
+ Indicates that the key is valid for use at or before the
+ specified timestamp.
+
When verifying signatures made by certificates, the expected principal
name must match both the principals pattern in the allowed signers file
and the principals embedded in the certificate itself.
@@ -812,4 +835,4 @@ AUTHORS
created OpenSSH. Markus Friedl contributed the support for SSH protocol
versions 1.5 and 2.0.
-OpenBSD 6.9 November 27, 2020 OpenBSD 6.9
+OpenBSD 6.9 August 11, 2021 OpenBSD 6.9
diff --git a/ssh-keygen.1 b/ssh-keygen.1
index 43c8aa2f5839..f83f515f6008 100644
--- a/ssh-keygen.1
+++ b/ssh-keygen.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: ssh-keygen.1,v 1.212 2020/11/27 10:12:30 dtucker Exp $
+.\" $OpenBSD: ssh-keygen.1,v 1.216 2021/08/11 08:54:17 djm Exp $
.\"
.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, 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: November 27 2020 $
+.Dd $Mdocdate: August 11 2021 $
.Dt SSH-KEYGEN 1
.Os
.Sh NAME
@@ -147,10 +147,12 @@
.Ar
.Nm ssh-keygen
.Fl Y Cm find-principals
+.Op Fl O Ar option
.Fl s Ar signature_file
.Fl f Ar allowed_signers_file
.Nm ssh-keygen
.Fl Y Cm check-novalidate
+.Op Fl O Ar option
.Fl n Ar namespace
.Fl s Ar signature_file
.Nm ssh-keygen
@@ -160,6 +162,7 @@
.Ar
.Nm ssh-keygen
.Fl Y Cm verify
+.Op Fl O Ar option
.Fl f Ar allowed_signers_file
.Fl I Ar signer_identity
.Fl n Ar namespace
@@ -530,6 +533,19 @@ Please note that this information is potentially sensitive.
By default, this information is discarded.
.El
.Pp
+When performing signature-related options using the
+.Fl Y
+flag, the following options are accepted:
+.Bl -tag -width Ds
+.It Cm print-pubkey
+Print the full public key to standard output after signature verification.
+.It Cm verify-time Ns = Ns Ar timestamp
+Specifies a time to use when validating signatures instead of the current
+time.
+The time may be specified as a date in YYYYMMDD format or a time
+in YYYYMMDDHHMM[SS] format.
+.El
+.Pp
The
.Fl O
option may be specified multiple times.
@@ -816,8 +832,7 @@ Valid generator values are 2, 3, and 5.
.Pp
Screened DH groups may be installed in
.Pa /etc/moduli .
-It is important that this file contains moduli of a range of bit lengths and
-that both ends of a connection share common moduli.
+It is important that this file contains moduli of a range of bit lengths.
.Pp
A number of options are available for moduli generation and screening via the
.Fl O
@@ -1135,11 +1150,16 @@ are case-insensitive):
.It Cm cert-authority
Indicates that this key is accepted as a certificate authority (CA) and
that certificates signed by this CA may be accepted for verification.
-.It Cm namespaces="namespace-list"
+.It Cm namespaces Ns = Ns "namespace-list"
Specifies a pattern-list of namespaces that are accepted for this key.
If this option is present, the signature namespace embedded in the
signature object and presented on the verification command-line must
match the specified list before the key will be considered acceptable.
+.It Cm valid-after Ns = Ns "timestamp"
+Indicates that the key is valid for use at or after the specified timestamp,
+which may be a date in YYYYMMDD format or a time in YYYYMMDDHHMM[SS] format.
+.It Cm valid-before Ns = Ns "timestamp"
+Indicates that the key is valid for use at or before the specified timestamp.
.El
.Pp
When verifying signatures made by certificates, the expected principal
diff --git a/ssh-keygen.c b/ssh-keygen.c
index 027c6db6bd4a..18e9f1d180c6 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keygen.c,v 1.429 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: ssh-keygen.c,v 1.435 2021/08/11 08:54:17 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -2673,14 +2673,54 @@ done:
}
static int
+sig_process_opts(char * const *opts, size_t nopts, uint64_t *verify_timep,
+ int *print_pubkey)
+{
+ size_t i;
+ time_t now;
+
+ *verify_timep = 0;
+ *print_pubkey = 0;
+ for (i = 0; i < nopts; i++) {
+ if (strncasecmp(opts[i], "verify-time=", 12) == 0) {
+ if (parse_absolute_time(opts[i] + 12,
+ verify_timep) != 0 || *verify_timep == 0) {
+ error("Invalid \"verify-time\" option");
+ return SSH_ERR_INVALID_ARGUMENT;
+ }
+ } else if (print_pubkey &&
+ strcasecmp(opts[i], "print-pubkey") == 0) {
+ *print_pubkey = 1;
+ } else {
+ error("Invalid option \"%s\"", opts[i]);
+ return SSH_ERR_INVALID_ARGUMENT;
+ }
+ }
+ if (*verify_timep == 0) {
+ if ((now = time(NULL)) < 0) {
+ error("Time is before epoch");
+ return SSH_ERR_INVALID_ARGUMENT;
+ }
+ *verify_timep = (uint64_t)now;
+ }
+ return 0;
+}
+
+static int
sig_verify(const char *signature, const char *sig_namespace,
- const char *principal, const char *allowed_keys, const char *revoked_keys)
+ const char *principal, const char *allowed_keys, const char *revoked_keys,
+ char * const *opts, size_t nopts)
{
int r, ret = -1;
+ int print_pubkey = 0;
struct sshbuf *sigbuf = NULL, *abuf = NULL;
struct sshkey *sign_key = NULL;
char *fp = NULL;
struct sshkey_sig_details *sig_details = NULL;
+ uint64_t verify_time = 0;
+
+ if (sig_process_opts(opts, nopts, &verify_time, &print_pubkey) != 0)
+ goto done; /* error already logged */
memset(&sig_details, 0, sizeof(sig_details));
if ((r = sshbuf_load_file(signature, &abuf)) != 0) {
@@ -2715,7 +2755,7 @@ sig_verify(const char *signature, const char *sig_namespace,
}
if (allowed_keys != NULL && (r = sshsig_check_allowed_keys(allowed_keys,
- sign_key, principal, sig_namespace)) != 0) {
+ sign_key, principal, sig_namespace, verify_time)) != 0) {
debug3_fr(r, "sshsig_check_allowed_keys");
goto done;
}
@@ -2740,6 +2780,15 @@ done:
printf("Could not verify signature.\n");
}
}
+ /* Print the signature key if requested */
+ if (ret == 0 && print_pubkey && sign_key != NULL) {
+ if ((r = sshkey_write(sign_key, stdout)) == 0)
+ fputc('\n', stdout);
+ else {
+ error_r(r, "Could not print public key.\n");
+ ret = -1;
+ }
+ }
sshbuf_free(sigbuf);
sshbuf_free(abuf);
sshkey_free(sign_key);
@@ -2749,11 +2798,17 @@ done:
}
static int
-sig_find_principals(const char *signature, const char *allowed_keys) {
+sig_find_principals(const char *signature, const char *allowed_keys,
+ char * const *opts, size_t nopts)
+{
int r, ret = -1;
struct sshbuf *sigbuf = NULL, *abuf = NULL;
struct sshkey *sign_key = NULL;
char *principals = NULL, *cp, *tmp;
+ uint64_t verify_time = 0;
+
+ if (sig_process_opts(opts, nopts, &verify_time, NULL) != 0)
+ goto done; /* error already logged */
if ((r = sshbuf_load_file(signature, &abuf)) != 0) {
error_r(r, "Couldn't read signature file");
@@ -2768,8 +2823,9 @@ sig_find_principals(const char *signature, const char *allowed_keys) {
goto done;
}
if ((r = sshsig_find_principals(allowed_keys, sign_key,
- &principals)) != 0) {
- error_fr(r, "sshsig_get_principal");
+ verify_time, &principals)) != 0) {
+ if (r != SSH_ERR_KEY_NOT_FOUND)
+ error_fr(r, "sshsig_find_principal");
goto done;
}
ret = 0;
@@ -3071,8 +3127,10 @@ usage(void)
" [-w provider] [-Z cipher]\n"
" ssh-keygen -p [-a rounds] [-f keyfile] [-m format] [-N new_passphrase]\n"
" [-P old_passphrase] [-Z cipher]\n"
+#ifdef WITH_OPENSSL
" ssh-keygen -i [-f input_keyfile] [-m key_format]\n"
" ssh-keygen -e [-f input_keyfile] [-m key_format]\n"
+#endif
" ssh-keygen -y [-f input_keyfile]\n"
" ssh-keygen -c [-a rounds] [-C comment] [-f keyfile] [-P passphrase]\n"
" ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]\n"
@@ -3379,7 +3437,8 @@ main(int argc, char **argv)
"missing allowed keys file");
exit(1);
}
- return sig_find_principals(ca_key_path, identity_file);
+ return sig_find_principals(ca_key_path, identity_file,
+ opts, nopts);
} else if (strncmp(sign_op, "sign", 4) == 0) {
if (cert_principals == NULL ||
*cert_principals == '\0') {
@@ -3401,7 +3460,7 @@ main(int argc, char **argv)
exit(1);
}
return sig_verify(ca_key_path, cert_principals,
- NULL, NULL, NULL);
+ NULL, NULL, NULL, opts, nopts);
} else if (strncmp(sign_op, "verify", 6) == 0) {
if (cert_principals == NULL ||
*cert_principals == '\0') {
@@ -3425,7 +3484,8 @@ main(int argc, char **argv)
exit(1);
}
return sig_verify(ca_key_path, cert_principals,
- cert_key_id, identity_file, rr_hostname);
+ cert_key_id, identity_file, rr_hostname,
+ opts, nopts);
}
error("Unsupported operation for -Y: \"%s\"", sign_op);
usage();
diff --git a/ssh-keysign.c b/ssh-keysign.c
index 907162dc7459..d6ac98c6c8c7 100644
--- a/ssh-keysign.c
+++ b/ssh-keysign.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keysign.c,v 1.66 2020/12/17 23:10:27 djm Exp $ */
+/* $OpenBSD: ssh-keysign.c,v 1.67 2021/07/05 01:16:46 dtucker Exp $ */
/*
* Copyright (c) 2002 Markus Friedl. All rights reserved.
*
diff --git a/ssh-pkcs11-helper.c b/ssh-pkcs11-helper.c
index a9a6fe3815d5..5ca8d03fbd1e 100644
--- a/ssh-pkcs11-helper.c
+++ b/ssh-pkcs11-helper.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-pkcs11-helper.c,v 1.24 2020/10/18 11:32:02 djm Exp $ */
+/* $OpenBSD: ssh-pkcs11-helper.c,v 1.25 2021/08/11 05:20:17 djm Exp $ */
/*
* Copyright (c) 2010 Markus Friedl. All rights reserved.
*
@@ -98,7 +98,8 @@ lookup_key(struct sshkey *k)
struct pkcs11_keyinfo *ki;
TAILQ_FOREACH(ki, &pkcs11_keylist, next) {
- debug("check %p %s %s", ki, ki->providername, ki->label);
+ debug("check %s %s %s", sshkey_type(ki->key),
+ ki->providername, ki->label);
if (sshkey_equal(k, ki->key))
return (ki->key);
}
@@ -350,7 +351,6 @@ main(int argc, char **argv)
log_init(__progname, log_level, log_facility, log_stderr);
pkcs11_init(0);
-
in = STDIN_FILENO;
out = STDOUT_FILENO;
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index 844aa9fff740..37a6b1b5bcae 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-pkcs11.c,v 1.52 2020/11/22 22:38:26 djm Exp $ */
+/* $OpenBSD: ssh-pkcs11.c,v 1.54 2021/08/11 05:20:17 djm Exp $ */
/*
* Copyright (c) 2010 Markus Friedl. All rights reserved.
* Copyright (c) 2014 Pedro Martelletto. All rights reserved.
@@ -111,8 +111,8 @@ pkcs11_provider_finalize(struct pkcs11_provider *p)
CK_RV rv;
CK_ULONG i;
- debug("pkcs11_provider_finalize: %p refcount %d valid %d",
- p, p->refcount, p->valid);
+ debug_f("provider \"%s\" refcount %d valid %d",
+ p->name, p->refcount, p->valid);
if (!p->valid)
return;
for (i = 0; i < p->nslots; i++) {
@@ -135,10 +135,10 @@ pkcs11_provider_finalize(struct pkcs11_provider *p)
static void
pkcs11_provider_unref(struct pkcs11_provider *p)
{
- debug("pkcs11_provider_unref: %p refcount %d", p, p->refcount);
+ debug_f("provider \"%s\" refcount %d", p->name, p->refcount);
if (--p->refcount <= 0) {
if (p->valid)
- error("pkcs11_provider_unref: %p still valid", p);
+ error_f("provider \"%s\" still valid", p->name);
free(p->name);
free(p->slotlist);
free(p->slotinfo);
@@ -166,7 +166,7 @@ pkcs11_provider_lookup(char *provider_id)
struct pkcs11_provider *p;
TAILQ_FOREACH(p, &pkcs11_providers, next) {
- debug("check %p %s", p, p->name);
+ debug("check provider \"%s\"", p->name);
if (!strcmp(provider_id, p->name))
return (p);
}
@@ -337,8 +337,8 @@ pkcs11_check_obj_bool_attrib(struct pkcs11_key *k11, CK_OBJECT_HANDLE obj,
return (-1);
}
*val = flag != 0;
- debug_f("provider %p slot %lu object %lu: attrib %lu = %d",
- k11->provider, k11->slotidx, obj, type, *val);
+ debug_f("provider \"%s\" slot %lu object %lu: attrib %lu = %d",
+ k11->provider->name, k11->slotidx, obj, type, *val);
return (0);
}
@@ -430,7 +430,7 @@ pkcs11_rsa_private_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa,
int rval = -1;
if ((k11 = RSA_get_ex_data(rsa, rsa_idx)) == NULL) {
- error("RSA_get_ex_data failed for rsa %p", rsa);
+ error("RSA_get_ex_data failed");
return (-1);
}
@@ -973,7 +973,7 @@ pkcs11_fetch_x509_pubkey(struct pkcs11_provider *p, CK_ULONG slotidx,
}
/* Decode DER-encoded cert subject */
- cp = cert_attr[2].pValue;
+ cp = cert_attr[1].pValue;
if ((x509_name = d2i_X509_NAME(NULL, &cp,
cert_attr[1].ulValueLen)) == NULL ||
(subject = X509_NAME_oneline(x509_name, NULL, 0)) == NULL)
diff --git a/ssh.0 b/ssh.0
index 113fe49cda98..4f8e5325e2d9 100644
--- a/ssh.0
+++ b/ssh.0
@@ -21,8 +21,8 @@ DESCRIPTION
ssh connects and logs into the specified destination, which may be
specified as either [user@]hostname or a URI of the form
- ssh://[user@]hostname[:port]. The user must prove his/her identity to
- the remote machine using one of several methods (see below).
+ ssh://[user@]hostname[:port]. The user must prove their identity to the
+ remote machine using one of several methods (see below).
If a command is specified, it is executed on the remote host instead of a
login shell.
@@ -121,7 +121,8 @@ DESCRIPTION
If the ExitOnForwardFailure configuration option is set to M-bM-^@M-^\yesM-bM-^@M-^],
then a client started with -f will wait for all remote port
forwards to be successfully established before placing itself in
- the background.
+ the background. Refer to the description of
+ ForkAfterAuthentication in ssh_config(5) for details.
-G Causes ssh to print its configuration after evaluating Host and
Match blocks and exit.
@@ -205,7 +206,8 @@ DESCRIPTION
keyword for more information.
-N Do not execute a remote command. This is useful for just
- forwarding ports.
+ forwarding ports. Refer to the description of SessionType in
+ ssh_config(5) for details.
-n Redirects stdin from /dev/null (actually, prevents reading from
stdin). This must be used when ssh is run in the background. A
@@ -215,7 +217,8 @@ DESCRIPTION
be automatically forwarded over an encrypted channel. The ssh
program will be put in the background. (This does not work if
ssh needs to ask for a password or passphrase; see also the -f
- option.)
+ option.) Refer to the description of StdinNull in ssh_config(5)
+ for details.
-O ctl_cmd
Control an active connection multiplexing master process. When
@@ -245,7 +248,6 @@ DESCRIPTION
CanonicalizePermittedCNAMEs
CASignatureAlgorithms
CertificateFile
- ChallengeResponseAuthentication
CheckHostIP
Ciphers
ClearAllForwardings
@@ -259,6 +261,7 @@ DESCRIPTION
EscapeChar
ExitOnForwardFailure
FingerprintHash
+ ForkAfterAuthentication
ForwardAgent
ForwardX11
ForwardX11Timeout
@@ -307,7 +310,9 @@ DESCRIPTION
SendEnv
ServerAliveInterval
ServerAliveCountMax
+ SessionType
SetEnv
+ StdinNull
StreamLocalBindMask
StreamLocalBindUnlink
StrictHostKeyChecking
@@ -326,18 +331,18 @@ DESCRIPTION
a per-host basis in the configuration file.
-Q query_option
- Queries ssh for the algorithms supported for the specified
- version 2. The available features are: cipher (supported
- symmetric ciphers), cipher-auth (supported symmetric ciphers that
- support authenticated encryption), help (supported query terms
- for use with the -Q flag), mac (supported message integrity
- codes), kex (key exchange algorithms), key (key types), key-cert
- (certificate key types), key-plain (non-certificate key types),
- key-sig (all key types and signature algorithms),
- protocol-version (supported SSH protocol versions), and sig
- (supported signature algorithms). Alternatively, any keyword
- from ssh_config(5) or sshd_config(5) that takes an algorithm list
- may be used as an alias for the corresponding query_option.
+ Queries for the algorithms supported by one of the following
+ features: cipher (supported symmetric ciphers), cipher-auth
+ (supported symmetric ciphers that support authenticated
+ encryption), help (supported query terms for use with the -Q
+ flag), mac (supported message integrity codes), kex (key exchange
+ algorithms), key (key types), key-cert (certificate key types),
+ key-plain (non-certificate key types), key-sig (all key types and
+ signature algorithms), protocol-version (supported SSH protocol
+ versions), and sig (supported signature algorithms).
+ Alternatively, any keyword from ssh_config(5) or sshd_config(5)
+ that takes an algorithm list may be used as an alias for the
+ corresponding query_option.
-q Quiet mode. Causes most warning and diagnostic messages to be
suppressed.
@@ -388,7 +393,8 @@ DESCRIPTION
-s May be used to request invocation of a subsystem on the remote
system. Subsystems facilitate the use of SSH as a secure
transport for other applications (e.g. sftp(1)). The subsystem
- is specified as the remote command.
+ is specified as the remote command. Refer to the description of
+ SessionType in ssh_config(5) for details.
-T Disable pseudo-terminal allocation.
@@ -457,7 +463,7 @@ AUTHENTICATION
The methods available for authentication are: GSSAPI-based
authentication, host-based authentication, public key authentication,
- challenge-response authentication, and password authentication.
+ keyboard-interactive authentication, and password authentication.
Authentication methods are tried in the order specified above, though
PreferredAuthentications can be used to change the default order.
@@ -496,7 +502,7 @@ AUTHENTICATION
different method. These may be viewed by increasing the LogLevel to
DEBUG or higher (e.g. by using the -v flag).
- The user creates his/her key pair by running ssh-keygen(1). This stores
+ The user creates their key pair by running ssh-keygen(1). This stores
the private key in ~/.ssh/id_dsa (DSA), ~/.ssh/id_ecdsa (ECDSA),
~/.ssh/id_ecdsa_sk (authenticator-hosted ECDSA), ~/.ssh/id_ed25519
(Ed25519), ~/.ssh/id_ed25519_sk (authenticator-hosted Ed25519), or
@@ -505,7 +511,7 @@ AUTHENTICATION
ECDSA), ~/.ssh/id_ed25519.pub (Ed25519), ~/.ssh/id_ed25519_sk.pub
(authenticator-hosted Ed25519), or ~/.ssh/id_rsa.pub (RSA) in the user's
home directory. The user should then copy the public key to
- ~/.ssh/authorized_keys in his/her home directory on the remote machine.
+ ~/.ssh/authorized_keys in their home directory on the remote machine.
The authorized_keys file corresponds to the conventional ~/.rhosts file,
and has one key per line, though the lines can be very long. After this,
the user can log in without giving the password.
@@ -521,10 +527,10 @@ AUTHENTICATION
may be with an authentication agent. See ssh-agent(1) and (optionally)
the AddKeysToAgent directive in ssh_config(5) for more information.
- Challenge-response authentication works as follows: The server sends an
- arbitrary "challenge" text, and prompts for a response. Examples of
- challenge-response authentication include BSD Authentication (see
- login.conf(5)) and PAM (some non-OpenBSD systems).
+ Keyboard-interactive authentication works as follows: The server sends an
+ arbitrary "challenge" text and prompts for a response, possibly multiple
+ times. Examples of keyboard-interactive authentication include BSD
+ Authentication (see login.conf(5)) and PAM (some non-OpenBSD systems).
Finally, if other authentication methods fail, ssh prompts the user for a
password. The password is sent to the remote host for checking; however,
@@ -1001,4 +1007,4 @@ AUTHORS
created OpenSSH. Markus Friedl contributed the support for SSH protocol
versions 1.5 and 2.0.
-OpenBSD 6.9 February 15, 2021 OpenBSD 6.9
+OpenBSD 6.9 July 28, 2021 OpenBSD 6.9
diff --git a/ssh.1 b/ssh.1
index 0a01767ed9a2..77502515b6a6 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.419 2021/02/15 20:43:15 markus Exp $
-.Dd $Mdocdate: February 15 2021 $
+.\" $OpenBSD: ssh.1,v 1.425 2021/07/28 05:57:42 jmc Exp $
+.Dd $Mdocdate: July 28 2021 $
.Dt SSH 1
.Os
.Sh NAME
@@ -88,7 +88,7 @@ or a URI of the form
.No ssh:// Oo user @ Oc hostname Op : port .
.Sm on
The user must prove
-his/her identity to the remote machine using one of several methods
+their identity to the remote machine using one of several methods
(see below).
.Pp
If a
@@ -259,6 +259,11 @@ then a client started with
.Fl f
will wait for all remote port forwards to be successfully established
before placing itself in the background.
+Refer to the description of
+.Cm ForkAfterAuthentication
+in
+.Xr ssh_config 5
+for details.
.Pp
.It Fl G
Causes
@@ -425,6 +430,11 @@ keyword for more information.
.It Fl N
Do not execute a remote command.
This is useful for just forwarding ports.
+Refer to the description of
+.Cm SessionType
+in
+.Xr ssh_config 5
+for details.
.Pp
.It Fl n
Redirects stdin from
@@ -446,6 +456,11 @@ program will be put in the background.
needs to ask for a password or passphrase; see also the
.Fl f
option.)
+Refer to the description of
+.Cm StdinNull
+in
+.Xr ssh_config 5
+for details.
.Pp
.It Fl O Ar ctl_cmd
Control an active connection multiplexing master process.
@@ -485,7 +500,6 @@ For full details of the options listed below, and their possible values, see
.It CanonicalizePermittedCNAMEs
.It CASignatureAlgorithms
.It CertificateFile
-.It ChallengeResponseAuthentication
.It CheckHostIP
.It Ciphers
.It ClearAllForwardings
@@ -499,6 +513,7 @@ For full details of the options listed below, and their possible values, see
.It EscapeChar
.It ExitOnForwardFailure
.It FingerprintHash
+.It ForkAfterAuthentication
.It ForwardAgent
.It ForwardX11
.It ForwardX11Timeout
@@ -547,7 +562,9 @@ For full details of the options listed below, and their possible values, see
.It SendEnv
.It ServerAliveInterval
.It ServerAliveCountMax
+.It SessionType
.It SetEnv
+.It StdinNull
.It StreamLocalBindMask
.It StreamLocalBindUnlink
.It StrictHostKeyChecking
@@ -568,10 +585,7 @@ This can be specified on a
per-host basis in the configuration file.
.Pp
.It Fl Q Ar query_option
-Queries
-.Nm
-for the algorithms supported for the specified version 2.
-The available features are:
+Queries for the algorithms supported by one of the following features:
.Ar cipher
(supported symmetric ciphers),
.Ar cipher-auth
@@ -704,6 +718,11 @@ Subsystems facilitate the use of SSH
as a secure transport for other applications (e.g.\&
.Xr sftp 1 ) .
The subsystem is specified as the remote command.
+Refer to the description of
+.Cm SessionType
+in
+.Xr ssh_config 5
+for details.
.Pp
.It Fl T
Disable pseudo-terminal allocation.
@@ -833,7 +852,7 @@ The methods available for authentication are:
GSSAPI-based authentication,
host-based authentication,
public key authentication,
-challenge-response authentication,
+keyboard-interactive authentication,
and password authentication.
Authentication methods are tried in the order specified above,
though
@@ -908,7 +927,7 @@ or higher (e.g. by using the
.Fl v
flag).
.Pp
-The user creates his/her key pair by running
+The user creates their key pair by running
.Xr ssh-keygen 1 .
This stores the private key in
.Pa ~/.ssh/id_dsa
@@ -942,7 +961,7 @@ in the user's home directory.
The user should then copy the public key
to
.Pa ~/.ssh/authorized_keys
-in his/her home directory on the remote machine.
+in their home directory on the remote machine.
The
.Pa authorized_keys
file corresponds to the conventional
@@ -971,11 +990,11 @@ directive in
.Xr ssh_config 5
for more information.
.Pp
-Challenge-response authentication works as follows:
+Keyboard-interactive authentication works as follows:
The server sends an arbitrary
.Qq challenge
-text, and prompts for a response.
-Examples of challenge-response authentication include
+text and prompts for a response, possibly multiple times.
+Examples of keyboard-interactive authentication include
.Bx
Authentication (see
.Xr login.conf 5 )
diff --git a/ssh.c b/ssh.c
index 35b6b517616e..533a6aa991c6 100644
--- a/ssh.c
+++ b/ssh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh.c,v 1.553 2021/04/03 05:40:39 djm Exp $ */
+/* $OpenBSD: ssh.c,v 1.566 2021/08/08 08:49:09 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -126,15 +126,6 @@ int debug_flag = 0;
/* Flag indicating whether a tty should be requested */
int tty_flag = 0;
-/* don't exec a shell */
-int no_shell_flag = 0;
-
-/*
- * Flag indicating that nothing should be read from stdin. This can be set
- * on the command line.
- */
-int stdin_null_flag = 0;
-
/*
* Flag indicating that the current process should be backgrounded and
* a new mux-client launched in the foreground for ControlPersist.
@@ -142,14 +133,7 @@ int stdin_null_flag = 0;
int need_controlpersist_detach = 0;
/* Copies of flags for ControlPersist foreground mux-client */
-int ostdin_null_flag, ono_shell_flag, otty_flag, orequest_tty;
-
-/*
- * Flag indicating that ssh should fork after authentication. This is useful
- * so that the passphrase can be entered manually, and then ssh goes to the
- * background.
- */
-int fork_after_authentication_flag = 0;
+int ostdin_null_flag, osession_type, otty_flag, orequest_tty;
/*
* General data structure for command line options and options configurable
@@ -182,9 +166,6 @@ Sensitive sensitive_data;
/* command to be executed */
struct sshbuf *command;
-/* Should we execute a command or invoke a subsystem? */
-int subsystem_flag = 0;
-
/* # of replies received for global requests */
static int forward_confirms_pending = -1;
@@ -504,6 +485,8 @@ resolve_canonicalize(char **hostp, int port)
}
/* Attempt each supplied suffix */
for (i = 0; i < options.num_canonical_domains; i++) {
+ if (strcasecmp(options.canonical_domains[i], "none") == 0)
+ break;
xasprintf(&fullhost, "%s.%s.", *hostp,
options.canonical_domains[i]);
debug3_f("attempting \"%s\" => \"%s\"", *hostp, fullhost);
@@ -651,6 +634,12 @@ main(int ac, char **av)
/* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */
sanitise_stdfd();
+ /*
+ * Discard other fds that are hanging around. These can cause problem
+ * with backgrounded ssh processes started by ControlPersist.
+ */
+ closefrom(STDERR_FILENO + 1);
+
__progname = ssh_get_progname(av[0]);
#ifndef HAVE_SETPROCTITLE
@@ -666,12 +655,6 @@ main(int ac, char **av)
seed_rng();
- /*
- * Discard other fds that are hanging around. These can cause problem
- * with backgrounded ssh processes started by ControlPersist.
- */
- closefrom(STDERR_FILENO + 1);
-
/* Get user data. */
pw = getpwuid(getuid());
if (!pw) {
@@ -727,11 +710,11 @@ main(int ac, char **av)
options.address_family = AF_INET6;
break;
case 'n':
- stdin_null_flag = 1;
+ options.stdin_null = 1;
break;
case 'f':
- fork_after_authentication_flag = 1;
- stdin_null_flag = 1;
+ options.fork_after_authentication = 1;
+ options.stdin_null = 1;
break;
case 'x':
options.forward_x11 = 0;
@@ -919,7 +902,7 @@ main(int ac, char **av)
exit(255);
}
options.request_tty = REQUEST_TTY_NO;
- no_shell_flag = 1;
+ options.session_type = SESSION_TYPE_NONE;
break;
case 'q':
options.log_level = SYSLOG_LEVEL_QUIET;
@@ -1022,7 +1005,10 @@ main(int ac, char **av)
#endif
break;
case 'N':
- no_shell_flag = 1;
+ if (options.session_type != -1 &&
+ options.session_type != SESSION_TYPE_NONE)
+ fatal("Cannot specify -N with -s/SessionType");
+ options.session_type = SESSION_TYPE_NONE;
options.request_tty = REQUEST_TTY_NO;
break;
case 'T':
@@ -1037,7 +1023,10 @@ main(int ac, char **av)
free(line);
break;
case 's':
- subsystem_flag = 1;
+ if (options.session_type != -1 &&
+ options.session_type != SESSION_TYPE_SUBSYSTEM)
+ fatal("Cannot specify -s with -N/SessionType");
+ options.session_type = SESSION_TYPE_SUBSYSTEM;
break;
case 'S':
free(options.control_path);
@@ -1120,7 +1109,7 @@ main(int ac, char **av)
*/
if (!ac) {
/* No command specified - execute shell on a tty. */
- if (subsystem_flag) {
+ if (options.session_type == SESSION_TYPE_SUBSYSTEM) {
fprintf(stderr,
"You must specify a subsystem to invoke.\n");
usage();
@@ -1328,15 +1317,19 @@ main(int ac, char **av)
fatal("Cannot execute command-line and remote command.");
/* Cannot fork to background if no command. */
- if (fork_after_authentication_flag && sshbuf_len(command) == 0 &&
- options.remote_command == NULL && !no_shell_flag)
+ if (options.fork_after_authentication && sshbuf_len(command) == 0 &&
+ options.remote_command == NULL &&
+ options.session_type != SESSION_TYPE_NONE)
fatal("Cannot fork into background without a command "
"to execute.");
/* reinit */
log_init(argv0, options.log_level, options.log_facility, !use_syslog);
- for (j = 0; j < options.num_log_verbose; j++)
+ for (j = 0; j < options.num_log_verbose; j++) {
+ if (strcasecmp(options.log_verbose[j], "none") == 0)
+ break;
log_verbose_add(options.log_verbose[j]);
+ }
if (options.request_tty == REQUEST_TTY_YES ||
options.request_tty == REQUEST_TTY_FORCE)
@@ -1351,7 +1344,7 @@ main(int ac, char **av)
(muxclient_command && muxclient_command != SSHMUX_COMMAND_PROXY))
tty_flag = 0;
/* Do not allocate a tty if stdin is not a tty. */
- if ((!isatty(fileno(stdin)) || stdin_null_flag) &&
+ if ((!isatty(fileno(stdin)) || options.stdin_null) &&
options.request_tty != REQUEST_TTY_FORCE) {
if (tty_flag)
logit("Pseudo-terminal will not be allocated because "
@@ -1637,7 +1630,7 @@ main(int ac, char **av)
fatal("Invalid ForwardAgent environment variable name %s", cp);
}
if ((p = getenv(cp + 1)) != NULL)
- forward_agent_sock_path = p;
+ forward_agent_sock_path = xstrdup(p);
else
options.forward_agent = 0;
free(cp);
@@ -1658,13 +1651,6 @@ main(int ac, char **av)
ssh_login(ssh, &sensitive_data, host, (struct sockaddr *)&hostaddr,
options.port, pw, timeout_ms, cinfo);
- if (ssh_packet_connection_is_on_socket(ssh)) {
- verbose("Authenticated to %s ([%s]:%d).", host,
- ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
- } else {
- verbose("Authenticated to %s (via proxy).", host);
- }
-
/* We no longer need the private host keys. Clear them now. */
if (sensitive_data.nkeys != 0) {
for (i = 0; i < sensitive_data.nkeys; i++) {
@@ -1728,9 +1714,10 @@ control_persist_detach(void)
default:
/* Parent: set up mux client to connect to backgrounded master */
debug2_f("background process is %ld", (long)pid);
- stdin_null_flag = ostdin_null_flag;
+ options.stdin_null = ostdin_null_flag;
options.request_tty = orequest_tty;
tty_flag = otty_flag;
+ options.session_type = osession_type;
close(muxserver_sock);
muxserver_sock = -1;
options.control_master = SSHCTL_MASTER_NO;
@@ -1751,7 +1738,7 @@ fork_postauth(void)
if (need_controlpersist_detach)
control_persist_detach();
debug("forking to background");
- fork_after_authentication_flag = 0;
+ options.fork_after_authentication = 0;
if (daemon(1, 1) == -1)
fatal("daemon() failed: %.200s", strerror(errno));
if (stdfd_devnull(1, 1, !(log_is_on_stderr() && debug_flag)) == -1)
@@ -1765,7 +1752,7 @@ forwarding_success(void)
return;
if (--forward_confirms_pending == 0) {
debug_f("all expected forwarding replies received");
- if (fork_after_authentication_flag)
+ if (options.fork_after_authentication)
fork_postauth();
} else {
debug2_f("%d expected forwarding replies remaining",
@@ -1876,9 +1863,10 @@ ssh_init_stdio_forwarding(struct ssh *ssh)
if ((in = dup(STDIN_FILENO)) == -1 ||
(out = dup(STDOUT_FILENO)) == -1)
- fatal("channel_connect_stdio_fwd: dup() in/out failed");
+ fatal_f("dup() in/out failed");
if ((c = channel_connect_stdio_fwd(ssh, options.stdio_forward_host,
- options.stdio_forward_port, in, out)) == NULL)
+ options.stdio_forward_port, in, out,
+ CHANNEL_NONBLOCK_STDIO)) == NULL)
fatal_f("channel_connect_stdio_fwd failed");
channel_register_cleanup(ssh, c->self, client_cleanup_stdio_fwd, 0);
channel_register_open_confirm(ssh, c->self, ssh_stdio_confirm, NULL);
@@ -2017,7 +2005,7 @@ static void
ssh_session2_setup(struct ssh *ssh, int id, int success, void *arg)
{
extern char **environ;
- const char *display;
+ const char *display, *term;
int r, interactive = tty_flag;
char *proto = NULL, *data = NULL;
@@ -2052,7 +2040,11 @@ ssh_session2_setup(struct ssh *ssh, int id, int success, void *arg)
ssh_packet_set_interactive(ssh, interactive,
options.ip_qos_interactive, options.ip_qos_bulk);
- client_session2_setup(ssh, id, tty_flag, subsystem_flag, getenv("TERM"),
+ if ((term = lookup_env_in_list("TERM", options.setenv,
+ options.num_setenv)) == NULL || *term == '\0')
+ term = getenv("TERM");
+ client_session2_setup(ssh, id, tty_flag,
+ options.session_type == SESSION_TYPE_SUBSYSTEM, term,
NULL, fileno(stdin), command, environ);
}
@@ -2063,7 +2055,7 @@ ssh_session2_open(struct ssh *ssh)
Channel *c;
int window, packetmax, in, out, err;
- if (stdin_null_flag) {
+ if (options.stdin_null) {
in = open(_PATH_DEVNULL, O_RDONLY);
} else {
in = dup(STDIN_FILENO);
@@ -2074,14 +2066,6 @@ ssh_session2_open(struct ssh *ssh)
if (in == -1 || out == -1 || err == -1)
fatal("dup() in/out/err failed");
- /* enable nonblocking unless tty */
- if (!isatty(in))
- set_nonblock(in);
- if (!isatty(out))
- set_nonblock(out);
- if (!isatty(err))
- set_nonblock(err);
-
window = CHAN_SES_WINDOW_DEFAULT;
packetmax = CHAN_SES_PACKET_DEFAULT;
if (tty_flag) {
@@ -2091,12 +2075,12 @@ ssh_session2_open(struct ssh *ssh)
c = channel_new(ssh,
"session", SSH_CHANNEL_OPENING, in, out, err,
window, packetmax, CHAN_EXTENDED_WRITE,
- "client-session", /*nonblock*/0);
+ "client-session", CHANNEL_NONBLOCK_STDIO);
debug3_f("channel_new: %d", c->self);
channel_send_open(ssh, c->self);
- if (!no_shell_flag)
+ if (options.session_type != SESSION_TYPE_NONE)
channel_register_open_confirm(ssh, c->self,
ssh_session2_setup, NULL);
@@ -2140,16 +2124,18 @@ ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo)
* async rfwd replies have been received for ExitOnForwardFailure).
*/
if (options.control_persist && muxserver_sock != -1) {
- ostdin_null_flag = stdin_null_flag;
- ono_shell_flag = no_shell_flag;
+ ostdin_null_flag = options.stdin_null;
+ osession_type = options.session_type;
orequest_tty = options.request_tty;
otty_flag = tty_flag;
- stdin_null_flag = 1;
- no_shell_flag = 1;
+ options.stdin_null = 1;
+ options.session_type = SESSION_TYPE_NONE;
tty_flag = 0;
- if (!fork_after_authentication_flag)
+ if (!options.fork_after_authentication &&
+ (osession_type != SESSION_TYPE_NONE ||
+ options.stdio_forward_host != NULL))
need_controlpersist_detach = 1;
- fork_after_authentication_flag = 1;
+ options.fork_after_authentication = 1;
}
/*
* ControlPersist mux listen socket setup failed, attempt the
@@ -2158,7 +2144,7 @@ ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo)
if (options.control_persist && muxserver_sock == -1)
ssh_init_stdio_forwarding(ssh);
- if (!no_shell_flag)
+ if (options.session_type != SESSION_TYPE_NONE)
id = ssh_session2_open(ssh);
else {
ssh_packet_set_interactive(ssh,
@@ -2196,7 +2182,7 @@ ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo)
* If requested and we are not interested in replies to remote
* forwarding requests, then let ssh continue in the background.
*/
- if (fork_after_authentication_flag) {
+ if (options.fork_after_authentication) {
if (options.exit_on_forward_failure &&
options.num_remote_forwards > 0) {
debug("deferring postauth fork until remote forward "
diff --git a/ssh_config.0 b/ssh_config.0
index 837ac74e36b1..b13a74e7d8e4 100644
--- a/ssh_config.0
+++ b/ssh_config.0
@@ -152,7 +152,8 @@ DESCRIPTION
If this option is enabled, then the configuration files are
processed again using the new target name to pick up any new
- configuration in matching Host and Match stanzas.
+ configuration in matching Host and Match stanzas. A value of
+ none disables the use of a ProxyJump host.
CanonicalizeMaxDots
Specifies the maximum number of dot characters in a hostname
@@ -176,10 +177,18 @@ DESCRIPTION
Specifies which algorithms are allowed for signing of
certificates by certificate authorities (CAs). The default is:
- ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
- sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,
+ ssh-ed25519,ecdsa-sha2-nistp256,
+ ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ sk-ssh-ed25519@openssh.com,
+ sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256
+ If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the
+ specified algorithms will be appended to the default set instead
+ of replacing them. If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y
+ character, then the specified algorithms (including wildcards)
+ will be removed from the default set instead of replacing them.
+
ssh(1) will not accept host certificates signed using algorithms
other than those specified.
@@ -200,10 +209,6 @@ DESCRIPTION
sequence. Multiple CertificateFile directives will add to the
list of certificates used for authentication.
- ChallengeResponseAuthentication
- Specifies whether to use challenge-response authentication. The
- argument to this keyword must be yes (the default) or no.
-
CheckHostIP
If set to yes ssh(1) will additionally check the host IP address
in the known_hosts file. This allows it to detect if a host key
@@ -371,6 +376,23 @@ DESCRIPTION
Specifies the hash algorithm used when displaying key
fingerprints. Valid options are: md5 and sha256 (the default).
+ ForkAfterAuthentication
+ Requests ssh to go to background just before command execution.
+ This is useful if ssh is going to ask for passwords or
+ passphrases, but the user wants it in the background. This
+ implies the StdinNull configuration option being set to M-bM-^@M-^\yesM-bM-^@M-^].
+ The recommended way to start X11 programs at a remote site is
+ with something like ssh -f host xterm, which is the same as ssh
+ host xterm if the ForkAfterAuthentication configuration option is
+ set to M-bM-^@M-^\yesM-bM-^@M-^].
+
+ If the ExitOnForwardFailure configuration option is set to M-bM-^@M-^\yesM-bM-^@M-^],
+ then a client started with the ForkAfterAuthentication
+ configuration option being set to M-bM-^@M-^\yesM-bM-^@M-^] will wait for all remote
+ port forwards to be successfully established before placing
+ itself in the background. The argument to this keyword must be
+ yes (same as the -f option) or no (the default).
+
ForwardAgent
Specifies whether the connection to the authentication agent (if
any) will be forwarded to the remote machine. The argument may
@@ -627,6 +649,7 @@ DESCRIPTION
KbdInteractiveAuthentication
Specifies whether to use keyboard-interactive authentication.
The argument to this keyword must be yes (the default) or no.
+ ChallengeResponseAuthentication is a deprecated alias for this.
KbdInteractiveDevices
Specifies the list of methods to use in keyboard-interactive
@@ -1008,9 +1031,24 @@ DESCRIPTION
default is 0, indicating that these messages will not be sent to
the server.
+ SessionType
+ May be used to either request invocation of a subsystem on the
+ remote system, or to prevent the execution of a remote command at
+ all. The latter is useful for just forwarding ports. The
+ argument to this keyword must be none (same as the -N option),
+ subsystem (same as the -s option) or default (shell or command
+ execution).
+
SetEnv Directly specify one or more environment variables and their
- contents to be sent to the server. Similarly to SendEnv, the
- server must be prepared to accept the environment variable.
+ contents to be sent to the server. Similarly to SendEnv, with
+ the exception of the TERM variable, the server must be prepared
+ to accept the environment variable.
+
+ StdinNull
+ Redirects stdin from /dev/null (actually, prevents reading from
+ stdin). Either this or the equivalent -n option must be used
+ when ssh is run in the background. The argument to this keyword
+ must be yes (same as the -n option) or no (the default).
StreamLocalBindMask
Sets the octal file creation mode mask (umask) used when creating
@@ -1043,7 +1081,7 @@ DESCRIPTION
This option forces the user to manually add all new hosts.
If this flag is set to M-bM-^@M-^\accept-newM-bM-^@M-^] then ssh will automatically
- add new host keys to the user known hosts files, but will not
+ add new host keys to the user's known_hosts file, but will not
permit connections to hosts with changed host keys. If this flag
is set to M-bM-^@M-^\noM-bM-^@M-^] or M-bM-^@M-^\offM-bM-^@M-^], ssh will automatically add new host keys
to the user known hosts files and allow connections to hosts with
@@ -1214,7 +1252,7 @@ TOKENS
%r The remote username.
%T The local tun(4) or tap(4) network interface assigned if
tunnel forwarding was requested, or "NONE" otherwise.
- %t The type of the server host key, e.g. ssh-ed25519
+ %t The type of the server host key, e.g. ssh-ed25519.
%u The local username.
CertificateFile, ControlPath, IdentityAgent, IdentityFile,
@@ -1265,4 +1303,4 @@ AUTHORS
created OpenSSH. Markus Friedl contributed the support for SSH protocol
versions 1.5 and 2.0.
-OpenBSD 6.9 April 4, 2021 OpenBSD 6.9
+OpenBSD 6.9 August 12, 2021 OpenBSD 6.9
diff --git a/ssh_config.5 b/ssh_config.5
index 37a55e234b27..cd0eea867049 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.353 2021/04/04 11:36:56 jmc Exp $
-.Dd $Mdocdate: April 4 2021 $
+.\" $OpenBSD: ssh_config.5,v 1.362 2021/08/12 23:59:25 djm Exp $
+.Dd $Mdocdate: August 12 2021 $
.Dt SSH_CONFIG 5
.Os
.Sh NAME
@@ -341,6 +341,11 @@ again using the new target name to pick up any new configuration in matching
and
.Cm Match
stanzas.
+A value of
+.Cm none
+disables the use of a
+.Cm ProxyJump
+host.
.It Cm CanonicalizeMaxDots
Specifies the maximum number of dot characters in a hostname before
canonicalization is disabled.
@@ -372,11 +377,22 @@ Specifies which algorithms are allowed for signing of certificates
by certificate authorities (CAs).
The default is:
.Bd -literal -offset indent
-ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
-sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,
+ssh-ed25519,ecdsa-sha2-nistp256,
+ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+sk-ssh-ed25519@openssh.com,
+sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256
.Ed
.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.
+If the specified list begins with a
+.Sq -
+character, then the specified algorithms (including wildcards) will be removed
+from the default set instead of replacing them.
+.Pp
.Xr ssh 1
will not accept host certificates signed using algorithms other than those
specified.
@@ -412,13 +428,6 @@ Multiple
.Cm CertificateFile
directives will add to the list of certificates used for
authentication.
-.It Cm ChallengeResponseAuthentication
-Specifies whether to use challenge-response authentication.
-The argument to this keyword must be
-.Cm yes
-(the default)
-or
-.Cm no .
.It Cm CheckHostIP
If set to
.Cm yes
@@ -683,6 +692,45 @@ Valid options are:
and
.Cm sha256
(the default).
+.It Cm ForkAfterAuthentication
+Requests
+.Nm ssh
+to go to background just before command execution.
+This is useful if
+.Nm ssh
+is going to ask for passwords or passphrases, but the user
+wants it in the background.
+This implies the
+.Cm StdinNull
+configuration option being set to
+.Dq yes .
+The recommended way to start X11 programs at a remote site is with
+something like
+.Ic ssh -f host xterm ,
+which is the same as
+.Ic ssh host xterm
+if the
+.Cm ForkAfterAuthentication
+configuration option is set to
+.Dq yes .
+.Pp
+If the
+.Cm ExitOnForwardFailure
+configuration option is set to
+.Dq yes ,
+then a client started with the
+.Cm ForkAfterAuthentication
+configuration option being set to
+.Dq yes
+will wait for all remote port forwards to be successfully established
+before placing itself in the background.
+The argument to this keyword must be
+.Cm yes
+(same as the
+.Fl f
+option) or
+.Cm no
+(the default).
.It Cm ForwardAgent
Specifies whether the connection to the authentication agent (if any)
will be forwarded to the remote machine.
@@ -1085,6 +1133,8 @@ The argument to this keyword must be
(the default)
or
.Cm no .
+.Cm ChallengeResponseAuthentication
+is a deprecated alias for this.
.It Cm KbdInteractiveDevices
Specifies the list of methods to use in keyboard-interactive authentication.
Multiple method names must be comma-separated.
@@ -1657,12 +1707,45 @@ will send a message through the encrypted
channel to request a response from the server.
The default
is 0, indicating that these messages will not be sent to the server.
+.It Cm SessionType
+May be used to either request invocation of a subsystem on the remote system,
+or to prevent the execution of a remote command at all.
+The latter is useful for just forwarding ports.
+The argument to this keyword must be
+.Cm none
+(same as the
+.Fl N
+option),
+.Cm subsystem
+(same as the
+.Fl s
+option) or
+.Cm default
+(shell or command execution).
.It Cm SetEnv
Directly specify one or more environment variables and their contents to
be sent to the server.
Similarly to
.Cm SendEnv ,
-the server must be prepared to accept the environment variable.
+with the exception of the
+.Ev TERM
+variable, the server must be prepared to accept the environment variable.
+.It Cm StdinNull
+Redirects stdin from
+.Pa /dev/null
+(actually, prevents reading from stdin).
+Either this or the equivalent
+.Fl n
+option must be used when
+.Nm ssh
+is run in the background.
+The argument to this keyword must be
+.Cm yes
+(same as the
+.Fl n
+option) or
+.Cm no
+(the default).
.It Cm StreamLocalBindMask
Sets the octal file creation mode mask
.Pq umask
@@ -1706,8 +1789,9 @@ add all new hosts.
.Pp
If this flag is set to
.Dq accept-new
-then ssh will automatically add new host keys to the user
-known hosts files, but will not permit connections to hosts with
+then ssh will automatically add new host keys to the user's
+.Pa known_hosts
+file, but will not permit connections to hosts with
changed host keys.
If this flag is set to
.Dq no
@@ -2001,7 +2085,7 @@ tunnel forwarding was requested, or
otherwise.
.It %t
The type of the server host key, e.g.
-.Cm ssh-ed25519
+.Cm ssh-ed25519 .
.It %u
The local username.
.El
diff --git a/sshbuf-misc.c b/sshbuf-misc.c
index afaab8d61c8b..80714d1f3839 100644
--- a/sshbuf-misc.c
+++ b/sshbuf-misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshbuf-misc.c,v 1.16 2020/06/22 05:54:10 djm Exp $ */
+/* $OpenBSD: sshbuf-misc.c,v 1.17 2021/08/11 05:21:32 djm Exp $ */
/*
* Copyright (c) 2011 Damien Miller
*
@@ -65,7 +65,7 @@ sshbuf_dump_data(const void *s, size_t len, FILE *f)
void
sshbuf_dump(const struct sshbuf *buf, FILE *f)
{
- fprintf(f, "buffer %p len = %zu\n", buf, sshbuf_len(buf));
+ fprintf(f, "buffer len = %zu\n", sshbuf_len(buf));
sshbuf_dump_data(sshbuf_ptr(buf), sshbuf_len(buf), f);
}
diff --git a/sshconnect.c b/sshconnect.c
index 47f0b1c93abf..fcf87bb76f64 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect.c,v 1.352 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: sshconnect.c,v 1.355 2021/07/02 05:11:21 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -865,7 +865,7 @@ load_hostkeys_command(struct hostkeys *hostkeys, const char *command_template,
osigchld = ssh_signal(SIGCHLD, SIG_DFL);
/* Turn the command into an argument vector */
- if (argv_split(command_template, &ac, &av) != 0) {
+ if (argv_split(command_template, &ac, &av, 0) != 0) {
error("%s \"%s\" contains invalid quotes", tag,
command_template);
goto out;
@@ -1298,13 +1298,6 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo,
error("Keyboard-interactive authentication is disabled"
" to avoid man-in-the-middle attacks.");
options.kbd_interactive_authentication = 0;
- options.challenge_response_authentication = 0;
- cancelled_forwarding = 1;
- }
- if (options.challenge_response_authentication) {
- error("Challenge/response authentication is disabled"
- " to avoid man-in-the-middle attacks.");
- options.challenge_response_authentication = 0;
cancelled_forwarding = 1;
}
if (options.forward_agent) {
@@ -1346,7 +1339,7 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo,
* XXX Should permit the user to change to use the new id.
* This could be done by converting the host key to an
* identifying sentence, tell that the host identifies itself
- * by that sentence, and ask the user if he/she wishes to
+ * by that sentence, and ask the user if they wish to
* accept the authentication.
*/
break;
diff --git a/sshconnect2.c b/sshconnect2.c
index a53ab95dbb2f..fea50fab61d3 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.347 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.351 2021/07/23 05:24:02 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2008 Damien Miller. All rights reserved.
@@ -442,8 +442,6 @@ ssh_userauth2(struct ssh *ssh, const char *local_user,
Authctxt authctxt;
int r;
- if (options.challenge_response_authentication)
- options.kbd_interactive_authentication = 1;
if (options.preferred_authentications == NULL)
options.preferred_authentications = authmethods_get();
@@ -489,7 +487,14 @@ ssh_userauth2(struct ssh *ssh, const char *local_user,
if (!authctxt.success)
fatal("Authentication failed.");
- debug("Authentication succeeded (%s).", authctxt.method->name);
+ if (ssh_packet_connection_is_on_socket(ssh)) {
+ verbose("Authenticated to %s ([%s]:%d) using \"%s\".", host,
+ ssh_remote_ipaddr(ssh), ssh_remote_port(ssh),
+ authctxt.method->name);
+ } else {
+ verbose("Authenticated to %s (via proxy) using \"%s\".", host,
+ authctxt.method->name);
+ }
}
/* ARGSUSED */
@@ -647,7 +652,8 @@ input_userauth_failure(int type, u_int32_t seq, struct ssh *ssh)
goto out;
if (partial != 0) {
- verbose("Authenticated with partial success.");
+ verbose("Authenticated using \"%s\" with partial success.",
+ authctxt->method->name);
/* reset state */
pubkey_reset(authctxt);
}
@@ -1175,6 +1181,7 @@ static char *
key_sig_algorithm(struct ssh *ssh, const struct sshkey *key)
{
char *allowed, *oallowed, *cp, *tmp, *alg = NULL;
+ const char *server_sig_algs;
/*
* The signature algorithm will only differ from the key algorithm
@@ -1190,6 +1197,14 @@ key_sig_algorithm(struct ssh *ssh, const struct sshkey *key)
}
/*
+ * Workaround OpenSSH 7.4 bug: this version supports RSA/SHA-2 but
+ * fails to advertise it via SSH2_MSG_EXT_INFO.
+ */
+ server_sig_algs = ssh->kex->server_sig_algs;
+ if (key->type == KEY_RSA && (ssh->compat & SSH_BUG_SIGTYPE74))
+ server_sig_algs = "rsa-sha2-256,rsa-sha2-512";
+
+ /*
* For RSA keys/certs, since these might have a different sig type:
* find the first entry in PubkeyAcceptedAlgorithms of the right type
* that also appears in the supported signature algorithms list from
@@ -1200,7 +1215,7 @@ key_sig_algorithm(struct ssh *ssh, const struct sshkey *key)
if (sshkey_type_from_name(cp) != key->type)
continue;
tmp = match_list(sshkey_sigalg_by_name(cp),
- ssh->kex->server_sig_algs, NULL);
+ server_sig_algs, NULL);
if (tmp != NULL)
alg = xstrdup(cp);
free(tmp);
@@ -1373,8 +1388,8 @@ sign_and_send_pubkey(struct ssh *ssh, Identity *id)
}
if (sign_id != NULL) {
debug2_f("using private key \"%s\"%s for "
- "certificate", id->filename,
- id->agent_fd != -1 ? " from agent" : "");
+ "certificate", sign_id->filename,
+ sign_id->agent_fd != -1 ? " from agent" : "");
} else {
debug_f("no separate private key for certificate "
"\"%s\"", id->filename);
diff --git a/sshd.0 b/sshd.0
index d9e77a37b61c..625ded897a3f 100644
--- a/sshd.0
+++ b/sshd.0
@@ -9,9 +9,9 @@ SYNOPSIS
[-h host_key_file] [-o option] [-p port] [-u len]
DESCRIPTION
- sshd (OpenSSH Daemon) is the daemon program for ssh(1). Together these
- programs replace rlogin and rsh, and provide secure encrypted
- communications between two untrusted hosts over an insecure network.
+ sshd (OpenSSH Daemon) is the daemon program for ssh(1). It provides
+ secure encrypted communications between two untrusted hosts over an
+ insecure network.
sshd listens for connections from clients. It is normally started at
boot from /etc/rc. It forks a new daemon for each incoming connection.
@@ -37,7 +37,7 @@ DESCRIPTION
written to standard output. The connection parameters are
supplied as keyword=value pairs and may be supplied in any order,
either with multiple -C options or as a comma-separated list.
- The keywords are M-bM-^@M-^\addr,M-bM-^@M-^] M-bM-^@M-^\userM-bM-^@M-^], M-bM-^@M-^\hostM-bM-^@M-^], M-bM-^@M-^\laddrM-bM-^@M-^], M-bM-^@M-^\lportM-bM-^@M-^], and
+ The keywords are M-bM-^@M-^\addrM-bM-^@M-^], M-bM-^@M-^\userM-bM-^@M-^], M-bM-^@M-^\hostM-bM-^@M-^], M-bM-^@M-^\laddrM-bM-^@M-^], M-bM-^@M-^\lportM-bM-^@M-^], and
M-bM-^@M-^\rdomainM-bM-^@M-^] and correspond to source address, user, resolved source
host name, local address, local port number and routing domain
respectively.
@@ -53,7 +53,7 @@ DESCRIPTION
-d Debug mode. The server sends verbose debug output to standard
error, and does not put itself in the background. The server
- also will not fork and will only process one connection. This
+ also will not fork(2) and will only process one connection. This
option is only intended for debugging for the server. Multiple
-d options increase the debugging level. Maximum is 3.
@@ -190,7 +190,7 @@ LOGIN PROCESS
8. If ~/.ssh/rc exists and the sshd_config(5) PermitUserRC option
is set, runs it; else if /etc/ssh/sshrc exists, runs it;
- otherwise runs xauth. The M-bM-^@M-^\rcM-bM-^@M-^] files are given the X11
+ otherwise runs xauth(1). The M-bM-^@M-^\rcM-bM-^@M-^] files are given the X11
authentication protocol and cookie in standard input. See
SSHRC, below.
@@ -417,24 +417,25 @@ AUTHORIZED_KEYS FILE FORMAT
An example authorized_keys file:
- # Comments allowed at start of line
- ssh-rsa AAAAB3Nza...LiPk== user@example.net
- from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
- AAAAB2...19Q== john@example.net
- command="dump /home",no-pty,no-port-forwarding ssh-rsa
- AAAAC3...51R== example.net
- permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa
- AAAAB5...21S==
- permitlisten="localhost:8080",permitopen="localhost:22000" ssh-rsa
- AAAAB5...21S==
- tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
- jane@example.net
- restrict,command="uptime" ssh-rsa AAAA1C8...32Tv==
- user@example.net
- restrict,pty,command="nethack" ssh-rsa AAAA1f8...IrrC5==
- user@example.net
- no-touch-required sk-ecdsa-sha2-nistp256@openssh.com AAAAInN...Ko==
- user@example.net
+ # Comments are allowed at start of line. Blank lines are allowed.
+ # Plain key, no restrictions
+ ssh-rsa ...
+ # Forced command, disable PTY and all forwarding
+ restrict,command="dump /home" ssh-rsa ...
+ # Restriction of ssh -L forwarding destinations
+ permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa ...
+ # Restriction of ssh -R forwarding listeners
+ permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa ...
+ # Configuration for tunnel forwarding
+ tunnel="0",command="sh /etc/netstart tun0" ssh-rsa ...
+ # Override of restriction to allow PTY allocation
+ restrict,pty,command="nethack" ssh-rsa ...
+ # Allow FIDO key without requiring touch
+ no-touch-required sk-ecdsa-sha2-nistp256@openssh.com ...
+ # Require user-verification (e.g. PIN or biometric) for FIDO key
+ verify-required sk-ecdsa-sha2-nistp256@openssh.com ...
+ # Trust CA key, allow touch-less FIDO if requested in certificate
+ cert-authority,no-touch-required,principals="user_a" ssh-rsa ...
SSH_KNOWN_HOSTS FILE FORMAT
The /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts files contain host
@@ -669,4 +670,4 @@ AUTHORS
versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
for privilege separation.
-OpenBSD 6.9 April 3, 2021 OpenBSD 6.9
+OpenBSD 6.9 July 30, 2021 OpenBSD 6.9
diff --git a/sshd.8 b/sshd.8
index 1aa56ba7ee0e..53296ddb771f 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.314 2021/04/03 05:46:41 djm Exp $
-.Dd $Mdocdate: April 3 2021 $
+.\" $OpenBSD: sshd.8,v 1.316 2021/07/30 14:28:13 jmc Exp $
+.Dd $Mdocdate: July 30 2021 $
.Dt SSHD 8
.Os
.Sh NAME
@@ -58,8 +58,7 @@
.Nm
(OpenSSH Daemon) is the daemon program for
.Xr ssh 1 .
-Together these programs replace rlogin and rsh,
-and provide secure encrypted communications between two untrusted hosts
+It provides secure encrypted communications between two untrusted hosts
over an insecure network.
.Pp
.Nm
@@ -107,7 +106,7 @@ supplied in any order, either with multiple
.Fl C
options or as a comma-separated list.
The keywords are
-.Dq addr,
+.Dq addr ,
.Dq user ,
.Dq host ,
.Dq laddr ,
@@ -135,7 +134,9 @@ This allows easy monitoring of
Debug mode.
The server sends verbose debug output to standard error,
and does not put itself in the background.
-The server also will not fork and will only process one connection.
+The server also will not
+.Xr fork 2
+and will only process one connection.
This option is only intended for debugging for the server.
Multiple
.Fl d
@@ -355,7 +356,8 @@ exists and the
option is set, runs it; else if
.Pa /etc/ssh/sshrc
exists, runs
-it; otherwise runs xauth.
+it; otherwise runs
+.Xr xauth 1 .
The
.Dq rc
files are given the X11
@@ -665,24 +667,25 @@ option.
.Pp
An example authorized_keys file:
.Bd -literal -offset 3n
-# Comments allowed at start of line
-ssh-rsa AAAAB3Nza...LiPk== user@example.net
-from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
-AAAAB2...19Q== john@example.net
-command="dump /home",no-pty,no-port-forwarding ssh-rsa
-AAAAC3...51R== example.net
-permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa
-AAAAB5...21S==
-permitlisten="localhost:8080",permitopen="localhost:22000" ssh-rsa
-AAAAB5...21S==
-tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
-jane@example.net
-restrict,command="uptime" ssh-rsa AAAA1C8...32Tv==
-user@example.net
-restrict,pty,command="nethack" ssh-rsa AAAA1f8...IrrC5==
-user@example.net
-no-touch-required sk-ecdsa-sha2-nistp256@openssh.com AAAAInN...Ko==
-user@example.net
+# Comments are allowed at start of line. Blank lines are allowed.
+# Plain key, no restrictions
+ssh-rsa ...
+# Forced command, disable PTY and all forwarding
+restrict,command="dump /home" ssh-rsa ...
+# Restriction of ssh -L forwarding destinations
+permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa ...
+# Restriction of ssh -R forwarding listeners
+permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa ...
+# Configuration for tunnel forwarding
+tunnel="0",command="sh /etc/netstart tun0" ssh-rsa ...
+# Override of restriction to allow PTY allocation
+restrict,pty,command="nethack" ssh-rsa ...
+# Allow FIDO key without requiring touch
+no-touch-required sk-ecdsa-sha2-nistp256@openssh.com ...
+# Require user-verification (e.g. PIN or biometric) for FIDO key
+verify-required sk-ecdsa-sha2-nistp256@openssh.com ...
+# Trust CA key, allow touch-less FIDO if requested in certificate
+cert-authority,no-touch-required,principals="user_a" ssh-rsa ...
.Ed
.Sh SSH_KNOWN_HOSTS FILE FORMAT
The
diff --git a/sshd.c b/sshd.c
index 5aa04d0507c0..ea63d0307097 100644
--- a/sshd.c
+++ b/sshd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshd.c,v 1.572 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: sshd.c,v 1.578 2021/07/19 02:21:50 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -366,11 +366,14 @@ grace_alarm_handler(int sig)
kill(0, SIGTERM);
}
- /* XXX pre-format ipaddr/port so we don't need to access active_state */
/* Log error and exit. */
- sigdie("Timeout before authentication for %s port %d",
- ssh_remote_ipaddr(the_active_state),
- ssh_remote_port(the_active_state));
+ if (use_privsep && pmonitor != NULL && pmonitor->m_pid <= 0)
+ cleanup_exit(255); /* don't log in privsep child */
+ else {
+ 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. */
@@ -1138,6 +1141,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
socklen_t fromlen;
pid_t pid;
u_char rnd[256];
+ sigset_t nsigset, osigset;
/* setup fd set for accept */
fdset = NULL;
@@ -1152,10 +1156,31 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
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
+ * to immediately wake up the pselect if a signal is received after
+ * the flag is checked.
+ */
+ sigemptyset(&nsigset);
+ sigaddset(&nsigset, SIGHUP);
+ sigaddset(&nsigset, SIGCHLD);
+ sigaddset(&nsigset, SIGTERM);
+ sigaddset(&nsigset, SIGQUIT);
+
+ /*
* Stay listening for connections until the system crashes or
* the daemon is killed with a signal.
*/
for (;;) {
+ sigprocmask(SIG_BLOCK, &nsigset, &osigset);
+ if (received_sigterm) {
+ logit("Received signal %d; terminating.",
+ (int) received_sigterm);
+ close_listen_socks();
+ if (options.pid_file != NULL)
+ unlink(options.pid_file);
+ exit(received_sigterm == SIGTERM ? 0 : 255);
+ }
if (ostartups != startups) {
setproctitle("%s [listener] %d of %d-%d startups",
listener_proctitle, startups,
@@ -1168,8 +1193,10 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
close_listen_socks();
lameduck = 1;
}
- if (listening <= 0)
+ if (listening <= 0) {
+ sigprocmask(SIG_SETMASK, &osigset, NULL);
sighup_restart();
+ }
}
free(fdset);
fdset = xcalloc(howmany(maxfd + 1, NFDBITS),
@@ -1181,18 +1208,11 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
if (startup_pipes[i] != -1)
FD_SET(startup_pipes[i], fdset);
- /* Wait in select until there is a connection. */
- ret = select(maxfd+1, fdset, NULL, NULL, NULL);
+ /* Wait until a connection arrives or a child exits. */
+ ret = pselect(maxfd+1, fdset, NULL, NULL, NULL, &osigset);
if (ret == -1 && errno != EINTR)
- error("select: %.100s", strerror(errno));
- if (received_sigterm) {
- logit("Received signal %d; terminating.",
- (int) received_sigterm);
- close_listen_socks();
- if (options.pid_file != NULL)
- unlink(options.pid_file);
- exit(received_sigterm == SIGTERM ? 0 : 255);
- }
+ error("pselect: %.100s", strerror(errno));
+ sigprocmask(SIG_SETMASK, &osigset, NULL);
if (ret == -1)
continue;
@@ -1733,10 +1753,6 @@ main(int ac, char **av)
/* Fill in default values for those options not explicitly set. */
fill_default_server_options(&options);
- /* challenge-response is implemented via keyboard interactive */
- if (options.challenge_response_authentication)
- options.kbd_interactive_authentication = 1;
-
/* Check that options are sensible */
if (options.authorized_keys_command_user == NULL &&
(options.authorized_keys_command != NULL &&
@@ -1914,7 +1930,7 @@ main(int ac, char **av)
/* Find matching private key */
for (j = 0; j < options.num_host_key_files; j++) {
if (sshkey_equal_public(key,
- sensitive_data.host_keys[j])) {
+ sensitive_data.host_pubkeys[j])) {
sensitive_data.host_certificates[j] = key;
break;
}
diff --git a/sshd_config b/sshd_config
index 19b7c91a154b..c423eba1b2ab 100644
--- a/sshd_config
+++ b/sshd_config
@@ -1,4 +1,4 @@
-# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
@@ -58,7 +58,7 @@ AuthorizedKeysFile .ssh/authorized_keys
#PermitEmptyPasswords no
# Change to no to disable s/key passwords
-#ChallengeResponseAuthentication yes
+#KbdInteractiveAuthentication yes
# Kerberos options
#KerberosAuthentication no
@@ -72,13 +72,13 @@ AuthorizedKeysFile .ssh/authorized_keys
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
-# be allowed through the ChallengeResponseAuthentication and
+# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
-# PAM authentication via ChallengeResponseAuthentication may bypass
+# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
-# and ChallengeResponseAuthentication to 'no'.
+# and KbdInteractiveAuthentication to 'no'.
#UsePAM no
#AllowAgentForwarding yes
diff --git a/sshd_config.0 b/sshd_config.0
index b947bc9b7f3e..94f0a4d8b2b6 100644
--- a/sshd_config.0
+++ b/sshd_config.0
@@ -207,18 +207,21 @@ DESCRIPTION
Specifies which algorithms are allowed for signing of
certificates by certificate authorities (CAs). The default is:
- ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
- sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,
+ ssh-ed25519,ecdsa-sha2-nistp256,
+ ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ sk-ssh-ed25519@openssh.com,
+ sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256
+ If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the
+ specified algorithms will be appended to the default set instead
+ of replacing them. If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y
+ character, then the specified algorithms (including wildcards)
+ will be removed from the default set instead of replacing them.
+
Certificates signed using other algorithms will not be accepted
for public key or host-based authentication.
- ChallengeResponseAuthentication
- Specifies whether challenge-response authentication is allowed
- (e.g. via PAM or through authentication styles supported in
- login.conf(5)) The default is yes.
-
ChrootDirectory
Specifies the pathname of a directory to chroot(2) to after
authentication. At session startup sshd(8) checks that all
@@ -523,9 +526,9 @@ DESCRIPTION
KbdInteractiveAuthentication
Specifies whether to allow keyboard-interactive authentication.
- The argument to this keyword must be yes or no. The default is
- to use whatever value ChallengeResponseAuthentication is set to
- (by default yes).
+ All authentication styles from login.conf(5) are supported. The
+ default is yes. The argument to this keyword must be yes or no.
+ ChallengeResponseAuthentication is a deprecated alias for this.
KerberosAuthentication
Specifies whether the password provided by the user for
@@ -954,7 +957,7 @@ DESCRIPTION
RDomain
Specifies an explicit routing domain that is applied after
- authentication has completed. The user session, as well and any
+ authentication has completed. The user session, as well as any
forwarded or listening IP sockets, will be bound to this
rdomain(4). If the routing domain is set to %D, then the domain
in which the incoming connection was received will be applied.
@@ -1059,13 +1062,13 @@ DESCRIPTION
UsePAM Enables the Pluggable Authentication Module interface. If set to
yes this will enable PAM authentication using
- ChallengeResponseAuthentication and PasswordAuthentication in
+ KbdInteractiveAuthentication and PasswordAuthentication in
addition to PAM account and session module processing for all
authentication types.
- Because PAM challenge-response authentication usually serves an
+ Because PAM keyboard-interactive authentication usually serves an
equivalent role to password authentication, you should disable
- either PasswordAuthentication or ChallengeResponseAuthentication.
+ either PasswordAuthentication or KbdInteractiveAuthentication.
If UsePAM is enabled, you will not be able to run sshd(8) as a
non-root user. The default is no.
@@ -1188,4 +1191,4 @@ AUTHORS
versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
for privilege separation.
-OpenBSD 6.9 April 4, 2021 OpenBSD 6.9
+OpenBSD 6.9 August 12, 2021 OpenBSD 6.9
diff --git a/sshd_config.5 b/sshd_config.5
index 3b339aafbc14..69d55206a951 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.331 2021/04/04 11:36:56 jmc Exp $
-.Dd $Mdocdate: April 4 2021 $
+.\" $OpenBSD: sshd_config.5,v 1.334 2021/08/12 23:59:25 djm Exp $
+.Dd $Mdocdate: August 12 2021 $
.Dt SSHD_CONFIG 5
.Os
.Sh NAME
@@ -377,19 +377,24 @@ Specifies which algorithms are allowed for signing of certificates
by certificate authorities (CAs).
The default is:
.Bd -literal -offset indent
-ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
-sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,
+ssh-ed25519,ecdsa-sha2-nistp256,
+ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+sk-ssh-ed25519@openssh.com,
+sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256
.Ed
.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.
+If the specified list begins with a
+.Sq -
+character, then the specified algorithms (including wildcards) will be removed
+from the default set instead of replacing them.
+.Pp
Certificates signed using other algorithms will not be accepted for
public key or host-based authentication.
-.It Cm ChallengeResponseAuthentication
-Specifies whether challenge-response authentication is allowed (e.g. via
-PAM or through authentication styles supported in
-.Xr login.conf 5 )
-The default is
-.Cm yes .
.It Cm ChrootDirectory
Specifies the pathname of a directory to
.Xr chroot 2
@@ -874,15 +879,17 @@ for interactive sessions and
for non-interactive sessions.
.It Cm KbdInteractiveAuthentication
Specifies whether to allow keyboard-interactive authentication.
+All authentication styles from
+.Xr login.conf 5
+are supported.
+The default is
+.Cm yes .
The argument to this keyword must be
.Cm yes
or
.Cm no .
-The default is to use whatever value
.Cm ChallengeResponseAuthentication
-is set to
-(by default
-.Cm yes ) .
+is a deprecated alias for this.
.It Cm KerberosAuthentication
Specifies whether the password provided by the user for
.Cm PasswordAuthentication
@@ -1603,7 +1610,7 @@ For more information on KRLs, see the KEY REVOCATION LISTS section in
.It Cm RDomain
Specifies an explicit routing domain that is applied after authentication
has completed.
-The user session, as well and any forwarded or listening IP sockets,
+The user session, as well as any forwarded or listening IP sockets,
will be bound to this
.Xr rdomain 4 .
If the routing domain is set to
@@ -1749,17 +1756,17 @@ Enables the Pluggable Authentication Module interface.
If set to
.Cm yes
this will enable PAM authentication using
-.Cm ChallengeResponseAuthentication
+.Cm KbdInteractiveAuthentication
and
.Cm PasswordAuthentication
in addition to PAM account and session module processing for all
authentication types.
.Pp
-Because PAM challenge-response authentication usually serves an equivalent
+Because PAM keyboard-interactive authentication usually serves an equivalent
role to password authentication, you should disable either
.Cm PasswordAuthentication
or
-.Cm ChallengeResponseAuthentication.
+.Cm KbdInteractiveAuthentication .
.Pp
If
.Cm UsePAM
diff --git a/sshkey.c b/sshkey.c
index e92709dc1d2e..0dbc0d873b4f 100644
--- a/sshkey.c
+++ b/sshkey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshkey.c,v 1.116 2021/04/03 06:18:41 djm Exp $ */
+/* $OpenBSD: sshkey.c,v 1.119 2021/07/23 03:37:52 djm Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
* Copyright (c) 2008 Alexander von Gernler. All rights reserved.
@@ -3077,10 +3077,9 @@ sshkey_certify(struct sshkey *k, struct sshkey *ca, const char *alg,
int
sshkey_cert_check_authority(const struct sshkey *k,
int want_host, int require_principal, int wildcard_pattern,
- const char *name, const char **reason)
+ uint64_t verify_time, const char *name, const char **reason)
{
u_int i, principal_matches;
- time_t now = time(NULL);
if (reason == NULL)
return SSH_ERR_INVALID_ARGUMENT;
@@ -3099,16 +3098,11 @@ sshkey_cert_check_authority(const struct sshkey *k,
return SSH_ERR_KEY_CERT_INVALID;
}
}
- if (now < 0) {
- /* yikes - system clock before epoch! */
- *reason = "Certificate invalid: not yet valid";
- return SSH_ERR_KEY_CERT_INVALID;
- }
- if ((u_int64_t)now < k->cert->valid_after) {
+ if (verify_time < k->cert->valid_after) {
*reason = "Certificate invalid: not yet valid";
return SSH_ERR_KEY_CERT_INVALID;
}
- if ((u_int64_t)now >= k->cert->valid_before) {
+ if (verify_time >= k->cert->valid_before) {
*reason = "Certificate invalid: expired";
return SSH_ERR_KEY_CERT_INVALID;
}
@@ -3141,13 +3135,29 @@ sshkey_cert_check_authority(const struct sshkey *k,
}
int
+sshkey_cert_check_authority_now(const struct sshkey *k,
+ int want_host, int require_principal, int wildcard_pattern,
+ const char *name, const char **reason)
+{
+ time_t now;
+
+ if ((now = time(NULL)) < 0) {
+ /* yikes - system clock before epoch! */
+ *reason = "Certificate invalid: not yet valid";
+ return SSH_ERR_KEY_CERT_INVALID;
+ }
+ return sshkey_cert_check_authority(k, want_host, require_principal,
+ wildcard_pattern, (uint64_t)now, name, reason);
+}
+
+int
sshkey_cert_check_host(const struct sshkey *key, const char *host,
int wildcard_principals, const char *ca_sign_algorithms,
const char **reason)
{
int r;
- if ((r = sshkey_cert_check_authority(key, 1, 0, wildcard_principals,
+ if ((r = sshkey_cert_check_authority_now(key, 1, 0, wildcard_principals,
host, reason)) != 0)
return r;
if (sshbuf_len(key->cert->critical) != 0) {
@@ -3166,28 +3176,16 @@ size_t
sshkey_format_cert_validity(const struct sshkey_cert *cert, char *s, size_t l)
{
char from[32], to[32], ret[128];
- time_t tt;
- struct tm *tm;
*from = *to = '\0';
if (cert->valid_after == 0 &&
cert->valid_before == 0xffffffffffffffffULL)
return strlcpy(s, "forever", l);
- if (cert->valid_after != 0) {
- /* XXX revisit INT_MAX in 2038 :) */
- tt = cert->valid_after > INT_MAX ?
- INT_MAX : cert->valid_after;
- tm = localtime(&tt);
- strftime(from, sizeof(from), "%Y-%m-%dT%H:%M:%S", tm);
- }
- if (cert->valid_before != 0xffffffffffffffffULL) {
- /* XXX revisit INT_MAX in 2038 :) */
- tt = cert->valid_before > INT_MAX ?
- INT_MAX : cert->valid_before;
- tm = localtime(&tt);
- strftime(to, sizeof(to), "%Y-%m-%dT%H:%M:%S", tm);
- }
+ if (cert->valid_after != 0)
+ format_absolute_time(cert->valid_after, from, sizeof(from));
+ if (cert->valid_before != 0xffffffffffffffffULL)
+ format_absolute_time(cert->valid_before, to, sizeof(to));
if (cert->valid_after == 0)
snprintf(ret, sizeof(ret), "before %s", to);
diff --git a/sshkey.h b/sshkey.h
index 146c7ca8c222..6edc6c5a5dbd 100644
--- a/sshkey.h
+++ b/sshkey.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshkey.h,v 1.49 2021/01/26 00:49:30 djm Exp $ */
+/* $OpenBSD: sshkey.h,v 1.50 2021/07/23 03:37:52 djm Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
@@ -196,6 +196,8 @@ int sshkey_to_certified(struct sshkey *);
int sshkey_drop_cert(struct sshkey *);
int sshkey_cert_copy(const struct sshkey *, struct sshkey *);
int sshkey_cert_check_authority(const struct sshkey *, int, int, int,
+ uint64_t, const char *, const char **);
+int sshkey_cert_check_authority_now(const struct sshkey *, int, int, int,
const char *, const char **);
int sshkey_cert_check_host(const struct sshkey *, const char *,
int , const char *, const char **);
diff --git a/sshsig.c b/sshsig.c
index 4ce4674cd423..d0d401a326ee 100644
--- a/sshsig.c
+++ b/sshsig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshsig.c,v 1.20 2021/01/31 10:50:10 dtucker Exp $ */
+/* $OpenBSD: sshsig.c,v 1.21 2021/07/23 04:00:59 djm Exp $ */
/*
* Copyright (c) 2019 Google LLC
*
@@ -616,6 +616,7 @@ sshsig_verify_fd(struct sshbuf *signature, int fd,
struct sshsigopt {
int ca;
char *namespaces;
+ uint64_t valid_after, valid_before;
};
struct sshsigopt *
@@ -624,6 +625,7 @@ sshsigopt_parse(const char *opts, const char *path, u_long linenum,
{
struct sshsigopt *ret;
int r;
+ char *opt;
const char *errstr = NULL;
if ((ret = calloc(1, sizeof(*ret))) == NULL)
@@ -643,6 +645,34 @@ sshsigopt_parse(const char *opts, const char *path, u_long linenum,
ret->namespaces = opt_dequote(&opts, &errstr);
if (ret->namespaces == NULL)
goto fail;
+ } else if (opt_match(&opts, "valid-after")) {
+ if (ret->valid_after != 0) {
+ errstr = "multiple \"valid-after\" clauses";
+ goto fail;
+ }
+ if ((opt = opt_dequote(&opts, &errstr)) == NULL)
+ goto fail;
+ if (parse_absolute_time(opt, &ret->valid_after) != 0 ||
+ ret->valid_after == 0) {
+ free(opt);
+ errstr = "invalid \"valid-after\" time";
+ goto fail;
+ }
+ free(opt);
+ } else if (opt_match(&opts, "valid-before")) {
+ if (ret->valid_before != 0) {
+ errstr = "multiple \"valid-before\" clauses";
+ goto fail;
+ }
+ if ((opt = opt_dequote(&opts, &errstr)) == NULL)
+ goto fail;
+ if (parse_absolute_time(opt, &ret->valid_before) != 0 ||
+ ret->valid_before == 0) {
+ free(opt);
+ errstr = "invalid \"valid-before\" time";
+ goto fail;
+ }
+ free(opt);
}
/*
* Skip the comma, and move to the next option
@@ -661,6 +691,12 @@ sshsigopt_parse(const char *opts, const char *path, u_long linenum,
goto fail;
}
}
+ /* final consistency check */
+ if (ret->valid_after != 0 && ret->valid_before != 0 &&
+ ret->valid_before <= ret->valid_after) {
+ errstr = "\"valid-before\" time is before \"valid-after\"";
+ goto fail;
+ }
/* success */
return ret;
fail:
@@ -779,12 +815,13 @@ parse_principals_key_and_options(const char *path, u_long linenum, char *line,
static int
check_allowed_keys_line(const char *path, u_long linenum, char *line,
const struct sshkey *sign_key, const char *principal,
- const char *sig_namespace)
+ const char *sig_namespace, uint64_t verify_time)
{
struct sshkey *found_key = NULL;
- int r, found = 0;
+ int r, success = 0;
const char *reason = NULL;
struct sshsigopt *sigopts = NULL;
+ char tvalid[64], tverify[64];
/* Parse the line */
if ((r = parse_principals_key_and_options(path, linenum, line,
@@ -793,44 +830,63 @@ check_allowed_keys_line(const char *path, u_long linenum, char *line,
goto done;
}
- /* Check whether options preclude the use of this key */
- if (sigopts->namespaces != NULL &&
- match_pattern_list(sig_namespace, sigopts->namespaces, 0) != 1) {
- error("%s:%lu: key is not permitted for use in signature "
- "namespace \"%s\"", path, linenum, sig_namespace);
- goto done;
- }
-
if (!sigopts->ca && sshkey_equal(found_key, sign_key)) {
/* Exact match of key */
- debug("%s:%lu: matched key and principal", path, linenum);
- /* success */
- found = 1;
+ debug("%s:%lu: matched key", path, linenum);
} else if (sigopts->ca && sshkey_is_cert(sign_key) &&
sshkey_equal_public(sign_key->cert->signature_key, found_key)) {
/* Match of certificate's CA key */
if ((r = sshkey_cert_check_authority(sign_key, 0, 1, 0,
- principal, &reason)) != 0) {
+ verify_time, principal, &reason)) != 0) {
error("%s:%lu: certificate not authorized: %s",
path, linenum, reason);
goto done;
}
debug("%s:%lu: matched certificate CA key", path, linenum);
- /* success */
- found = 1;
} else {
- /* Principal matched but key didn't */
+ /* Didn't match key */
+ goto done;
+ }
+
+ /* Check whether options preclude the use of this key */
+ if (sigopts->namespaces != NULL &&
+ match_pattern_list(sig_namespace, sigopts->namespaces, 0) != 1) {
+ error("%s:%lu: key is not permitted for use in signature "
+ "namespace \"%s\"", path, linenum, sig_namespace);
+ goto done;
+ }
+
+ /* check key time validity */
+ format_absolute_time((uint64_t)verify_time, tverify, sizeof(tverify));
+ if (sigopts->valid_after != 0 &&
+ (uint64_t)verify_time < sigopts->valid_after) {
+ format_absolute_time(sigopts->valid_after,
+ tvalid, sizeof(tvalid));
+ error("%s:%lu: key is not yet valid: "
+ "verify time %s < valid-after %s", path, linenum,
+ tverify, tvalid);
goto done;
}
+ if (sigopts->valid_before != 0 &&
+ (uint64_t)verify_time > sigopts->valid_before) {
+ format_absolute_time(sigopts->valid_before,
+ tvalid, sizeof(tvalid));
+ error("%s:%lu: key has expired: "
+ "verify time %s > valid-before %s", path, linenum,
+ tverify, tvalid);
+ goto done;
+ }
+ success = 1;
+
done:
sshkey_free(found_key);
sshsigopt_free(sigopts);
- return found ? 0 : SSH_ERR_KEY_NOT_FOUND;
+ return success ? 0 : SSH_ERR_KEY_NOT_FOUND;
}
int
sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key,
- const char *principal, const char *sig_namespace)
+ const char *principal, const char *sig_namespace, uint64_t verify_time)
{
FILE *f = NULL;
char *line = NULL;
@@ -850,7 +906,7 @@ sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key,
while (getline(&line, &linesize, f) != -1) {
linenum++;
r = check_allowed_keys_line(path, linenum, line, sign_key,
- principal, sig_namespace);
+ principal, sig_namespace, verify_time);
free(line);
line = NULL;
linesize = 0;
@@ -871,7 +927,7 @@ sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key,
static int
cert_filter_principals(const char *path, u_long linenum,
- char **principalsp, const struct sshkey *cert)
+ char **principalsp, const struct sshkey *cert, uint64_t verify_time)
{
char *cp, *oprincipals, *principals;
const char *reason;
@@ -894,7 +950,7 @@ cert_filter_principals(const char *path, u_long linenum,
}
/* Check against principals list in certificate */
if ((r = sshkey_cert_check_authority(cert, 0, 1, 0,
- cp, &reason)) != 0) {
+ verify_time, cp, &reason)) != 0) {
debug("%s:%lu: principal \"%s\" not authorized: %s",
path, linenum, cp, reason);
continue;
@@ -925,7 +981,7 @@ cert_filter_principals(const char *path, u_long linenum,
static int
get_matching_principals_from_line(const char *path, u_long linenum, char *line,
- const struct sshkey *sign_key, char **principalsp)
+ const struct sshkey *sign_key, uint64_t verify_time, char **principalsp)
{
struct sshkey *found_key = NULL;
char *principals = NULL;
@@ -951,7 +1007,7 @@ get_matching_principals_from_line(const char *path, u_long linenum, char *line,
sshkey_equal_public(sign_key->cert->signature_key, found_key)) {
/* Remove principals listed in file but not allowed by cert */
if ((r = cert_filter_principals(path, linenum,
- &principals, sign_key)) != 0) {
+ &principals, sign_key, verify_time)) != 0) {
/* error already displayed */
debug_r(r, "%s:%lu: cert_filter_principals",
path, linenum);
@@ -977,7 +1033,7 @@ get_matching_principals_from_line(const char *path, u_long linenum, char *line,
int
sshsig_find_principals(const char *path, const struct sshkey *sign_key,
- char **principals)
+ uint64_t verify_time, char **principals)
{
FILE *f = NULL;
char *line = NULL;
@@ -996,7 +1052,7 @@ sshsig_find_principals(const char *path, const struct sshkey *sign_key,
while (getline(&line, &linesize, f) != -1) {
linenum++;
r = get_matching_principals_from_line(path, linenum, line,
- sign_key, principals);
+ sign_key, verify_time, principals);
free(line);
line = NULL;
linesize = 0;
diff --git a/sshsig.h b/sshsig.h
index 67794a971478..b725c7d7acd1 100644
--- a/sshsig.h
+++ b/sshsig.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshsig.h,v 1.9 2020/08/31 00:17:41 djm Exp $ */
+/* $OpenBSD: sshsig.h,v 1.10 2021/07/23 03:37:52 djm Exp $ */
/*
* Copyright (c) 2019 Google LLC
*
@@ -86,7 +86,7 @@ int sshsig_dearmor(struct sshbuf *sig, struct sshbuf **out);
* an allowed_keys file. Returns 0 on success.
*/
int sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key,
- const char *principal, const char *ns);
+ const char *principal, const char *ns, uint64_t verify_time);
/* Parse zero or more allowed_keys signature options */
struct sshsigopt *sshsigopt_parse(const char *opts,
@@ -102,6 +102,6 @@ int sshsig_get_pubkey(struct sshbuf *signature, struct sshkey **pubkey);
* 0 on success.
*/
int sshsig_find_principals(const char *path, const struct sshkey *sign_key,
- char **principal);
+ uint64_t verify_time, char **principal);
#endif /* SSHSIG_H */
diff --git a/version.h b/version.h
index b1cdf851daee..e699e103824e 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
-/* $OpenBSD: version.h,v 1.90 2021/04/16 03:42:00 djm Exp $ */
+/* $OpenBSD: version.h,v 1.91 2021/08/20 03:22:55 djm Exp $ */
-#define SSH_VERSION "OpenSSH_8.6"
+#define SSH_VERSION "OpenSSH_8.7"
#define SSH_PORTABLE "p1"
#define SSH_RELEASE SSH_VERSION SSH_PORTABLE